The Quality Drift

A few weeks ago I was reviewing a pull request an agent had written. It wasn't broken. Nothing was wrong, exactly. But something was off — a naming convention that didn't match the rest of the file, a structure that technically worked but sat slightly sideways from how everything else in that part of the codebase was shaped.

It doesn't break anything. It just adds up. One convention breaks down in a corner, another file implements something slightly differently, a naming decision gets made that's inconsistent with everything around it. None of it is catastrophic. But it accumulates — and the speed of agent-driven development means it accumulates fast.

I've been thinking about this since I wrote about the developer role is changing — the shift from authoring code to directing agents. I love shipping great software, and that part of it — moving faster, holding more in parallel — is something I've come to genuinely enjoy. But when you let agents drive, things drift.

The Zed team wrote about this recently, framing it as a tension between "vibes" and craftsmanship — shipping fast versus building something worth maintaining. What resonated is that this isn't hypothetical. It's something I've felt in the code reviews where the codebase starts to fragment. The moments where an agent implements something that technically works but doesn't fit the bigger picture I'm holding in my head.

What I'm still working out is how to hold both.

Some of it is tool choice. Claude Code and Zed's agent panel are both part of my workflow, but they feel different. In Claude Code I'm more abstracted — focused on the task, reviewing output. In Zed I'm closer to the code. I move between them deliberately depending on what the work requires. The choice of tool shapes my relationship to what gets produced.

Some of it is continuous review — not just before merging, but as a constant habit throughout. Agents produce a lot of output quickly, and the gap between generating code and understanding it is real. Regular review is how I catch drift before it becomes the default.

But the biggest shift has been in how I think about documentation. Not for other developers — for the agent. Architecture notes, naming conventions, decisions about structure. When the agent has a clear picture of what the codebase is trying to be, its output is more consistent. Docs aren't an afterthought. They're the shared language between me and the tools I'm working with.

None of this is settled. But I keep coming back to that word: language. I'm not just directing agents — I'm writing the model they work from. The code is downstream of that.


Personal writing on software, building products, travel, and life on Madeira.
Honest, infrequent, not optimized for your inbox.



2026

The attention economy proved RSS right


25/04

The Quality Drift


24/04

The Developer Role is Changing


22/04

2024

My future self knows better


19/12

All or nothing


18/12

Social following & connection


08/12

My relationship to social media


01/12

Dental surgery & expectations


22/11

On leaving X again


08/11

Personal blogs


02/11

Click to cancel


19/10

2021

Every day learning


30/01

Out of the shadow


10/01

Now vs. Later


09/01

Why do I want to write


08/01

Our first Youtube LIVE


02/01

A new day


01/01

2020

Daily Practice


30/12

Fast forward six months


12/12

Going down the rabbit hole


07/12

Getting ready


06/12

Impact of customer support


27/11

A lot has happened


19/11

It's ok to have bad days


08/09

My first productive week


17/07

Countdown & Commitment


08/07

Transition time


07/07

Our travel continues


06/07

Understanding Men & Women


05/04

The fear of the unknown


04/04

Hello World (literally)


01/03

Almost being scammed


09/02

Our next chapter


02/02

2019

Forced to try something new


10/10

I am not good at ...


29/09

ContextLabel 1.6.0


08/05

2018

I'm not on LinkedIn


24/12

Don't be right, be open


22/12

Healthy Lifestyle


30/09

2016

Hill88


08/08