Lead Software Engineer – Blockchain, Golang

Clearmatics is a protocol engineering company.

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 Lead Software Engineer to expand our team.

ABOUT YOU

As an experienced software engineer, you know what it takes to ship high-quality software in production. You take pride in writing clean, efficient, and maintainable code. And you are an advocate for best practices, continually looking to learn and to improve.

You can thrive in a fast-paced and innovative startup environment, and you aren’t deterred by unknowns or unfamiliar concepts. You communicate clearly in writing and in discussions. And you are comfortable with coaching other developers to help them achieve their potential.

RESPONSIBILITIES

Design, build, and maintain production-grade blockchain software
Play a central role in team activities and our development processes
Produce technical specifications and reference documentation
Contribute to team planning, estimation, and technical roadmapping
Promote and implement software engineering best practices
Coach junior developers, lead code reviews and demonstrations

REQUIREMENTS

A Bachelor’s in Computer Science or related technical field
8+ years experience as a full-time software developer
Technical leadership experience within an Agile development process
Proficiency in a systems language like Go, Rust, or C++ (Go preferred)
A strong background in concurrent and distributed programming on Linux
Knowledge of blockchain fundamentals such as: consensus, P2P, crypto
Some experience in blockchain software development (Ethereum preferred)

BONUS POINTS

Knowledge of core Ethereum APIs, protocols, and technologies (e.g. EVM)
Smart contract development using Solidity and Web3 JavaScript APIs
Experience in DeFi (decentralized finance) or derivatives trading
Contributions to open source projects and especially in blockchain