Distributed Systems Engineer, for a decentralised legal agreements network.
Distributed Systems Engineer - to help us build a public, decentralised, blockchain-backed legal agreements network
£40,000 - £80,000 plus options (ESOP).
Relocation package available for the right candidate. This role could also be based in our Edinburgh office.
Candidates currently based outside of London or Edinburgh must indicate their preferred location and willingness to relocate in their cover letter.
We are looking for kind, talented software engineers to help us make smart iterations on our legal agreements network as we deploy successive test networks.
Monax were pioneers of permissioned blockchains and smart contracts and we are building our Agreements Network to allow new and more efficient forms of legal transacting.
Exploiting the benefits of various decentralised, distributed, and masterless technologies - chiefly Hyperledger Burrow, which Monax built from scratch and still maintains based on the Tendermint consensus engine.
You will have the chance to work on a system that has distributed consensus and validation in a low trust environment at its heart and offers very interesting challenges, these could be:
- Working with multiple clusters of nodes, most of which are not under your control to handle semi-automated network upgrades and governance votes. How do you upgrade a network you do not control?
- Using cryptographic primitives like Verifiable Random Functions to orchestrate churn amongst network validators
- Build package manager and compiler integrations for deploying and testing smart contracts
- Implement low-level virtual machine instructions and improvements to our Ethereum Virtual Machine implementation
Working with our CTO on our Node Distribution Team you can expect to quickly own significant parts of our stack, and make decisions that will affect the company’s future viability in a fast-moving space (public permissioned consensus networks). You would also work closely with our Product Team who are responsible for building the foundational smart contracts, the business process modelling engine that drives the Agreements Network and also our particular front end (the network is open to extension by any of our co-founders however).
Your role will give you the chance to work across all teams in the business and it will also give you the opportunity to leave your mark in a growing industry, where you need to evaluate existing best practices and apply them to new technological paradigms and new programming languages. Navigating between the hype, the detractors and the zealots we believe there is real value in our approach and we intend to prove it.
You will join a business building a genuinely novel system, that in part intends to create an entirely new market by enabling legal products that challenge existing legal services.
This role would suit a talented software engineer, with solid technical skills in and a minimum of 3-4 years of software development experience. We are also open to engineers who can bring significantly more experience to the role. If you are a good match for Monax, we are willing to create a role that suits you.
Who do we need? Someone who has:
- Go experience or the ability to pick it up in a few weeks
- Kubernetes experience or the ability to pick it up in a few weeks
- A degree-level qualification in a numerate discipline or equivalent evidence of analytic and reasoning skills and theoretical thinking
- A good knowledge of algorithms and data structures
- A hacker mentality towards making things work
- An ability for long form design work ‘on pencil and paper’
- An ineffable marmot-ness
It is crucial that you are able to take part in forceful yet respectful technical discussions with colleagues and that you are able to change your mind about something if required, and also are able to change other’s minds.
Real things you might work on:
- Build a Kubernetes operator for Hyperledger Burrow
- Devise a way to compress/normalise data in our merkle tree to control our long-term storage usage
- Implement an atomic swap with public Ethereum to represent value on our chain
- Write optimised native (Go) functions, callable from evm, to implement graph traversal over our business processes
- Build fee allocation and distribution models that help maintain our network and provide the correct incentives
What can Monax offer you?
Extremely marketable blockchain and cryptocurrency skills.
The chance to make blockchain systems live up to their hype by making them highly operable, our network will be operated peer-to-peer by many parties and this needs to be as painless as possible.
Experience in blending distributed, decentralised, and centralised systems. To spend time working on something foundational at the level of a network architecture.
The chance to spend time thinking ‘around the software’; about law, economics, and game theory.
You will have a high level of autonomy. The business has just enough hierarchy, consensus and individual project responsibility (c.f. design-by-committee) favoured over diktats.
Flexible working - the successful candidate will be based in our London or Edinburgh work space primarily, but there is scope for flexible working and choosing your own hours and place of work when established.
Relocation assistance is available for the right candidate.
Who will you be working with?
Around fifteen people in our passionate cross functional team, including time with:
- Our CTO in London, who would be your primary daily contact
- Our CPO in New York, with whom you’ll liaise with to ensure the distribution platform and product stack work harmoniously.
- Product Team members currently building the application stack.
- Our Legal Engineers in New York providing crucial context to how legal products on the platform will be used
- Our CEO in Edinburgh for just about anything else...