Search Jobs
Protocol Engineer, Gossamer/Polkadot
Remote, FL US | Fully Remote TELECOMMUTE US
Job Description
Our client is a leading blockchain research and development firm specializing in infrastructure solutions for the decentralized web. Alongside their public goods work within significant ecosystems such as Ethereum, Polkadot, Filecoin, and more, they create solutions for developers across the web3 space utilizing their expertise in gaming, bridging and decentralized storage. As part of the mission to build innovative products for users and better tooling for developers, This is a company embodied an open-source and community-oriented ethos.
If hired, you’ll be part of a global remote team that believes in the community’s vital importance and contributes to advancing humanity with open-source and decentralized technology
Skills checklist before reading more on this post:
- Tech stack includes Go, Rust, and TypeScript
- Familiarity with ecosystem projects like Lodestar, Web3.js, Forest, and Gossamer
About Gossamer/Polkadot
As a protocol engineer for Gossamer, you will join a small team and develop and maintain the Go implementation of the Polkadot blockchain protocol, often referred to as a host or a client. You will be tasked with implementing new features, occasionally from a technical specification or a reference implementation; maintaining existing features; ensuring the implementation stays compatible with the current and historical specifications of the protocol, and updating the code when upgrades are made to the network.
Idea candidate
As a protocol engineer, you have the 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 the desire to contribute to the space. The position is full-time and remote-friendly.
Responsibilities
- Read and understand a protocol specification and be able to break it into issues and turn it into Go code
- Design and implement new features for the Polkadot host
- Refactor and improve existing features in the Polkadot host
- Ensure the client stays compatible with the other host implementations
- Maintain up-to-date technical documentation
- Collaborate with and assist team members with 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 Go
- 5+ years of Go programming language, paradigms, constructs, and idioms
- 8+ years of professional software back-end development experience
- Knowledge of system design in Go
- Effective usage of Go debugging tools
- Familiarity with Rust and high conviction to learn
- Understanding of distributed systems, consensus algorithms, networking models, and broadcast algorithms
- 3+ years of experience working with blockchain or highly distributed systems
- Be able to proactively dive into the novel territory and share knowledge on what you’ve learned
- Basic understanding of cryptography and common applications
- Ability to write clean and effective documentation and comments
- Experience working with open-source software projects
- Familiarity with open-source software principles
Nice to have
- Experience with Rust, as the Polkadot reference implementation (Substrate) is written in Rust
- Experience with blockchain protocols, whether it be the 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, or 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
- Experience with RPC, WebSockets, or GraphQL