Review is the new writing

Every problem I have written about this week is the same problem wearing different clothes.

Maintainers drowning in patches nobody can explain. Vulnerabilities that appear during the fifth round of "make this better". Organisations whose measured gains collapse the moment the code gets complicated. A study finding that developers cannot feel whether they are going faster. Underneath all of it: generation got cheap and verification did not.

That sentence is not new — people have been saying it since 2023. What I think is still not priced in is the consequence. If verification is now the expensive step, then verification is the job. Not a checkpoint at the end of the job. The job.

We are extremely badly set up for that.

Consider what code review currently is at most places. It is a social ritual with a technical veneer, designed for a world where writing the code was the hard part and reading it was a courtesy. It runs on assumptions that no longer hold: that the author understood what they wrote, that the diff is small because writing is slow, that "LGTM" from someone who skimmed it carries information. We built the whole practice on the scarcity of authorship, and authorship stopped being scarce.

Some of what needs to change is tooling, and the tooling is coming, mostly badly. Most of the "AI code review" products I have tried are the same pattern-matching linters we already had with a language model stapled to the summary field. They are good at finding the null dereference and useless at the thing that actually bites you, which is code that is locally correct and globally wrong — the function that does exactly what it says while quietly assuming something about the system that stopped being true two refactors ago. No amount of reading the diff catches that. You have to know the system.

Which points at the part that is not a tooling problem.

The skill that matters now is the one nobody trains for and no ladder rewards: holding an accurate model of a system in your head, and noticing when a plausible change contradicts it. That was always the senior engineer's actual job, disguised as writing code. The disguise is gone. We are about to find out how many people were doing the job and how many were doing the disguise.

I do not have a tidy ending. I generate a lot of code with an agent, I read all of it, and reading it is now most of my day. Some days that feels like the future arriving. Other days it feels like I traded writing — which I loved — for inspection, which I do not, and got a throughput increase I cannot measure in exchange.

Both of those are probably true. Most weeks I would still take the trade.