Skip to main content
Posted September 02, 2021
ChainSafe Systems

Protocol Engineer, Forest (Rust)

Remote, OR 97458, USA Remote Full Time
Reference: 743999769790643

As a protocol engineer for Forest, you will join a small team and develop and maintain the Rust implementation of the Filecoin blockchain protocol,...

As a protocol engineer for Forest, you will join a small team and develop and maintain the Rust implementation of the Filecoin blockchain protocol, often referred to as a node or a blockchain client. You will be tasked with implementing new features, occasionally from a technical specification or a reference implementation; maintaining existing features; and ensuring the implementation stays compatible with the current specification of the protocol, and updating the code when upgrades are made to the network. Every implementation is open-source. The position is full-time and remote-friendly.

As a protocol engineer, you have a desire to implement and deploy novel protocols that have never been implemented before in that language, you have a passion for open-source software and understanding that you will be maintaining code that will be widely used on a decentralized network, you are able to clearly communicate and document your thoughts, and you have a desire to contribute to the space.

Responsibilities

  • Read and understand a protocol specification and be able to break it into issues and turn it into Rust code
  • Design and implement new features for the client
  • Refactor and improve existing features in the client
  • Ensure the client says compatible with the other client implementations
  • Collaborate with and assist team members on their issues
  • Collaborate with other protocol implementation teams to share knowledge on the protocol, whether it be high-level protocol details or technical details that are common to every client
  • Communicate effectively with the team and document your code and the client as a whole

Qualifications

Required skills and experience

  • Proficiency in Rust
  • Knowledge of system design in Rust
  • Be able to proactively dive into novel territory and share knowledge on what you've learned

Nice to have

  • Experience with Go, as the Filecoin reference implementation (Lotus) is written in Go
  • Experience with blockchain protocols, whether it be usage of a blockchain API, knowledge of how a blockchain operates, or any other experience
  • Experience with distributed systems, peer-to-peer systems, network programming, and cryptography
  • Experience writing software from a technical specification or a reference implementation
  • Experience maintaining a large codebase with many components and keeping it well-designed, future-proofed, and modular
  • Experience with documenting a large codebase, both for internal and user-facing components
  • Familiarity with open-source software principles



This listing expired on Oct 16. Applications are no longer accepted.

Below are some other jobs we think you might be interested in.