Vibe Coding Is Not Programming — DHH Draws the Line

David Heinemeier Hansson runs sixteen agents at once — and still insists that never reading the output is not programming. It is hoping.

David Heinemeier Hansson

“If you never look at the implementation, you are not programming — you are hoping.”

DHH used to mock the idea of AI agents. Now he runs sixteen of them at once — and draws a hard line anyway. Coming from a convert rather than a skeptic, that line lands harder than any purist manifesto, because he is describing a practice he actually runs, not one he refuses to try.

The distinction he is drawing is the real product story of the next year — and it is not about whether agents are good. Agent throughput has become cheap and abundant. The scarce skill is no longer typing the code. It is reading it well enough to catch the place where the machine did the wrong thing with total confidence.

The key insight: Confidence is exactly what a language model has in surplus — and a reviewer has to supply.

The Structural Read

DHH’s distinction splits the market into two postures. One treats the agent as a compiler you still review — you accept the leverage but keep the veto. The other treats it as a junior you never manage — you accept the leverage and outsource the veto to nobody. The first compounds output. The second compounds error, silently, until it ships.

It rhymes precisely with Garry Tan’s “a markdown file is an employee.” Tan is selling the org-chart fantasy — headcount replaced by prompts. DHH is selling the quality-control reality — the prompt still needs a human who reads its output. Both can be true, and the gap between them is where most of the AI-productivity claims of the next year will quietly fail.

For companies, the practical implication is a hiring and process question, not a model question. If your plan is to 10x engineering throughput with agents, you have not removed the bottleneck — you have moved it to review capacity.

The Bottleneck Moved — It Did Not Disappear

Vibe coding is not wrong because the code is bad

It is wrong because nobody is accountable for the part where it is not. In software, the part where it is not is the whole job.

THE AGENT-AS-COMPILER POSTURE

Accept the leverage, keep the veto. Teams that treat agents like compilers they still review compound output. Those that do not compound error — silently, until it ships.

THE ORG-CHART FANTASY VS. THE QUALITY-CONTROL REALITY

Garry Tan sells headcount replaced by prompts; DHH sells the reality that the prompt still needs a human who reads its output. The gap between those two positions is where most AI-productivity claims of the next year will quietly fail.

STAFF FOR REVIEW CAPACITY — OR LOSE

The teams that win will treat reading, testing, and taste as the scarce resource and staff for it — not celebrate lines of AI-generated code as though volume were the point.

Business Engineer Framework

The Map of AI

DHH’s line maps directly onto a gap in the AI stack: the layer between agent throughput and human judgment has no dominant player yet. Where review capacity, taste, and accountability sit in the broader AI landscape is exactly what the Map of AI was built to surface.

Explore the Map of AI →

The Bottom Line

Agent throughput is cheap. Judgment is not. DHH is not arguing against agents — he runs sixteen of them. He is arguing that the productivity revolution requires a human on the other end who actually reads the output, because the uncomfortable truth about vibe coding is not that the code is usually bad. It is that nobody is accountable for the part where it is — and in software, that part is the whole job.

Clip via the Lex Fridman Podcast (#501).

Scroll to Top

Discover more from FourWeekMBA

Subscribe now to keep reading and get access to the full archive.

Continue reading

FourWeekMBA