Hello, I'm
Software Engineer & Technical Lead
I build things that matter, fix things that are broken, and make teams better along the way.
I've spent the best part of two decades building software. I started at British Airways, where I went from junior developer to Technical Design Lead on a platform doing £20m+ a week, and most recently I've been delivering safety-critical systems for the NHS.
I'm at my best when things are complicated. Legacy system that nobody wants to touch? Deployment pipeline that takes an hour? Team that's lost its confidence? Those are the problems I like solving. I've cut CI/CD runtimes by 95%, untangled decade-old data corruption, and built teams that actually enjoy shipping code.
I care about doing good work with good people. I write Elm and Haskell for fun, I believe strongly in functional programming, and I think the best technical leaders are the ones who make everyone around them better, not just louder.
The day job keeps me busy, but I also build things in my own time. Partly to learn, partly because it's fun, and partly because some ideas just won't leave you alone until you make them.
A real-time retrospective tool for agile teams. Create a team, start a retro, and collaborate live. No accounts needed for participants, just share a code. Built because every retro tool I've used has at least one thing that drives me mad.
A sci-fi text adventure in the classic tradition. You wake up alone on a damaged spaceship with a failing AI companion, a creature between you and the escape pods, and a decaying orbit. Good luck.
Just getting started on this one. Watch this space.
Delivered critical enhancements and data integrity fixes for CSMS, a national safety-critical platform. Cut CI/CD pipeline runtimes by 95%, diagnosed complex historical data corruption across cross-border transfers, and built Python ETL pipelines bridging modern AWS architecture with legacy NHS systems.
Led technical delivery for the Breast Screening System. Directed a squad of engineers building cloud-native Python microservices to GDS standards. Managed releases affecting patient invitations requiring 100% accuracy, and acted as the bridge between engineering teams and clinical stakeholders.
Led the platform rebuild for a global behavioural science company during rapid scaling. Migrated to a modern full-stack architecture (Node.js, GraphQL, React), delivered two major new products while keeping legacy systems running, and mentored a distributed engineering team.
Modernised a legacy Java codebase into a cloud-based application. Led a team that delivered a progressive web app for offline travel itineraries in a single week. Introduced automated testing and functional programming patterns.
Led development of a system replacing manual Winter Fuels payment processes, handling millions of transactions. Introduced Docker and TDD practices to the team.
Spearheaded the technology stack transition from legacy Python/Java systems to Node.js, Docker, and Kubernetes. Built the Node.js backend for the new platform, focusing on modularity and maintainability.
Seven years, from junior to leading the technical design across five development teams and 70+ developers. Delivered the responsive mobile booking system for BA.com, a platform handling £20m+ in weekly sales. Convinced stakeholders to adopt mobile-first, before it was fashionable.
I'm always happy to hear from people, whether it's about work, a project idea, or just to say hello.
When I'm not writing code, I photograph little plastic turtles. Seriously.