About

About

Hej, I’m Gavin.

I’m a senior software engineer based in Ayrshire, Scotland. I’ve spent most of my career on large-scale web platforms, usually somewhere between the application code and the infrastructure it runs on, and I care a lot about performance, scalability and keeping things boring in production.

This blog is where I write up what I’m working on, what went wrong, and what I’d do differently next time.

What I work on

Day to day it’s a fairly settled stack:

  • Go for services, tooling and anything that needs to be fast and small.
  • PHP for the large, long-lived applications that pay the bills, and for modernising them without a rewrite.
  • AWS as the platform, from the usual compute and data services through to networking and IAM.
  • Kubernetes for running workloads, and Terraform for describing every bit of infrastructure around them.

The common thread is operability: observability, CI/CD, cost, and making systems that a small team can run confidently.

Agentic engineering

For the last while a big part of my work has been engineering with LLM agents, mainly Claude Code and OpenAI Codex. That means more than prompting a chatbot: it’s planning work for agents, giving them the right context and guardrails, running several in parallel, reviewing what they produce, and building the workflows and tooling that make all of that repeatable. I’m interested in where agents genuinely change how software gets built, and equally in where they don’t. Expect posts on both. The portable preferences I give Claude Code and Codex live in agent-dotfiles, a small repo that renders one set of topic files into both agents’ configuration.

How I use AI

In the spirit of that, a disclosure: the articles on this site are written with the help of AI tools, mostly Claude and Codex.

  • The ideas, the experience behind them, and the opinions are mine.
  • AI helps me draft, restructure and tighten the writing, and sometimes to check my reasoning.
  • I read, edit and verify everything before it’s published. If a post contains code or commands, I have run them.
  • Posts carry a short note at the end saying so. A few older posts were written before I worked this way and don’t carry the note.

If something is wrong, that’s on me, not the tooling. Let me know and I’ll fix it.

Away from the keyboard

I’m renovating a 1979 house, which is an ongoing lesson in insulation, rewiring and patience. I’m interested in renewable energy and the practical side of making a home more efficient, so expect the odd detour into solar, batteries and heat loss. And there’s an Alaskan Malamute who makes sure I leave the desk.

My Alaskan Malamute

Find me