You’re a systems programmer with good knowledge of Layer 1 protocols, and a passion for blockchain and decentralisation. You enjoy working to a high standard and writing code that is clean, performant, and maintainable. You appreciate the importance of careful design choices and can anticipate the impact of code changes on wider system behaviour. You can demonstrate a strong interest in blockchain and may even have open source contributions that you can highlight. You express yourself clearly in writing and in discussions.
You will be involved at all stages of the development lifecycle for the Autonity protocol and its blockchain node client (a fork of go-ethereum). These include:
- Implementing new protocol features in Go and Solidity
- Developing new distributed systems tests and frameworks
- Contributing to protocol and design specifications
- Working with members of the community to resolve issues
Your work will ensure that Autonity client is correct, reliable, performant, and secure. This will enable Autonity to serve as the foundational layer for a new ecosystem of decentralised markets.
- At least a Bachelor’s degree in Computer Science or a related field
- Strong programming skills in a low-level language like Go, Rust, or C++ (ideally 2+ years with Go)
- Experience with network, concurrent, and distributed programming/debugging on Linux systems
- Good knowledge of Ethereum protocols, BFT and dPoS consensus, P2P messaging, and crypto primitives
- Experience developing on a blockchain node client (preferably Ethereum-like)
- Knowledge of distributed systems theory obtained from coursework or self-study
- Smart contract programming experience using Solidity and Web3 APIs
Our compensation is blockchain competitive and dependent on your skills & experience.