The Concept Document Was a Workaround
For decades, teams wrote concept documents before building because building was expensive.
5 min read
13.04.2026, By Stephan Schwab
Vibe coding feels magical in demos, then breaks on contact with real systems. The problem isn't the AI. The problem is that a non-technical person can't reliably tell the difference between "it ran" and "it will keep running". Hype sells the fantasy of skipping software development. Fear sells the panic that developers are done. Both are wrong.
“Vibe coding” is the newest nickname for an old impulse: describe what you want in normal language, watch code appear, ship it, move on.
When it works, it feels like cheating. When it fails, it fails loudly.
The failure mode is predictable: non-technical people mistake a working prototype for a working system. Then they discover why software development exists as a discipline.
Vibe coding is prompt-first development. You describe the feature. The AI writes code. You run it. You tweak the prompt until the screen looks right.
That’s not stupid. It’s a fast way to explore. It’s also a fast way to create a pile of code with no spine.
Most of the popular demos happen in a safe environment:
Real systems don’t give you that luxury.
AI is good at writing the kind of code that developers write all day:
AI is also, in a very practical sense, a pattern matching tool. It tends to follow patterns it has seen in its training material. It can extrapolate beyond that, and it keeps getting better at it, but the default output still resembles what is common.
That matters because the hard part is usually choosing which pattern fits your system. That choice is systems design: picking tradeoffs, naming failure modes, and deciding what you optimize for. Most non-technical people haven’t done that work before, so they can’t reliably tell when the AI picked a plausible, popular pattern that is wrong for their constraints.
Used by a developer, it’s an accelerator. It cuts the annoying parts. It makes the feedback loop tighter. That is real progress.
But it doesn’t remove the need for judgment. It removes the need to type.
If you want the bigger picture, start with Why We’ve Tried to Replace Developers Every Decade.
The vibe approach breaks in the same places every time. The list isn’t glamorous. That’s the point.
A prompt is a wish. A requirement is an agreement.
“Build a login” sounds simple until you answer basic questions:
A developer doesn’t just implement answers. A developer drags these questions into the room so you can’t pretend they don’t exist.
Prototypes work because they ignore architecture. Production punishes you for it.
Data model decisions. Transaction boundaries. Caching. Background jobs. Rate limits. Idempotency. Multi-tenant isolation. None of these show up in a UI demo.
If you want a concise reminder that organizations ship systems that mirror their communication structure, read Melvin Conway’s original essay, “How Do Committees Invent?”
This is why “works on my laptop” is a meme. It’s also why it keeps happening.
Vibe-coded features typically do the happy path well. The edge cases become silent corruption.
If you don’t know what a retry storm looks like, you will build one.
A non-technical person cannot threat-model their own system. Not because they’re dumb. Because they lack the mental checklist.
SQL injection. Broken access control. Credential handling. Secrets in logs. SSRF. Deserialization bugs. Supply-chain risks.
Security failures often look like success right up to the moment someone with skills takes your system apart.
A useful grounding document is the OWASP Top 10:2025 project page.
Once a prototype gets adopted, it stops being a toy. It becomes a liability.
Dependencies need updates. Bugs get triaged. Someone on-call gets paged. The system needs monitoring, backups, migrations, and a deployment path that doesn’t require prayer.
If you want a blunt summary of what makes this sustainable, read The Engine of Predictable Software Delivery.
Vendors sell hype because hope buys faster than truth.
Some executives sell fear because it justifies cutting costs. Some developers sell fear because it protects status. Everyone gets a short-term win. The organization gets a long-term mess.
AI changes the labor market. It changes how work is done. It doesn’t delete the nature of the work.
Fred Brooks called this out decades ago: accidental complexity can shrink; essential complexity stays. That’s still the right frame. “No Silver Bullet” is not a prophecy. It’s a reminder.
If you haven’t read it, it’s worth reading the original: Frederick P. Brooks, “No Silver Bullet” (PDF).
If you lead a team and want the benefits, stop trying to turn non-technical people into instant developers. Use AI to remove friction, not responsibility.
This is also where lightweight governance matters. A good governance system doesn’t micromanage developers. It makes reality visible. That theme shows up in How to Govern Without Control.
If you want a practical way to keep leadership close to reality without drowning everyone in meetings, Caimito Navigator does the boring part: daily logbooks, weekly synthesis, and signals you can act on.
Vibe coding is a great way to explore. It’s a terrible way to pretend software development is optional.
Use the tools. Enjoy the speed. Keep the discipline.
Let's talk about your real situation. Want to accelerate delivery, remove technical blockers, or validate whether an idea deserves more investment? I listen to your context and give 1-2 practical recommendations. No pitch, no obligation. Confidential and direct.
Need help? Practical advice, no pitch.
Let's Work TogetherVisibility and hands-on delivery
Navigator gives your leadership clear insight into patterns, blockers, and capacity. Our Developer Advocate writes production code with your team and gets delivery moving.