Who I am

A software engineer with 20 years of experience, across advertising, insurance, healthcare and the public sector — for organisations ranging from small product teams to systems carrying high load and large user counts. My work is described by role and by technology; this page is about how I go about it.

How I work

  • Reliability over cleverness. Systems that are boring in production are the goal.
  • Clean code, unit tests and code reviews as habits, not ceremonies.
  • Agile in the practical sense — continuous integration, sprint planning, Kanban.
  • Comfortable owning the whole life cycle: planning, architecture, implementation, testing, packaging, deployment and the documentation that lets someone else take over.

I can work self-directed or as part of a team, and I have taken the lead role on both the technical design and the delivery side — mentoring developers, code review and everyday technical guidance — as well as the client-facing side: requirement clarification, on-site installation, demos and acceptance sign-off.

On AI tooling

I use AI assistants daily — Claude Code and GitHub Copilot mainly — across the whole development workflow: exploring unfamiliar codebases, implementing and refactoring, generating tests, reviewing changes, drafting technical documentation, and automating routine work. It is a productivity tool, not a decision maker: architecture and code quality stay my responsibility.

I have also introduced this approach into a team's everyday workflow, so that the whole team works with AI assistants the same way.

This site is one of the things that came out of that — see Projects.

Outside work

Licensed amateur radio operator since September 2026.