Research Engineer, ConsensusLab

  • Protocol Labs
  • Remote
  • Oct 28, 2021
Full time Data Engineering Operations Project Management Research

Job Description

We are seeking an experienced and self-motivated distributed systems engineer to join us in building next-generation, globally scalable decentralized systems.

ConsensusLabConsensusLab is a newly formed group in Protocol Labs Research that focuses on consensus and related distributed computing problems that lie at the heart of decentralized systems. We help engineering teams by addressing key bottlenecks in operational systems and networks (such as Filecoin, IPFS and libp2p) and collaborate with academia and the wider open-source community to deliver world-class research in understanding how decentralized systems scale and interconnect. 

Consensus Research at Protocol Labs has delivered significant impact to our operational systems. Our work powers the largest Decentralized File Storage Network in the world. With the launch of ConsensusLab, we will be greatly expanding our research on the topic, with foci on consensus protocols, sharding, and parallel execution. Learn more about our future plans in the ConsensusLab launch announcement.

We are hiring a Research Engineer that wants to get in on the ground floor and help ConsensusLab realise our shared vision. The engineer will participate in the designing of new protocols, and the subsequent prototyping and evaluation. The work will also extend into the adjacent, including testing and identifying problems with existing production systems, surveying academic literature, contributing to written publications, and delivering production-ready modules to project teams.

Research at Protocol LabsOur research scientists and engineers are granted both the freedom to develop their knowledge by working on novel applications, and a responsibility to contribute those skills toward advancing the flagship projects of Protocol Labs.  

We believe in an Open Source and Open Collaboration approach to creation. We keep our egos checked at the door and work as a team to tackle the many hard research and engineering challenges required to make systems resilient.

As Research Engineer at ConsensusLab you will…

    • Develop novel consensus mechanisms  and protocols; study and learn from existing ones.
    • Validate proposals through prototypes and proofs of concept.
    • Quantify performance, security, and other properties of existing and proposed systems.
    • Develop prototypes into production-ready implementations.
    • Pay special attention to distributed testing, code reusability and modularity. 
    • Apply engineering rigor, craftsmanship, and structure to research.
    • Collaborate with the broader research and open-source community.
    • Work in a fully asynchronous and remote team.

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

    • MSc degree in Computer Science or related field, or equivalent practical experience.
    • Programming experience and proficiency in one or more of the following: Go, Rust, JavaScript, C, C++, Haskell, OCaml, Python, Clojure.
    • Good systems engineering skills with previous proven experience.
    • Experience with high performance distributed systems design and development, including benchmarking and profiling. 
    • Experience in discovering and addressing network, compute and memory bottlenecks in a complex distributed system. 
    • Solid background in security and networking. 
    • Adept at lifting new software projects single-handedly, if necessary.
    • Excellent written and verbal communication skills.
    • Pragmatic “get it done” attitude and the ability  to provide and receive constructive feedback.

Bonus Points...

    • PhD degree in a relevant topic or experience working in formal research environments.
    • Experience with one or more of: distributed data structures, CRDTs, (Byzantine) fault-tolerant consensus protocols, peer-to-peer connectivity, distributed execution, distributed file systems, distributed databases, novel network architectures or protocols, formal verification, and systems based on specialized hardware.
    • A record of state-of-the-art innovation in distributed systems with a proven implementation record. 
    • Experience with Protocol Labs projects (e.g. Filecoin, IPFS, libp2p) 
    • Experience in developing robust, reusable, and maintainable code.

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.