ChainSafe Systems, a blockchain research and development company, is seeking dedicated Protocol Engineers to join our Forest (Filecoin implementation in Rust) team.
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.
- 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
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
ChainSafe is a remote-first company with an international team. We offer opportunities for personal and professional learning and growth, value autonomy and responsibility, and have a results-driven environment, flexible work hours and time-off policy, as well as competitive salary.