There’s a new term floating around: “vibe coding.”
If you haven’t heard it yet, you will.
At its core, vibe coding is the idea of building software by describing what you want—usually to an AI—and letting it generate the code for you. No deep understanding, no architecture thinking, no debugging muscle. Just prompts, iterations, and “feels right.”
And yes—it’s powerful.
But it’s also dangerously misunderstood.
What is Vibe Coding, Really?
Vibe coding is not just using AI to assist development.
It’s relying on AI to replace the act of understanding.
You don’t think in systems.
You don’t reason through edge cases.
You don’t trace logic.
You prompt. You tweak. You ship.
Some well-known voices in the space—like Andrej Karpathy—have hinted at this shift, describing a future where programming becomes more about intent than syntax. Tools like GitHub Copilot, ChatGPT, and Cursor are accelerating this trend fast.
And at a prototype level?
It works shockingly well.
There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper…
— Andrej Karpathy (@karpathy) February 2, 2025
Why Companies Are Paying Attention
Startups are already leaning into this.
Rapid prototyping has never been faster. Internal tools, MVPs, automation scripts—things that used to take weeks now take hours.
Even larger companies are experimenting with AI-assisted development workflows:
- Faster internal tooling
- Reduced time-to-market for simple features
- Lower barrier to entry for non-engineers
From the outside, it looks like a productivity revolution.
And to some extent, it is.
A Personal Note
I’ll be honest: I do vibe coding.
But I use it very intentionally.
In my current role, actual hands-on programming is probably ~5% of my time. Maybe even less. I’m not shipping production systems every day anymore.
What I do use vibe coding for is speed:
- Spinning up quick Node.js prototypes that consume APIs
- iOS and Android prototypes that consume the same APIs
- Generating HTML/CSS/JS templates for demos
- Building fast web scraping scripts
- Testing ideas before investing real engineering effort
And for that?
It’s insanely effective.
I can go from idea → working prototype in hours. Sometimes even minutes.
But—and this is key—I know what the code is supposed to do. I can read it, validate it, fix it, or throw it away if needed. In fact, I often "correct" the AI or handle code parts myself.
That’s the difference.

But Here’s the Problem
Vibe coding works… until it doesn’t.
AI-generated code is not free of bugs.
It’s not free of bad assumptions.
It’s not free of security issues.
It just hides them better.
There have already been multiple cases of apps and tools breaking in production because they were built almost entirely through AI-generated code—without proper understanding or validation behind it. Hallucinated APIs, incorrect logic, inefficient queries, subtle race conditions… the list goes on.
The issue isn’t that AI makes mistakes.
The issue is that the person using it often can’t detect them.
The Calculator Analogy
Vibe coding reminds me of giving someone a calculator who doesn’t understand what addition is.
Yes, they can press buttons.
Yes, they can get answers.
But the moment something looks off… they’re stuck.
They can’t sanity-check the result.
They can’t debug the process.
They can’t even tell if the output makes sense.
The tool becomes useless the second it matters.
AI coding tools are no different.
My Take
AI is an incredible accelerator.
But it’s not a substitute for engineering.
At least—not yet.
And honestly, that’s part of the problem.
We’re starting to see people confuse code generation with software development.
They’re not the same thing.
Knowing how to prompt is useful.
Knowing how systems work is essential.
Because at the end of the day:
- Someone needs to design the architecture
- Someone needs to understand trade-offs
- Someone needs to debug when things break (and they will)
Where Vibe Coding Actually Shines
To be fair, vibe coding has a place.
It’s great for:
- Prototyping ideas quickly
- Exploring approaches
- Reducing boilerplate
- Learning by iteration
Used correctly, it makes engineers faster.
Used blindly, it creates fragile systems that look finished but aren’t.
Final Thought
Vibe coding is not the future of engineering.
It’s a layer on top of it.
The real advantage won’t go to the people who can generate code.
It will go to the people who understand what that code is doing—and when it’s wrong.
Because AI doesn’t remove the need for thinking.
It just raises the cost of not doing it.