I'm Head of Engineering at Axiom Maths, a maths charity. I live in London and have spent most of my career on the backend. Lately I've been digging into agentic development with Claude and Codex.

01

How it started

I got into web development the way a lot of people did: messing about with HTML and CSS, then moving on to PHP.

My first paid work was freelancing in Kilkenny, Ireland (a great place to grow up, less so for a tech scene), building WordPress sites, custom plugins and themes, and ecommerce projects.

02

Where it went next

Next I moved to Vancouver, which I loved, to join Library IT Services at the University of British Columbia. I worked on Open Collections, the library's public archive of digitised photos, books, newspapers, maps, videos and theses. We used Elasticsearch (a search engine) to make all of it searchable. The job also made me a lot better at explaining technical work to people who aren't developers.

Then I spent seven years at Kobas, which makes software for hospitality businesses. As lead engineer I was across pretty much everything, from the EPoS (the tills staff take orders on) to stock control, and the job was a mix of infrastructure, coding and product work.

From Kobas I moved to Bumble, on the backend platform behind recommendations and discovery (deciding which profiles people see). The hard part was keeping latency low on a multi-region system handling a huge number of swipes a day. I added the ML team's ranking improvements without making anything slower, optimised the queries behind discovery, and fixed errors along the way.

03

Where I am now

In 2026 I joined Axiom Maths as Head of Engineering. Axiom Maths partners with schools across England and Wales to help young people with the aptitude and appetite for maths realise their potential.

My job is the technology behind the programmes: the systems and tooling our teams use, and the infrastructure that supports the curriculum, coaching and operations. It's the most mission-driven work I've done.

04

What I'm exploring

These days I'm mostly writing Python, and spending a lot of time on newer developer workflows built around AI tooling, especially Claude and Codex. A big part of that is agentic development, where you hand an AI agent a task and it writes and runs the code itself. The trickiest bit right now is the verification layer: how far you let the agent go. Can it open a PR, merge one, deploy to production or change live data? I'm working out where those lines sit, and bringing what I learn back to the teams I work with.