Job Description
Summary
The role:
- We are seeking a skilled P2P Networking Protocol Engineer to work on the implementation and refinement of P2P networking protocols.
- Your primary focus will be on advancing the nim-libp2p implementation by further architecting and developing its capabilities,
- adhering to existing specifications, and also improving and enhancing existing protocols.
- Your responsibilities include collaborating across teams to address networking-specific needs, ensuring interoperability, scalability, and security in distributed systems.
- You will play a critical role in researching and developing innovative solutions, pushing the boundaries of P2P networking technology to meet evolving demands effectively.
Key responsibilities
- 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 engineering background
- Experience with encryption and key exchange mechanisms
- Experience with low level/strongly typed languages (C++/Go/Rust/Nim 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
Bonus points
- 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
Interview Process
- Interview with our Talent Team
- Interview with team member from the Vac P2P team
- Pair programming interview with team member from the Vac P2P team
- Interview with Vac team lead
Skills
- C++
- Critical Thinking
- Development
- Java
- Networking
- Rust
- Team Collaboration