Distributed Systems Software Engineer, PL Network

Protocol Labs


About the Protocol Labs Network

The Protocol Labs Network (PLN) is a community of open source teams, projects, and organizations focused on researching, developing, and deploying network protocols to improve humanity’s most influential technology, the Internet.

The groups are supported by Protocol Labs (PL) through grants and investments – think of it as a VC + crypto fund model – and are built on top of PL’s layer 0 and layer 1 protocols, such as IPFS, IPLD, Filecoin, libp2p, etc.

As this ecosystem grows, these projects invest in the network itself, and the network grows along with it, which in turn benefits and incentivizes this ongoing evolution of Web2 to Web3.

PLN is made up of 450+ projects, companies, and organizations.


About this Distributed Systems Software Engineer position

  • This Distributed Systems Software Engineer posting is an exciting opportunity to explore unified engineering roles with similar functional needs at either PL or PLN.

  • Support launch of new products & services by participating in system design, building and deploying software-defined infrastructure, capacity planning, and operational readiness.

  • Engage and educate the community, from users to contributors.

  • Every hire through this pipeline will attend a 6-week onboarding program, , uniquely designed to bridge the knowledge and skills gap between Web2 and Web3.

  • The Launchpad program includes a week-long colocation event, where you can build community and learn about projects within the network.

    We’ve held in Iceland, Amsterdam, Austin, Paris, Palo Alto, and more.

You may be a fit for this role if you have:

  • BSc degree in Computer Science, Electrical & Computer Engineering, or related field, or equivalent practical experience (though a “traditional” education or degree is NOT required).

  • Programming experience and proficiency with Rust is ideal, but programming experience in one or more is required: Go, JavaScript, C, C++, Haskell, OCaml, Python, and Clojure.

  • Ability to analyze, criticize, and improve the design of complex distributed systems.

  • Pragmatic “get it done” attitude and the ability to provide and receive constructive feedback.

  • Excellent written and verbal communication skills on both technical and non-technical issues.

  • Strong technical and problem-solving skills.

Bonus Points:

  • Record of demonstrating state-of-the-art innovation in distributed systems and virtual machines with a proven project history (potentially including but not limited to distributed data structures, novel network architectures and protocols, consensus protocols, peer-to-peer connectivity, distributed execution, distributed file systems, network optimization, graph traversals, and dynamic network analysis).

  • Experience contributing to research communities and/or efforts, including publishing conference papers.

  • Strong interest and curiosity in building distributed and/or p2p software systems and Web3.

  • You believe you don’t understand something until you can explain it to a six-year-old.

    Your experience mentoring or writing technical explainers or blog posts demonstrates that you enjoy testing your understanding against this metric.

  • Proven success in influencing and developing productive working relationships with diverse technical teams and stakeholders.

  • Experience working with IPFS, IPLD, libp2p.