At some point in the past 18 months, it became trendy to say that software engineering was dead. Why learn to code when you can tell an LLM, “make me an app with a login screen and a database” and out pops code? Voilà. Startup in a weekend. Series A by Thursday.
Thus was born vibe coding - the art of building software by manifesting it. Mix 1 part natural language, 1 part vague ambition, and 1 part blind confidence as you paste mystery code into production.
For a brief, shimmering moment, it almost felt like the future. Until it didn’t.
AI code assistants unlocked a wave of creative energy. Non-technical founders spun up MVPs. Engineers offloaded boilerplate. Students built full apps in a weekend.
But prototype-grade code isn’t production-grade code. Many teams that began with LLM scaffolds are now spending weeks refactoring. Some have even declared “code bankruptcy.”
Because there’s a difference between writing code and building software.
The former is syntax. The latter is systems thinking.
At some point, every serious technical team has the same realization:
you don’t just need code - you need engineering.
Vibe coding isn’t a tech failure, it’s a categorization error. It assumes that the problem in software development is generation speed.
But for any company past the napkin stage, that’s not the bottleneck. It is:
- Understanding and reflecting business logic
- Architecting clean, extensible code
- Managing state, latency, auth, concurrency, observability
- Reasoning through edge cases and failure modes
LLMs don’t reason through trade-offs or hold long-term context. They don’t ask, “Why does this route even exist?”
So when teams use LLMs to generate full features - or worse, entire codebases - they end up with systems that appear functional but are structurally hollow. Like a house with beautiful wallpaper but no load-bearing walls. There’s a market for vibe-coding. It’s just not software.
This is the real distinction: vibe coding and AI in software development are not the same thing.
- Vibe coding tries to replace engineering. Hand the keys to the model, hope for the best.
- AI in software development amplifies engineering. Accelerate rote work while owning architecture, logic, and trade-offs.
The first treats AI as a substitute; the second treats it as a lever.
Vibe coding is fantastic 0 → 1. It’s a liability 1 → 100.
It’s like bringing a balloon animal to a knife fight. Wonderful at a birthday party. Less helpful in real combat.
There’s a real market for fast, disposable, front-of-the-house code. But most tech companies are in the business of building the kitchen, not just plating food.
The panic about “engineering being dead” comes from people who don't understand it. Engineering isn’t syntax. It’s constraint management, abstraction design, knowing when to optimize and when to punt.
Ironically, as AI makes building easier, the value of engineering judgment goes up. The faster you can go, the more you need someone to steer.