Software Engineer, Distributed Systems


Protocol Labs

Role Location

  • Remote


101 - 250 people


1100 Gough St
San Francisco, CA, 94109, US

Tech Stack

  • IPFS
  • Git
  • Github
  • Go
  • Node
  • Node.js
  • C
  • p2p
  • React JS
  • Rust
  • WebAssembly
  • libp2p
  • TypeScript

Role Description

We are hiring 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 that 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.

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 a Distributed Systems Software 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, Universal JavaScript, or related languages (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)

What’s it like to work at Protocol Labs?

Protocol Labs mission is to improve humanity’s most important technology, the Internet. We build protocols, systems, and tools to improve how it works. Today, we are focused on how we store, locate, and move information. Our projects include IPFS, Filecoin, libp2p, and more.

As a distributed team, we hire anywhere in the world, and at various levels of experience (entry, senior, staff). We look for people with unique perspectives and diverse backgrounds.

We have a great benefits package, including parental leave, contributions to your retirement, competitive pay, and unlimited time off. For U.S.-based employees, we also provide platinum-level health, dental, and vision coverage for you and your family.

About Protocol Labs

Protocol Labs is building the distributed web, though foundational protocols, primitives, and tooling for peer-to-peer collaboration such as:

  • IPFS is a protocol & network for storing and sharing data in a distributed file system.
  • Filecoin is a token-incentivized data storage network for provable data preservation (
  • libp2p is the peer-to-peer networking library of web3 used by IPFS, Filecoin, Ethereum2, Polkadot, & more.
  • IPLD is the content-addressed data model of web3.
  • DRAND is a verifiable, unpredictable, and unbiased distributed randomness beacon as a service.

Our systems improve how the web works, based on protocols like Git, DHTs, BitTorrent, Bitcoin, and SFS. We are focused on providing (a) a data-locality aware, secure network stack for distributed applications, and (b) a model for ambient and network-efficient storage.

Company Culture

  • We focus on value-creation.
  • We work on high-impact problems.
  • We do things right, and we ship them.
  • We do groundbreaking work in our fields.
  • We believe learning and inventing go hand-in-hand.
  • We align incentives, and work across organizations.
  • We form brilliant and highly capable teams of people.
  • We value ownership and autonomy over large projects.
  • We work with flexible hours from all over the world.
  • We get together in exotic and inspiring locations.
Interested in this role?
Skip straight to final-round interviews by applying through Triplebyte.