Interfaces & Tooling Engineer
Penumbra brings privacy to proof-of-stake, allowing users to transact, stake, swap, and marketmake without disclosing their personal information, account activity, or trading strategies to the entire world – while still permitting selective disclosure to appropriate parties. Working at Penumbra Labs is a unique opportunity to work on exciting problems and build new financial infrastructure, and offers a collaborative work environment and a meaningful stake in the creation of a new protocol.
The Interfaces & Tooling Engineer acts as a collaboration point between protocol, core client, tooling, and interface design/development. Penumbra’s modular client design has been made to flexibly and efficiently support a variety of clients under real world usage. In this role, you will directly contribute to translating protocol design and core client specifications into interfaces and other clients (web, browser extension, mobile, etc.) as well as lead work with other ecosystem contributors teams.
Our goal is to make the user and developer experience as seamless as possible, abstracting away Penumbra-specific complexities to third-party developers and users alike, while preserving a legible and expressive representation of the protocol’s functions for all.
This role is critical for bringing a core protocol implementation into network adoption to developers, traders, and consumers. The right candidate will drive interface/experience development and ecosystem/team capabilities while documenting those learnings to provide valuable feedback back to protocol development for iteration.
This role sits at the intersection of client development, solution architecture/engineering, ecosystem development, and developer relations/experience.
Expertise in writing production grade applications and libraries with an emphasis on test coverage and reusability
Expertise in modern web development technology stack (Typescript, React, etc)
Ability to successfully drive agile work processes and ship software across multiple remote contributor teams and a variety of ecosystem stakeholders
Clear communication and project management skills, ability to slide from engineer to program lead to supporting advisor
Ability to write clear documentation for technical and non-technical audiences based on protocol specifications and client APIs
Strong grasp of system design and ability to learn how different layers of the Penumbra and Cosmos stack interact
Be able to synthesize feedback for protocol requirements and system optimizations from the interface and tooling perspective
Nice to have:
Experience with blockchain systems and understanding of web 3 development patterns
Familiarity with applied cryptographic technologies
Experience with Cosmos SDK and/or Tendermint
Experience with Rust and WebAssembly
Experience contributing to open source projects and communities
Who you are
You have the aforementioned engineering and collaboration skills.
You’ll be working in our nascent interfaces stack from day one. You don’t need to be a Rust expert (though you could become one on the job), but you should have an ability to interact with Rust code, so you can begin meaningfully engaging with the core implementation code within a few months of joining the team.
You have strong skills for public, asynchronous, remote work
Penumbra Labs is a remote organization, building in public. You should have excellent written and verbal communication skills to coordinate with and make your work legible to the rest of the team and – as the project grows – to outside collaborators and stakeholders. The COVID-19 situation remains uncertain, but, were it not for the pandemic, we’d ideally sync up in person about once per quarter.
You’re excited to build the systems you want to see in the world
You’ll be building new, decentralized infrastructure for economic coordination. You should be interested in thinking about how the systems you’re building reflect your values, and you should be excited about the challenge of trying to build solutions, not just analyze problems.
You have any of many different backgrounds and skills
The team that builds Penumbra will need deep technical expertise across a wide range of specialties. But it’s not necessary that each team member has expertise in all of those specialties, or particular formal credentials for their skills. If you’re excited by what you’ve read so far, please don’t hesitate to apply, even if:
- you don’t have a university degree in computer science,
- you don’t have X years of professional experience in Rust or Y years of experience as a programmer, or
- you don’t have experience with cryptography, zero-knowledge proofs, blockchains, economic mechanism design, or any other specific domain details.
How to apply
Apply using the form with:
1. your name and pronouns,
2. your resume/cv,
3. a brief description of your interest in the role,
4. a sample or description of your technical work.
This sample could be public links to code you’ve written, or, if your best work has happened behind closed doors, it can be a description of what you built in enough detail for us to understand it.