Vibe coding earned its name honestly: Andrej Karpathy described it as fully giving in to the vibes, prompting an AI and accepting what it produces without pretending to understand every line. It's a genuinely useful way to move fast on something disposable. The trouble starts when disposable code quietly becomes the system people depend on.
Vibe coding was a shortcut. Vibe engineering is the discipline it needs.
“Vibe coding” describes prompting an AI to produce code and shipping it on trust: reading the output for vibes rather than reviewing it line by line. It's genuinely useful for prototypes, throwaway scripts and exploring an idea fast.
“Vibe engineering” is the more serious version of the same fluency: using AI to move quickly through the first draft, but keeping the judgement, testing and review discipline of production engineering intact. The difference isn't the tool. It's whether anyone still understands what shipped.
The failure mode is skipping the review, not using the AI
Teams get into trouble when a prototype built on vibes quietly becomes the production path, without anyone applying the scrutiny that transition should require. The AI didn't cause that. The missing review step did.
The useful discipline is knowing which mode you're in. Vibe coding to learn something fast is a feature. Vibe coding your way into a system real users depend on is a risk that needs a name, so a team can catch it before it ships.
What this looks like in practice
A founder vibe-codes a working prototype over a weekend to test an idea with five early users: genuinely useful, low stakes, exactly what the mode is for. Three months later that same codebase is processing real payments for two hundred customers, still built the same way, because nobody decided it needed to graduate. That's not a vibe coding problem. It's a missing decision about when the mode should have changed.
In plain terms
Vibe coding means trusting an AI's code because it seems to work, without checking it carefully. That's fine for a throwaway experiment, risky for anything real people depend on. Vibe engineering means using that same speed but adding back the checks a professional would insist on before something goes live: tests, review, and someone who actually understands what shipped. Same tool. Different level of care, depending on what's at stake.