Full-stack engineer
Principal level · Cambridge, UK · remote
I have been building software and the systems behind it for 16 years: the front end, the services behind it, the data stores underneath, and the observability across them.
Mostly C# and TypeScript, with Ruby on Rails, C++, Python, multiple flavours of SQL, VB.Net and Rust as the work has called for them.
I specialise in modernising systems (cloud migrations, architecture changes) and building agentic systems and workflows.
What I work on
Agentic engineering
Agents in products, and agents as a way of working.
In the product
- An MCP tool standard, and the first tools on it
- An in-product agent that works in a multi-writer environment
- A control plane that provisions a VM per agent session and manages its lifecycle
In the work
- Specs written by hand and attentively; execution unattended against them
- A second model as an external critic, gating the plan before a human sees it and calling when to abandon an approach
- Rules that fail the build wherever that is possible, written instruction only where it is not, measured by whether the same violation stops recurring
- A knowledge base the agents write and I curate
Modernisation
Systems that outgrew their original architecture:
- VB6 desktop tooling at a research organisation
- A long-established formatting engine in a paid desktop tool
- Legacy VB.Net products, modernised while they stayed in daily use
- The architecture for bringing a software suite to the web
Experience
OLI Systems
Principal engineer
May - August 2026
Architecture for a new greenfield web platform at a long-established scientific software company.
Shopify
Senior software engineer
April 2022 - May 2026
Core contributor on an internal notifications platform handling tens of millions of merchant communications.
Morar Consulting → MIG Global → Savanta
Senior developer, then technical team lead
January 2017 - April 2022
First external developer hire, in a team that grew from one engineer to nineteen over five years.
Redgate Software
Software engineer
December 2013 - January 2017
C# desktop development on SQL Prompt, Redgate's IntelliSense tooling for SQL Server.
TWI
Software engineer, then project leader
October 2010 - December 2013
Desktop tooling at a research and technology organisation working in materials, corrosion and structural integrity.
Projects
The code is private, so these are the write-ups.
A production SaaS platformactive
An exercise in building a SaaS platform on a budget, with a focus on performance, observability, and operational resilience.
C# / ASP.NET Core · gRPC & Protobuf · React · TypeScript · PostgreSQL · k3s · Helm
The ECSactive
Systems declare what they touch in their own method signature, and the scheduler works out from that what is allowed to run at the same time.
C# / .NET · Roslyn analyzers · T4 · Vulkan via Veldrid · SFML
Frame budgets and party AIdormant
A world simulated entirely server-side, on a documented frame budget per subsystem, with characters that act on traits and standing orders rather than a script.
C# / .NET · Svelte · TypeScript · Protobuf · WebGL2 · Tailwind
Simulating a galaxyin progress
A civilisation aboard a worldship, simulated tick by tick, inside a galaxy that runs on something far cheaper.
C# / ASP.NET Core · React · SVG · Server-sent events
Writing
- On motivationApril 2024
- The hidden cost of delegatesMarch 2024