Protocol Engineer, Gossamer/Polkadot (Go)
Toronto, Berlin, Zagreb, Remote (American/European timezones preferred)
ChainSafe is a blockchain research and development firm specializing in
infrastructure and tooling for the decentralized web. Alongside its
contributions to significant ecosystems such as Ethereum, Polkadot, Filecoin,
and more, ChainSafe creates solutions for developers and teams across the
web3 space utilizing our expertise in gaming, bridging, NFTs, and
decentralized storage. As part of the mission to build innovative products
for users and better tooling for developers, ChainSafe embodies an open-source
and community-oriented ethos.
To learn more about ChainSafe, look at our GitHub
and website.
Here’s what you need to know before reading on
- Our progressive tech stack includes Go, Rust, and TypeScript
- We spearhead ecosystem projects like
Lodestar,
Forest, and
Gossamer
- We are global, remote-friendly, and open to contractors
At ChainSafe, you’ll be part of a team that believes in the community’s vital
importance and contributes to advancing humanity with open-source and
decentralized technology.
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.
Who we need
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
Hiring Steps
- Selected candidates will be invited to a 30–to–45–minute screening call with one of our tech recruiters
- Next, candidates will be invited to a 60-minute values interview with one of our team members
- Given they pass the values interview, we ask them to complete the first technical assignment. Based on the submission we can determine if we want to continue with the interview process.
- NOTE: If candidates have verifiable OpenSource work experience this step might be skipped
- Given the review of the first technical assignment, a technical 60-minute interview with our engineers will be scheduled.
- Among other follow up question based on the first technical assignment will be asked during technical interview to prove they are the author of submission and to see how they can code/problem solve in a live environment.
- Then, if necessary, candidates will be asked to complete a second technical task in under 10-20 hours. Your time and expertise demonstrated in the work test challenge will be compensated upon completion.
- After the completion of the test assignment call with Engineering team to discuss and review the results, for 60 minutes.
Tell us who you are
If you feel like you’re the perfect fit for the role, please apply even if you
don’t match all the requirements.
Why Join ChainSafe Systems Protocol Engineering
Founded by developers for developers, ChainSafe is a company with an
international team. We continue to provide opportunities for personal and
professional growth, value autonomy and responsibility, have a results-driven
environment, and offer flexible work hours.
We care deeply about our values and look for these attributes in every new team
member. In addition, we recognize the benefits of cultivating a diverse team and
aspire to embed respect for all people into our culture. We encourage women, the
LGBTQIA+ community, people of colour, and members of any other group
underrepresented in the blockchain space - or tech in general - to apply.
How to Apply
To apply:
- send an email to kirill@chainsafe.io containing the following:
- an indicator what role you apply for
- a motivational letter
- an up-to-date résumé (CV)
- wait two weeks before you follow up
Note:
- If you do not complete the steps above, we will disregard your application.
- We do not work with recruiters or talent agencies.