Processes

Stop letting documentation rot

Five types of documentation, five different AI leverage stories. The question isn’t whether to involve AI in your docs; it’s where each type belongs and how much maintenance you can hand off.

Pairing with a yes-machine

Pairing with an AI feels like pair programming. It isn't. There's one prior in the room, and it's trained to agree. This post makes the case for mob programming and spec-driven development as the structural fix.

Show me the way: engineering demo 101

Engineering demos fail when they present what was built instead of why it matters. A practical guide to leading with business impact, showing the happy path, and translating technical work into terms your audience actually uses.

Five ways to fail

Errors don't just happen; they land somewhere. Validation, generic, idempotent ignore, warning log, or Sentry: each routes failure to a different audience. Get the routing wrong and either engineers go blind to real bugs, or state corrupts silently.

Architecture always leaks

Auditing data-heavy companies reveals the same pattern: asynchronous data processing crammed into the synchronous web stack. The contention shows in performance, delivery, and team dynamics. Isolation fixes all three.

Your codebase is a commons

Your codebase degrades the same way shared resources do: not from malice, but from missing governance. Elinor Ostrom proved the commons can survive. Her principles map to software teams with uncomfortable precision.

We're not a normal company

Every software company claims to be different. The "we don't need X because we have culture" exemption is special pleading. The four phrases that reveal it, and the questions that break them open.

The CTO as prisoner

CTOs who built their company's survival by doing everything can't escape that role by scheduling a holiday. Moving from doing to enabling is a skill and identity shift at once. One thing handed off permanently is where the exit starts.

Customer support in the AI era

Most AI-powered customer support is optimised for deflection, not resolution. The problem isn’t bad agents, it’s architecture: no shared context, no real permissions, no escalation path that works.

The cost of the quick fix

The quick fix isn't cheaper. It's cheaper today. Bram Devries traces how deferred fixes compound into emergencies, and argues that naming the trade-off out loud is the only way to break the cycle.

Agentic engineering is a bottleneck

The standard AI-assisted dev loop has created a new bottleneck: us. Peter Eysermans describes how deterministic orchestration via n8n, with GitHub as shared memory, gets the human off the loop without sacrificing quality.

Nobody learned a city from a map

The fastest way to learn agentic development is to stop studying it: move in, extract repeatable patterns into skills, and reflect to compound.

The disconnect between management and engineering

A mobile app, past its usefulness, was days from being phased out. One email reversed the decision. No discussion. No input from engineering. This is what happens when decision-making drifts too far from the work.

From opt in to default

Developers don't skip standards because they're careless, they skip them because there are fifteen things to remember and the code was the hard part. The real question isn't which tasks your LLM handles well. It's what's still slipping through ungated.

I'm using my engineering colleagues as my personal agents

A couple of months ago, I was copy-pasting prompts into ChatGPT. Now I'm shipping features, running tests, managing branches, and keeping documentation alive, with a team of agents doing the heavy lifting. All by myself.

Subscribe