Protocol Labs

Software Engineer, Distributed Systems

Hiring an experienced distributed systems enthusiast with a passion for building performant and resilient applications.

Apply now

Protocol Labs believes the internet has become humanity's most important technology. We build protocols, systems, and tools to improve how it works. Today, we are focused on how we store, locate, and move information.

We are seeking Distributed Systems Engineers to work on the JavaScript and Go implementations of protocols like IPFS, Filecoin and libp2p.

Enthusiasm about the decentralized web and blockchains has brought an influx of people who want to use distributed systems but who don't know how to build the necessary infrastructure. We are building that infrastructure. To continue this work, we're looking for people who thoroughly understand the principles of distributed systems and who will lean into the challenges of applying those principles in open-source code that will be deployed worldwide.

Just like the internet itself, we are a fully distributed team spread across the globe. We don’t let geography or borders define us -- we want to work with talented and intellectually curious people of diverse backgrounds and different perspectives.

Distributed Systems Engineering at Protocol Labs

Distributed systems engineering lies at the center of many projects at Protocol Labs. With IPFS, libp2p, Filecoin and other related projects we are laying the foundation for a more resilient, more secure, distributed version of the web. This requires rigorous engineering from protocol design through all the phases of implementation. We strike a balance between pragmatism (put it on a ship ⛴), deeply informed protocol design, and strict application of strong engineering principles. All of this happens in an environment defined by curiosity, passion, and a love for open source.

As an Infrastructure Engineer at Protocol Labs you might …

  • Create elegant, reusable open-source solutions to hard distributed systems problems

  • Contribute to steering and maintenance of the JavaScript or Go implementations of IPFS, Filecoin, libp2p and similar open source projects

  • Participate in the design of performant and resilient applications

  • Integrate research results into real programs

  • Provide code reviews, guidance, and encouragement for open source contributors around the world

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

  • Significant experience building applications using Go or Universal JavaScript (required)

  • Solid understanding of distributed systems principles (required)

  • A good understanding of the Web's application model (required)

  • Literacy with cryptographic principles and practices

  • Experience Implementing distributed software systems and applications that overcome the challenges of p2p networking

  • A fiery passion for busting through NATs

  • Experience leading and guiding Open Source projects (preferred)

  • Experience Implementing DHTs, consensus (Raft/PAXOS) and/or blockchain-based protocols (preferred)

  • Experience with 1 or more of the following: Smart Contracts, storage platforms, UNIX file systems, VMs (preferred)

  • Proficiency at tuning network applications for high and low bandwidth settings (preferred)


Apply now