Libp2p Networking Engineer
Status is building the tools and infrastructure for the advancement of a secure, private, and open web3.
With the high level goals of preserving the right to privacy, mitigating the risk of censorship, and promoting economic trade in a transparent, open manner, Status is building a community where anyone is welcome to join and contribute.
As an organization, Status seeks to push the web3 ecosystem forward through research, creation of developer tools, and support of the open source community.
As a product, Status is an open source, Ethereum-based app that gives users the power to chat, transact, and access a revolutionary world of DApps on the decentralized web. But Status is also building foundational infrastructure for the whole Ethereum ecosystem, including the Nimbus ETH 1.0 and 2.0 clients, the Keycard hardware wallet, and the Waku messaging protocol (a continuation of Whisper).
As a team, Status has been completely distributed since inception. Our team is currently 100+ core contributors strong, and welcomes a growing number of community members from all walks of life, scattered all around the globe.
We care deeply about open source, and our organizational structure has minimal hierarchy and no fixed work hours. We believe in working with a high degree of autonomy while supporting the organization's priorities.
P2p networks are at the heart of decentralized technologies and libp2p has quickly gained popularity as the goto p2p stack. At Status, we’ve successfully implemented and deployed a full fledged libp2p stack and it’s now powering the Nimbus Ethereum 2 client. The libp2p stack is also at the heart of other crucial Status projects and its usage within the organization and beyond is only going to increase.
Our implementation is written in Nim - an efficient, expressive and elegant programming language.
You’ll be working on:
- Implementing p2p networking protocols
- Further architecture and development of the nim-libp2p implementation
- Implement libp2p protocols according to existing specifications
- Research and development of new p2p protocols and primitives
- Working across teams to help with networking specific needs
You ideally will have:
- A passion for decentralization, p2p and privacy-preserving technology
- Strong academic or engineering background
- Experience with encryption and key exchange mechanisms
- Experience with low level/strongly typed languages (C/C++/Go/Rust or Java/C#)
- Experience building networking-heavy applications and p2p networking specifically
- Experience implementing with core networking protocols such as Websockets and/or Quic
- Familiar with p2p building blocks such as gossiping, routing and discovery (DHTs), and Nat traversal
- A strong alignment to our principles: https://status.im/about/#our-principles
Bonus points if:
- Experience working remotely
- Experience working for an open source organization
- Previous experience with libp2p - preferably as a direct contributor to the codebase or specifications
- Or, experience with other off-the-shelf networking stacks such as devp2p
- Experience with the Nim language
[Don’t worry if you don’t meet all of these criteria, we’d still love to hear from you anyway if you think you’d be a great fit for this role. Just explain to us why in your cover letter].
The hiring process:
- Interview with Pepper, People Ops
- Interview with Tanguy / Mark from the Libp2p Team
- Interview with Dmitriy, Libp2p Team Lead
- Interview with Jacek, Head of Research
The steps may change along the way if we see it makes sense to adapt the interview stages, so please consider the above as a guideline.
We are happy to pay salaries in either 100% fiat or any mix of fiat and/or crypto. For more information regarding benefits at Status: https://people-ops.status.im/tag/perks/
Get to know us:
Find out about the libp2p project and team here: https://github.com/status-im/nim-libp2p