Research Engineer, ConsensusLab
Remote - Research Development /
Research Development /
We are seeking an experienced and self-motivated distributed systems engineer to join us in building next-generation, globally-scalable decentralized systems.
ConsensusLab 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 and today, these power the largest Decentralized File Storage Network in the world that continues to rapidly grow.
Learn more about this work through one of the following lectures:
Research at Protocol Labs
This isn't an ordinary Research Engineer position. Your expertise is mostly driven by both a hunger to learn and a need to work toward solving important problems. Our 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. You’ll feel at home working with us if your knowledge and optimism enables you to name a few unusual possible approaches when you’re first presented with a problem that people often consider intractable.
We understand that networks are more than the sum of their parts. Your interest in distributed systems is likely matched by a conviction that some systems should be decentralized, in spite of inherent difficulties in doing so. Maybe you agree that the internet is as important as it is fragile and novel improvements in robustness, fault tolerance, consensus, security, performance, and availability, are required to protect and improve it. We seek distributed systems engineers who can understand well existing complex distributed systems and can quickly prototype and later potentially help implement in production novel features and subsystems of a broader decentralized system.
As Research Engineer at ConsensusLab you will…
- Participate in cutting-edge research in distributed systems.
- Develop novel systems and protocols; study and learn from existing ones.
- Study potential improvements or new parts of systems like IPFS, libp2p, and Filecoin.
- Work with the development team on turning the research into implementations.
- Contribute and possibly lead system design and specification.
- Quantify performance, security, and other properties of existing and proposed systems; suggest improvements based on the data.
- Pay special attention to distributed testing, code reusability and modularity.
- Apply engineering rigor, craftsmanship, and structure to research, improving its predictability, clarity regarding progress, and enhancing collaboration.
- Collaborate with the broader open-source community in helping broaden the outreach and impact of our research as well as harvest synergies across ecosystems.
- Work in a fully asynchronous and remote team.
You may be a fit for this role if you have...
- MS or PhD degree in Computer Science or related field, or equivalent practical experience.
- 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.
- Good understanding of design tradeoffs in distributed systems.
- 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, self-directed, coupled with critical thinking and capability of providing constructive feedback.
- You have a record of demonstrating state-of-the-art innovation in distributed systems with a proven implementation record. Potentially including but not limited to distributed data structures, (Byzantine) fault-tolerant consensus protocols, peer-to-peer connectivity, distributed execution, distributed file systems, distributed databases, novel network architectures or protocols, systems based on specialized hardware, etc.
- You have already contributed to Protocol Labs open-source projects (e.g., Filecoin, IPFS, libp2p).
- Proven experience in developing robust, reusable, and maintainable code.
- Proven experience in developing reproducible experiments and simulations.
- Prior contributions to other open-source projects.
- You believe that if you can’t explain something to a six-year-old, then you don’t understand it yourself, and your experience mentoring or writing technical explainers or blog posts demonstrates that you enjoy testing your understanding against this metric.
- You have experience setting up or managing collaborations or contractors.
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.