Overview:
The Core Blockchain Developer - Golang plays a crucial role in our organization, leveraging their expertise in blockchain technology and Golang to create innovative solutions that drive our company's success. This remote position allows the developer to contribute to our cutting-edge projects from anywhere in the world, maintaining the high standards of our blockchain systems. We're looking to hire aΒ Core DeveloperΒ to expand our Layer 1 Engineering team.
Stack is Ethereum-like, so familiarity with -- and passion for -- the space is key.
Some of the areas we tackle include blockchain infrastructure optimised for financial use-cases, protocols for specific applications (such as smart contract-based derivatives, synthetic assets, cryptocurrency stabilization, ...), scalability and privacy through cryptography (zkSNARKs, multiparty computation, private transactions/assets).
ABOUT YOU
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.
Key Responsibilities:
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.
Required Qualifications:
- 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
BONUS POINTS
- 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