
Vibe coding, honestly: what it is, what it can't do, and how to use it without getting burned
Article Summary
A no-hype guide to vibe coding: where it genuinely shines, where it quietly breaks, and why it rewards people who actually understand code.
A friend who'd never written a line of code messaged me last month, thrilled: he'd "built an app" in an evening by typing requests to an AI and accepting whatever it gave him. It worked! It looked great! Then he sent a follow-up two days later: it had stopped working, he had no idea why, and the AI's fixes were now making it worse. He was stuck in a maze he didn't build and couldn't read.
That, in one story, is vibe coding — the good bit and the trap, back to back. It's genuinely one of the more interesting shifts in how software gets made, and it's also drowning in hype from people selling courses about it. So let's do the honest version: what it actually is, where it's brilliant, where it bites, and how to use it without ending up like my friend.
The 30-second definition
The term "vibe coding" was coined by Andrej Karpathy — a well-known AI researcher and co-founder of OpenAI — in a post in February 2025. He described a way of working where you "fully give in to the vibes" and "forget that the code even exists": you describe what you want to an AI, accept its changes without reading them closely, and just keep pasting error messages back until things work.
It caught on fast. Merriam-Webster added it as a trending term in March 2025, and Collins English Dictionary named it Word of the Year for 2025. So it's not a niche meme — it's the word a lot of people now use for "making software by talking to an AI."
One important distinction, courtesy of developer Simon Willison: not all AI-assisted coding is vibe coding. If you read every line the AI writes, understand it, and take responsibility for it, you're just programming with a very fast assistant. Vibe coding specifically means the part where you don't look too closely. Keep that distinction — it's the whole ballgame.
Where vibe coding genuinely shines
This is not a "it's all snake oil" post. For some jobs, it's wonderful.
Prototypes and throwaways. You want to see if an idea feels right before committing? Vibe-code a rough version in an hour, look at it, throw it away. The code being a bit of a mess doesn't matter because the code was never the point — the answer ("yes this is worth building properly" or "no, scrap it") was.
Small internal tools. A little script to rename your files, a quick dashboard only you'll ever use, a one-off data cleanup. Low stakes, single user, nobody's bank details involved. If it breaks, you shrug and regenerate. Perfect territory.
Learning by remixing. This one's underrated. Asking an AI to build something and then reading what it produced is a surprisingly good way to learn — you see real working code for your exact idea, and you can ask "why did you do it that way?" It's a tutorial that adapts to your curiosity. (Note the word reading. We'll come back to that.)
The common thread: low stakes, short life, single user. When those three hold, give in to the vibes and enjoy yourself.
Where it quietly breaks
Now the part the course-sellers skip.
Debugging. This is the big one, and it's exactly what got my friend. When you didn't write the code and didn't read it, you have no mental map of it. So when it breaks, you can't reason about why — you can only paste the error back and hope. Sometimes the AI fixes it. Sometimes it "fixes" it by quietly breaking something else, and you spiral. Because these tools generate code with constantly shifting structure, someone unfamiliar with the underlying code can genuinely struggle to follow what's even happening.
Scale and complexity. AI is great at the well-trodden stuff it's seen a million examples of. It struggles much more with novel, complicated problems — projects spanning many files, obscure or poorly documented libraries, anything safety-critical. The first 80% can feel magical. The last 20% — the part that makes software actually reliable — is where it tends to stall, and that last 20% is most of the real work.
Security. This one matters and it's not hypothetical. Independent analyses of AI-generated web apps have found real, exposed vulnerabilities — apps leaking personal data because nobody checked what the code was actually doing. A December 2025 study from CodeRabbit reported that AI co-authored code contained noticeably more "major" issues than human-written code, with security problems showing up at a meaningfully higher rate. The headline: code you didn't read can leak data you didn't mean to expose. If real users or real data are involved, "I didn't look" is not a position you want to defend.
| Vibe coding is great for | Vibe coding is risky for |
|---|---|
| Prototypes you'll throw away | Anything real users depend on |
| Tools only you will use | Anything touching personal data |
| Learning by reading the output | Code you have to maintain for months |
| Simple, common tasks | Novel, multi-file, complex systems |
The thing nobody selling courses will tell you
Here's the honest thesis, and it's a little counterintuitive: vibe coding rewards people who already understand code.
The better you understand programming, the more you get out of these tools — because you can read the output, smell when something's off, catch the security mistake, steer the AI away from a bad path, and take over for the last 20% it can't finish. The AI becomes a force multiplier on top of real understanding.
The less you understand, the more vibe coding can hurt you — not because the tool is bad, but because you can't tell good output from a confident disaster. You're trusting something you can't check. My friend wasn't failed by the AI; he was failed by having no way to evaluate what it gave him.
So the skill that makes you dangerous with AI tools isn't prompt-wording tricks. It's being able to read and judge code. That's the leverage point.
A starter workflow that won't burn you
Here's how to use these tools and stay in control. It's barely more effort than pure vibing, and it's the difference between a tool and a trap.
- Prompt — describe what you want, specifically.
- Run — see if it works at all.
- READ — this is the step that matters. Actually read the code. You don't need to understand every character. You need to roughly follow what it does and ask, "does this make sense? Is it doing anything I didn't ask for?"
- Fix or ask — when something's off, either fix it yourself or ask the AI to explain why it did something before you ask it to change it.
- Repeat — and keep reading every time.
The entire trick is step 3. Pure vibe coding skips it. Sustainable AI-assisted coding never does. Read the code, and you keep the map. Skip it, and you're lost the moment something breaks. That habit alone separates people who ship reliable things with AI from people who post "it stopped working and I don't know why."
"So should I still learn to code?"
Yes. More than ever, actually — just differently.
Learning to code in the AI era is less about memorising syntax (the AI will happily produce that) and more about the durable stuff: how to read code and tell if it's sound, how to think about a problem in clear steps, how to debug, and how to judge whether an AI's confident answer is actually correct. Those are the exact skills that turn AI from a risky black box into the most powerful tool you've ever had.
If you're a professional thinking about where this leaves you, the honest answer is that understanding the fundamentals is becoming more valuable, not less — it's what lets you supervise the machine instead of being supervised by it. (More on that on our page for professionals.) And if you're earlier on, the Python tutoring we do focuses on exactly the reading-and-judging skills that make AI tools safe to lean on — because the goal was never to compete with the AI on typing speed.
The recap
- Vibe coding = building software by describing it to an AI and not reading the code closely. Coined by Karpathy in February 2025; Collins' Word of the Year 2025.
- Great for prototypes, personal tools, and learning by reading the output.
- Breaks down on debugging, complexity, scale, and — importantly — security. Code you didn't read can leak data you didn't mean to.
- It rewards people who understand code, because they can read, judge, and finish what the AI can't.
- The one habit that saves you: READ the code. Keep the map.
The future isn't "humans vs. AI coders." It's people who understand what the machine is doing, sitting comfortably on top of it — and people who don't, stuck in a maze they can't read. The good news is which group you're in is entirely a matter of what you choose to learn.
If you'd like to get to the point where you can read an AI's output and confidently say "yep" or "nope, that's wrong" — that's exactly what working through it with someone, one-on-one, is for. No hype, just the skills that make the tools work for you.
Sources
- Vibe coding — Wikipedia (Karpathy origin Feb 2025; Merriam-Webster Mar 2025; Collins Word of the Year 2025; documented security/debugging/scale limitations and the CodeRabbit Dec 2025 study)
- Not all AI-assisted programming is vibe coding — Simon Willison (the read-the-code distinction)
Enjoyed this post? Get the next one in your inbox.
A short, useful email when there's a new tutorial, study guide, or career-prep post on the blog. No spam, unsubscribe anytime.
Written by Ali Jabbary
M.Sc., P.Eng. • Expert Data Scientist & ML Engineer with 10+ years of experience. 500+ students helped worldwide. Specializing in Python, AI/ML, and turning complex problems into simple solutions.


