Distributed Computation Engineer

Remote - Research Development

Protocol Labs, Inc. logo

Protocol Labs, Inc.

Protocol Labs is building the next generation of the internet.

View all employer listings

Find more jobs like this

Distributed Computation Engineer (WASM/VM)
Define, implement and extend virtual machine concepts to the next generation of p2p, decentralized computation over content-addressed data.
We seek talented engineers that are excited to work on a new model of trustless and verifiable computation - where code is distributed over blockchains and executed next to specific copies of data. If successful, we will transform data processing for large-scale datasets, improve cost and efficiency, and open up data processing to larger audiences. You will be part of this project from the very beginning.We are looking for people who understand the core principles of operating systems, code execution, and distributed systems. You will understand, implement and improve best-in-class compiler and compute environments (WASM & LLVM), help us design and build open-source code, and ensure that the system is easy to get started with and virtually unlimited in scale. Together, our team will change the way people interact with data.
You’ll also help engineer and deploy the Filecoin Virtual Machine, a runtime-agnostic WASM-based environment for executing on-chain smart contracts. Together we’ll apply the principles of actor-orientation, novel consensus techniques, and formal verifiability to achieve high throughput and correct-by-construction transactionality. You will also help design and implement native FVM interoperability with other chains, as well as developer tooling and SDKs to make the FVM developer journey highly productive and enjoyable.
What is Research Development at Protocol Labs
At the Research Development group, we translate theory into reality. We take on the most challenging problems that block the adoption of planetary-scale decentralized technologies. Our approach is both pragmatic, rigorous, and must have well-defined, scoped, and measurable milestones. We also interface with many other teams and open source projects, ensuring that we take the best path to get technology into the hands of most people, whether we have invented it or not.Our philosophy means you will be able to execute in a rich and fertile ground for ideation and prototyping, with the launchpad for shipping those new ideas into reality, testing them in real-world scenarios, and creating maximum impact for the research performed.
Bringing formal execution to blockchains is the next evolution of distributed systems. When users can both request and deploy arbitrary programs in a verifiable way, they will be able to use new paradigms with the efficiency and reliability of a globally distributed network. Like Filecoin, we will stand on the shoulders of the giants before us and extend the best-in-class tools to new areas. But we cannot merely be great technically; success will hinge on marrying cutting-edge research with the table stakes of a clean API, well-designed SDK, and intelligent contracts that meet users where they are. Our success will transform the way entire classes of problems are solved. We would love you to be a part of our vision.

Responsibilities:

  • Prototype, develop and ship the first smart contract implementation that operates on the Filecoin chain.
  • Define compatibility with and support for existing smart contract execution tool chains and implementations such as EVM and Solidity.
  • Collaborate with the IPFS, Filecoin, libp2p teams to ensure support with existing systems as well as contribute to other projects to support FVM.
  • Create or maintain software libraries and programs depended on by other systems and applications.
  • Quantify performance, security, and other properties of existing and proposed systems; suggest improvements based on the data.
  • Partner with academia and the broader community in exploring new and out-of-the-box approaches to designing and implementing next-generation decentralized systems. 
  • Work in a fully asynchronous and remote team.

Requirements:

  • BSc degree in Computer Science, Electrical & Computer Engineering, or related field, or equivalent practical experience (though a “traditional” education or degree is NOT required).
  • Programming experience and proficiency with Rust is ideal, but programming experience in one or more of the following is required: Go, JavaScript, C, C++, Haskell, OCaml, Python, Clojure.
  • Ability to analyze, criticize, and improve the design of complex computation systems.
  • Excellent written and verbal communication skills.
  • Experience contributing to research communities and/or efforts, including publishing conference papers.
  • Pragmatic “get it done” attitude and the ability  to provide and receive constructive feedback.

Bonus Requirements:

  • You have a record of demonstrating state-of-the-art innovation in distributed systems and virtual machines with a proven publication record or project history. (Potentially including but not limited to distributed data structures, novel network architectures and protocols, consensus protocols, peer-to-peer connectivity, distributed execution, distributed file systems, network optimization, graph traversals, and dynamic network analysis.)
  • You’re comfortable digging through new academic literature on graph theory or IETF RFCs for inspiration while problem-solving.
  • You believe that you don’t really understand something until you can explain it to a six-year-old, and your experience mentoring or writing technical explainers or blog posts demonstrates that you enjoy testing your understanding against this metric.
  • You’ve demonstrated technical project management skills and the ability to design and execute on a research agenda.
  • You have experience setting up and managing research collaborations or contractors.
  • Proven success of influencing and developing productive working relationships with diverse technical teams and stakeholders.
  • Strong technical and problem solving skills.
  • Excellent written and verbal communication skills
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.

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.
Job region(s): North America
Job stats:  1  0  0

Explore more Remote Work and WFH career opportunities