Research Scientist, Distributed Systems at Protocol Labs

331 days ago
✅ 20 applications

Seeking an experienced distributed systems researcher to help us in our attempts to smoothly distribute systems that no one has distributed before.

Research at Protocol Labs
This isn't an ordinary Research Scientist position. Your expertise is mostly driven by both a hunger to learn and a need to work toward solving important problems. Our research scientists are granted both the freedom to develop your 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 researchers who can discover, conceive of, incorporate, and implement novel distributed and decentralized systems.

As Research Scientist at Protocol Labs 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.
-Quantify performance, security, and other properties of existing and proposed systems; suggest improvements based on the data.

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.
-Programming experience and proficiency in one or more of the following: Go, Rust, JavaScript, C, C++, Haskell, OCaml, Python, Clojure.
-Experience contributing to research communities and/or efforts, including publishing papers at conferences.
-Excellent written and verbal communication skills.

Bonus Points
-You have a record of demonstrating state-of-the-art innovation in distributed systems with a proven publication record or project history. Potentially including but not limited to distributed data structures, consensus protocols, peer-to-peer connectivity, distributed execution, distributed file systems, novel network architectures or protocols
-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’ve demonstrated the ability to design and execute on research agenda.
-You have experience setting up or managing research collaborations or contractors.
-You’ve attempted to apply principles from Byzantine Fault Tolerant consensus protocols to games like The Resistance, Werewolf, or Mafia.


Go, Rust, JavaScript, C, C++, Haskell, OCaml, Python, Clojure


Dependent on factors