vibe coding is not a bad word
the origin of "vibe coding"
Let’s start here: vibe coding is not a bad word.
The term itself was coined by Andrej Karpathy — former Director of AI at Tesla, founding member of OpenAI, Stanford PhD, and one of the clearest teachers of deep learning alive today. His credentials in AI are impeccable, and when he introduces a phrase, it’s worth listening.
When Karpathy first used the term, he was clear: vibe coding was for scaffolding ideas quickly, for non-serious apps, for things not meant to be production grade. That’s what made the name disarming — casual, playful, like “just vibing” your way through code.
But here’s the shift I’m noticing: with modern LLMs — models like Opus 4.1 and GPT-5 — vibe coding is no longer just about toys. Under the right conditions, it’s becoming a legitimate workflow for building robust features and applications.
from casual scaffolding to serious execution
Think about how developers actually work. We’re rarely building from scratch. Most of the time we’re inside large, mature codebases that already have:
- Guardrails — linting rules, test suites, type systems.
- Protocols — hooks, CI/CD pipelines, review processes.
- Architecture — established patterns, conventions, and scaffolds.
Drop vibe coding into this environment and many of its pitfalls are already covered. The loose, free-flowing energy that might look dangerous in a raw repo becomes powerful when layered on top of an existing structure.
Scoped tightly, vibe coding can deliver enterprise-grade features. It’s not just a playground anymore.
water vs. legos
Here’s one way I see the paradigm shift:
- Traditional coding is like building with Legos. You stack blocks in a strict order. Every stud has to fit just right. Precision is everything.
- Vibe coding is like water flowing into a container. You define the shape (the class, the architecture, the constraints), and then let the model fill it. You don’t control every drop. You guide the flow.
This feels looser, even wrong at first — like cheating. But it’s not. It’s simply a different medium.
don’t be fooled by the name
“Vibe coding” sounds flippant, almost unserious. That’s part of why some developers scoff at it. They picture small hobby apps spun up in Replit, or playful no-code-ish tools like Lovable that make a to-do app or a weather widget.
And yes, those exist. They’re fun. They’re not enterprise-ready.
But don’t mistake the casual branding for the limits of the paradigm. Vibe coding is already dangerously effective — dangerously good.
It expands our ability to create quickly. It lets us be freer and more experimental. It opens space for creativity where traditional workflows often force us into yak-shaving drudgery.
orchestras, DAWs, and engineers
As a musician, the analogy is obvious to me.
If I insisted on writing every note by hand and playing every instrument myself, I’d lose out on the massive leverage of a DAW like Logic or Ableton. I can compose, orchestrate, and explore with an entire band or orchestra in front of me. I’m still the composer — but I don’t need to touch every string or press every key.
Vibe coding is the same. You don’t need to micromanage every keystroke. You orchestrate. You direct. The LLM plays the parts. And increasingly, it plays them with professional-grade skill — better than 95% of human engineers at rote implementation.
That doesn’t mean you abdicate vision. You still need architectural sense. You still need to scope wisely. But your role shifts from bricklayer to conductor.
enterprise applications
Let’s be specific:
- You can drop an LLM into your enterprise codebase.
- You can connect it to your MCP servers.
- You can let it handle repetitive scaffolding, integration tasks, API wrangling, and boilerplate.
- You can move fast, iterate faster, and still have confidence that your tests and guardrails will catch regressions.
This isn’t hypothetical. I’ve seen features reach 90–95% completion via vibe coding alone. The last polish still matters — but the bulk of the work is accelerated beyond belief.
the new paradigm
So let’s stop treating vibe coding as a dirty word.
Yes, Karpathy coined it in a playful context. Yes, it started as “quick and dirty scaffolding.” But the technology has outrun that framing.
We’re entering a world where vibe coding is not just acceptable — it’s the default mode. It’s the way to get things done. It’s a new paradigm of software development, one that blends architectural intention with fluid, model-driven execution.
Don’t dismiss it. Don’t get stuck on the name. Understand the shift. Embrace it. Because vibe coding isn’t just for side projects anymore.
It’s the way forward.