Sr. Software Engineer
MetaMask aims to democratize access to the decentralized web. We are pursuing this mission through our desktop browser extension (https://github.com/MetaMask/metamask-extension) and our mobile app (https://github.com/MetaMask/metamask-mobile), both of which enable millions of users and builders to work with the Ethereum blockchain.
MetaMask includes a secure identity vault, providing a user interface to manage your identities on different sites and sign transactions and messages on decentralized networks. This is paired with an API that allows developers to connect their applications to decentralized networks and propose transactions to users.
We are looking for our next teammate, a Senior Software Engineer who can bring passion and focus to the development of the apis, tools and systems we build for developers.
We are currently entering a critical phase of development for the MetaMask plugin system known as “Snaps”. This system provides developers with an API to extend the functionality of MetaMask, enabling developers to provide users (and other developers) with access to new networks, signing strategies, business logic and more.
Joining our team at this time will be an opportunity to be at the forefront of this project and other initiatives to empower the builders of the decentralized web.
Who We Are Looking For
For the role of Senior Software Engineer, we are looking for someone who will:
- Lead the development of APIs, tools and libraries across our suite of open source projects: https://github.com/MetaMask
- Be able to listen to, empathize with and deeply understand the needs of current and prospective developers who build on top of MetaMask
- Improve MetaMask through effective review of pull requests, auditing and refactoring the codebase, and improving our test suite
- Feel comfortable writing documentation, delivering workshops and helping our developer community work through bugs and confusions
- Be proficient and thoughtful with asynchronous and synchronous communication, giving and receiving feedback, and working independently and with a team
- Be successful working within a fully remote environment
- Bring respect, patience, and empathy to every interaction and relationship with coworkers and the community
- Bring hustle, enthusiasm, heart and a love of shipping code and fixing bugs to their work
We are looking for someone with multiple years of production experience.
Successful candidates will be proficient, or be able to quickly become proficient, in the following areas:
- Architecting and implementing APIs (for servers or services) in a Node.js context
- Some or all of: Node.js streams, Service Workers, generators, Observables, WebSockets
- Browsers and browser APIs
- Front-end build tools: Grunt, Gulp, webpack, or similar
- Testing: unit, integration, end-to-end
While not necessary, experience in any of the following areas would be nice to have:
- Developer evangelism / developer relations
- Dapp development on ethereum or similar protocols
- Security engineering
- Low-level blockchain infrastructure
- Ethereum Improvement Proposal (EIP) authoring and shepherding