Engineer - Golang
We are building a blockchain-based derivatives protocol and are looking for a skilled Go Engineer to grow with us and make key contributions to the design, formal specification and implementation of the system codebase.
Location:London or remote
You are an experienced Go developer who is interested in solving problems related to the intersection of financial trading, blockchain, and distributed systems.
You would be part of a very collaborative team that includes both academic and production coders. This role reports to the Lead Engineer, and is part of the core engineering team.
Being a startup, there will be times when the team needs to strive for absolute code quality for production releases, and others when we need to quickly pull together barely-working prototype code to test out an idea. We are looking for someone who can work in both modes as appropriate.
It is Vega’s mission to build tools for decentralised trading that allow anyone on earth to trade freely, with open and fully access to their trading and risk data and no artificial barriers to entry or reliance on centralised entities. The project began in early 2018, and our testnet was opened to the public in late 2020. You can try it out at https://testnet.vega.xyz.
Our team of 20 is interested in learning from each other and solving complex challenges, with a vibe that can be described as ‘relaxed excellence’. Our professional backgrounds include trading and markets infrastructure, development, academia, and business management.
As we operate distributed, cross-functional teams, our engineers are able to contribute in multiple programming languages. We develop on the following tools and technologies:
- Golang, Python, Typescript
- gRPC, GraphQL
- Docker, Terraform
Relevant qualities or experience
- Worked on at least two production Golang codebases that are reasonably large and performant
- Strong knowledge of Go idioms and libraries
- Strong knowledge of computer science fundamentals such as data structures and API design
- Ability to communicate technical concepts with other technical & non-technical team members
Desirable (but not essential)
- 2+ years of experience in Go in a commercial or open source context
- Experience with other programming languages such as Solidity, C, Java, C#, Solidity, Rust, Python, etc.
- Documentation skills to help technical users understand our codebase
- Knowledge of financial instruments or markets
- Prior Experience working with an open blockchain
- Interest in or experience with networking (the social kind) / public speaking
Something looks off?