DHH · 2026-08-26 · source ↗ · whole document (10)
Vibe coding vs agentic engineering
`0:52:02`
I'm just gonna extend the pro case here a little bit just for the sake of the argument.
`0:52:07`
I actually think for a while it was to my deficit to know as much as I know about programming because I was instructing the agents to do things as I prescribed them to do, and they were very good at that. And in the first agentic moment, let's not call it an era, it was something that lasted three months. Moment. In the first agentic moment, that felt very productive. I could get more productivity out of telling the agents what to do in the way I would've done it, and I used all of my experience as a programmer to do just that. Then I was a little late on the next moment, and the next moment allowed me, allowed anyone, to describe outcomes-... to describe problems to the agents and get better solutions than if you had a programmer prescribe the path.
`0:53:16`
100%. And the reason I say that, let's define it here. The reason I say that is there's a lot of programmers who are not very good product managers. Software is product management. What should it do? Who should it do it for? How should it do it? How should it look? What are our priorities? What do we start with first? What does version one include? All of those skills are not easily or equally distributed across all programmers. And in the agentic era where you are letting an agent, an AI, do the implementation, these are the skills you need. And I happen to sit in both camps, and this is why I love this moment. I still get to live a little bit in the old world where I look at the full implementation because there are domains and areas where I feel that still brings value, and then I also live in the future. And as I said, when I created Omawrite, I've not looked at a single line of that C++. I actually made it a point to myself that I was gonna treat it as an experiment. This is 100% a black box. I will treat it as though I was any other user who had opinions about how their digital typewriter should work, and therefore felt like it was a fair experiment as if a writer of any other sort who had opinions about how software should be done and how it should work. As you mentioned, video editors who know exactly where they don't like what Adobe Premiere's doing and how it could be better, but don't have the capacities to improve it-... how that could be.
`0:55:28`
I would've said the same thing six months ago.
`0:55:30`
And I think the same thing would've been true six months ago. What I have found since, especially even just the last few weeks of the agentically accelerated development of Mach-E, is that more often than not, I have the humility to recognize that the agent knows best.
`0:55:52`
Correct. And it would know more about what that entails. Now, you're laughing-
`0:56:02`
... a good parallel to this is the AGENTS MD/CLAUDE MD files. There was a hot moment where it was all the rage about micro- optimizing that. Oh, you tell your agent this-... you tell your agent that, and you ended up with this huge file of instructions for your agent. One of the things that Boris, working on Claude Code, shared in an interview recently about Opus 5 was that the system prompt that they ship for Opus 5, and presumably also Fable, shrunk by 80% because the agent not only needed far less human instruction, it was actually being damaged by overly prescriptive humans. And any programmer who's had a pointy-haired boss knows exactly what that is like. When the boss walks into the room, doesn't know anything, starts telling you how to program, how to code. What do you do? You sulk. You write shittier code if you're mandated to do things that are against your better judgment. Why would an agent not be the same?
`0:57:25`
It's even better because you don't even need that. The fundamental insight of modern software development came from the agile software development movement. In the late '90s, early 2000s, a group of smart, honest, and brave people came together and said, "The way we've been trying to do software development for the last 40 to 50 years has not worked, will not work. We've been trying to specify upfront what software should look like. We thought that we could ask humans what they wanted, write it all down, apply our systems thinking and our rigor to a spec sheet, hand that spec sheet over to a group of programmers who would then implement just that, and everyone would be happy." Well, guess what? No one was happy. Because no one knows what they want until they receive it. You don't know what a program should do until you play with it. So in the agentic age, you should resist the temptation to be overly specific upfront. Be as vague as you can to manifest something, then interact with the something. The way you arrive at good software is you write a little bit of software, and then you try to use it. It is in the process of using software that you discover what you really want. It's where you discover what's important and what's not important. And agents are incredible at allowing you to bumble into this experience of realizing what you want because you don't know what you want.