Hiya!

I'm Andrew. A father, husband and software engineer living in Scotland.

I've been building software since Turbo Pascal on an Amstrad - an old language no one remembers on an old computer no one used.

During the day, I work at TransferGo as a Staff Engineer. I've built Compliance, Risk and Anti-money Laundering things, then rebuilt the Profiles domain. Now I've joined the Developer Experience team, helping engineers get better at working with AI.

I'm teaching software development concepts using metaphors on YouTube and writing interactive and animated articles.

My spare time is spent with family, kayaking, 3D printing, and coaching youth football.


Composition over Inheritance
Event Sourcing
The Outbox Pattern
Primitive Obsession
View YouTube channel →

How I Avoid Throwing Slop Grenades

Shopify's CEO calls unreviewed AI output slop grenades. Over a long migration I generated hundreds of AI pull requests and kept the slop to myself. But careful engineers can only do so much. I think stopping slop grenades takes a process that makes them impossible.

These Aren't New Principles

Evals, backpressure and agent guardrails are the feedback loops we already had. The mechanism didn't change, only who reads the output.

Is Attention a Budget or a Curve?

Attention budget and attention curve describe different parts of the same problem. Budget is about how much attention there is. Curve is about how it gets distributed across the context.

View all notes →