Where the seven years went.
Seven years and eight months shipping in production, Rust for the last five. Accountant before that, which is where the habit of checking the number twice comes from.
Work history
Seven roles, one thread.
Blockchain data infrastructure the whole way through, once the first two years had got the web work out of my system.
Dune
On-chain data wizard- On-chain data, and the pipelines underneath it.
Fathom
Senior Software Engineer- Rust backend systems for an AI-driven data platform.
- Multi-workspace monorepo: services, storage, control plane.
- Dataops workflows, and refactoring for performance and for the next person to read.
GraphOps
Senior Rust Engineer- Designed and built Graphcast, a P2P messaging protocol on Waku and libp2p.
- Backend services carrying the traffic, and a yew.rs frontend for the tooling.
- Ran the demos and workshops, which is how you find out what the protocol is missing.
The Graph
Rust Engineer, then Developer Advocate- Created Matchstick, the ecosystem’s subgraph testing framework. Rust and WebAssembly.
- Advocate role was volunteer: teaching, mentoring, ecosystem tooling.
Kraken
Rust Engineer- Developer tooling for testing exchange HTTP APIs.
OVO Energy
Full Stack Engineer- Scheduling product for field engineer appointments. Kotlin and Quarkus microservices.
- Built the Flutter app from scratch, and the React web client beside it.
WeiChain
Junior Software Engineer- Smart contracts on Ethereum and Aeternity.
- Shipped a decentralised exchange to mainnet, plus an atomic swap widget.
Before you write
What I do, and what I don't.
I am not looking for a job. This is here so that if you do write, we both know within a paragraph whether it is going anywhere. The second column is the useful one.
In scope
- Rust backends, services and CLIs
- Distributed systems and P2P protocol work
- Blockchain indexing and data infrastructure
- Developer tooling, languages and testing frameworks
- Taking something that half works and making it hold
- Remote, EET, overlapping most of a European day
Out of scope
- Frontend as the main job. I ship React and Flutter when a project needs it, but it is not what you want me for
- Smart contract auditing. I have written contracts, not audited them for a living
- ML research. I build the pipelines, not the models
- Relocation, and full US-hours on-call
- Work where the architecture is settled and not open to a question
If the thing you are building has to stay up while somebody else operates it, that is the part I am good at. If it has to look beautiful in a demo next Thursday, there are people better suited than me.
Contact
Mail is the fastest way.
I read everything. I reply to anything that is not a template.