You’ve heard the pitch: “Just describe your app, and AI will build it for you.” Sounds like a dream. No more hiring expensive engineers. No more long development cycles. Just pure, effortless productivity. But here’s the truth nobody wants to tell you: that dream is a $10,000 nightmare.
Last week, Boris Cherny tried to get Claude Code to rewrite the entire Claude app. Two weeks of compute. Tens of thousands of dollars in tokens. And what did he get? A mess. Code that technically ran but was structurally unsound. A classic case of AI generating technical debt faster than any human ever could.
Let me be clear: AI doesn’t democratize good software development. It democratizes the ability to generate bad code at massive scale and high cost.
The problem? Verification. Cherny himself said it: “The verification is probably the single most important thing that people do not get right, largely.” He gave the AI a prompt to verify its own code — and expected it to succeed. But that’s like asking a student to grade their own exam. It doesn’t work.
Here’s what happens when you let AI run wild: You get a pile of code that looks like it works, but any senior engineer will tell you it’s a house of cards. One change, one edge case, and the whole thing collapses. And by then, you’ve burned through your budget.
The most expensive code is the code you think is free.
Some commenters on the story nailed it: “Better technology cannot compensate for poor product design.” And another: “Two weeks’ worth of tokens sounds like tens of thousands of dollars. Wouldn’t it be better to hire someone who knows what they are doing?”
Think about the math. For the cost of those AI tokens, you could have hired a senior engineer for a month. That engineer would have built something maintainable, testable, and actually good. Instead, you got a brittle prototype that requires constant oversight.
This isn’t an anti-AI rant. I use AI tools every day. But there’s a difference between using AI as a junior assistant and trusting it to architect your entire application. The former is a productivity boost. The latter is a gamble with your company’s future.
If you can’t verify the output, you don’t own the code — the debt owns you.
So what’s the solution? Stop treating AI as a replacement for engineering judgment. Use it for boilerplate, for suggestions, for the boring stuff. But when it comes to design decisions, architecture, and product intuition, you need a human. Someone who understands trade-offs. Someone who knows that “pixel accurate” is easy to say and hard to do.
The next time a manager says, “Let’s just have AI rewrite the whole thing,” ask them: Who’s going to verify it? Who’s going to fix it when it breaks? And who’s going to pay for the compute while we find out?
AI coding tools are a powerful amplifier. But they amplify incompetence just as much as competence. Choose wisely.
FAQ
Q: Isn't AI code getting better every day? Why can't we just wait for it to improve?
A: Yes, AI models are improving, but the fundamental problem isn't code quality—it's verification. As code generation becomes cheaper, the bottleneck shifts to validation. Without a human who understands the system, you can't trust the output. Better models don't solve the verification problem; they make it worse by generating more code faster.
Q: What's the practical takeaway for a startup founder trying to move fast?
A: Use AI for boilerplate, prototyping, and suggestions. But never let it make architectural decisions. The cost of fixing bad AI-generated code later will outweigh any initial speed gain. Hire a senior engineer early to guide the AI, not replace it.
Q: Isn't the real contrarian take that AI will eventually replace engineers, and we're just in a transition period?
A: That's the common narrative, but it's wrong. The more AI generates code, the more valuable human judgment becomes. The ability to say 'no, this is wrong' or 'this is clever but fragile' is the skill that matters. AI amplifies the need for senior engineers, it doesn't eliminate it.