2026-06-03

"AI code is garbage"? Critics are half right — the missing word is *phase*

Halfway through 2026, “vibe coding” has become the kind of term that splits a room the moment it’s said. One side treats it as the most important shift since cloud computing. The other treats it as a polite way to say “gift-wrapping AI-generated slop as craft.”

The argument is loud. And my take is: both sides are actually right — they’re each just missing one word.

The critics’ concerns deserve a hearing

Let’s be direct: the people criticizing vibe coding aren’t shooting in the dark.

Their core worry is security and maintainability. A huge number of “prompt-first” applications have shipped without a single security review. The moment your thing touches money, identity, or someone else’s data, that concern becomes immediate and serious.

This part of the critique, anyone building real products should take at face value. A demo that runs is not the same thing as a system that can withstand real users, real attacks, and real data. There’s a wide river between the two.

But they’re missing one word: phase

Where do the critics go wrong? They lump every context into one bucket.

“AI-generated code is insecure and hard to maintain” — that sentence holds for production systems; it’s wildly overstated for prototypes. These are two completely different phases. Measuring them with the same ruler will never produce a useful answer.

Use the right tool for the phase you’re in. Holding a prototype to production standards is irresponsible in the other direction; holding production to prototype standards is self-sabotage.

doaipm has always kept these two things separate

This is exactly what doaipm has been doing all along. We’ve never said “something built with AI in a sentence can go straight to production.” We say two distinct things:

First, high-fidelity first — because it gets you to validation faster. Skipping wireframes and building something real and runnable isn’t about delivering production code. It’s because a working prototype is the most precise requirements document engineering can ever receive. Its job is to answer “did we get it right?” — in hours, not weeks.

Second, the safety net is a direct answer to the critics. doaipm’s safety net is written plainly:

Look at that list. Every specific fear the critics name — touching money, identity, other people’s data, going straight to production — the safety net blocks every one of them.

So is “AI code is garbage” true or not?

Depends what you’re using it for.

Same tool, two different outcomes. The dividing line is the word “phase”.

Maturity isn’t picking a side — it’s knowing what phase you’re in

The real signal from this whole debate: don’t pick a side; distinguish the phase.

And “which phase am I in right now, which ruler should I use” — that judgment is exactly the product manager’s job. AI has made building nearly free, which means the judgment about doing the right thing at the right phase has become the most valuable thing in the room.

High-fidelity first — but a prototype is never the same as shipping. Trust AI’s speed; hold the production line.

doaipm’s five-phase workflow and the safety net are designed precisely for “using the right tool for the right phase.” Start at the method center and the 言出法随 (“Speak it, AI builds it”) playbook.


Further reading

Discussion

No login needed. Be kind.
Loading…