Blockchain Core Developer
Clearmatics is a protocol engineering company. We are building a new financial market architecture that is more open, fair, and resilient than the legacy systems that are in use today. We develop protocols and software that create new markets for risk and more efficient infrastructure for trading, backed by a robust and scalable blockchain network, and secured with modern cryptographic techniques and economic mechanism design.
Clearmatics is based in London but operates on a 'remote first' model. We welcome candidates from all over the world. We have close ties to the Open Source and Ethereum communities, with Vitalik Buterin as an adviser.
The Engineering team at Clearmatics is responsible for developing our blockchain software at Layer 1 and Layer 2. At the core of our stack is the Autonity client, the node software that powers our blockchain network. It is based on Ethereum (go-ethereum) and is secured by Tendermint Proof-of-Stake consensus. Our decentralised platforms are built on smart contracts and decentralised applications, and are supported by backend services in Go.
We're looking to hire a Core Developer to expand our Layer 1 Engineering team.
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