Vibe Coding vs Vibe Engineering
Why AI won’t replace engineers but it will expose them
If AI makes you feel fast but fragile, this essay is for you.
I watched a talk recently that put words to something many of us are experiencing but struggling to explain. It’s not about tools, models, or frameworks.
It’s about the difference between vibe coding and vibe engineering.
📺 Talk referenced:
What Is Vibe Coding?
Vibe coding is when you:
Prompt an LLM
Accept the generated code
Run it
Ship it
Move on
There’s no deep understanding of why it works.
No clear mental model.
No ownership.
It feels productive.
It looks fast.
But it’s brittle.
When something breaks, you don’t debug you regenerate.
That’s vibe coding.
What Is Vibe Engineering?
From the outside, it looks similar.
Internally, it’s the opposite.
A vibe engineer:
Uses AI strategically, not blindly
Knows what good code looks like before it’s generated
Passes the right context to the model
Reviews outputs critically
Decides when code is good enough for the job
AI becomes a power tool, not a crutch.
The human stays in control.
LLMs Are Brilliant at the Boring Stuff
One of the most practical insights from the talk:
LLMs don’t mind writing repetitive code.
Especially things like:
React components
Forms and UI glue
CRUD logic
Boilerplate
Humans get bored and over-abstract early.
LLMs don’t.
This flips a common belief on its head:
Repetition isn’t always the problem.
Premature abstraction is.
Let AI do the boring work.
You focus on intent and architecture.
The Problems We Don’t Talk About Enough
The talk doesn’t romanticize AI. It’s refreshingly honest.
1. LLMs can generate bad code
Confidently.
Silently.
At scale.
If you can’t recognize it, you’ll ship it.
2. Too many models, too much noise
Every week brings:
A new model
A new benchmark
A new buzzword
Without fundamentals, it’s impossible to tell what matters.
3. The “pain-in-the-ass” developer trap
Nitpicking syntax.
Arguing style.
Missing the real goal.
Vibe engineering isn’t about perfection.
It’s about fitness for purpose.
Skill Matters More Than Ever
Here’s the uncomfortable truth:
AI raises the floor.
But it raises the ceiling even higher.
Effective vibe engineering requires:
Strong technical fundamentals
Understanding model strengths and limits
Knowing how to pass context well
Architectural thinking
Judgment
If you don’t know what good looks like, AI can’t help you.
What This Means for the Job Market
The talk makes a bold but realistic claim:
AI will thin the market from the bottom.
Entry-level, intern, and copy-paste roles will shrink
Agentic workflows already replace this kind of work
But engineers who:
Can steer AI
Understand systems and trade-offs
Maintain and reason about legacy code
They become more valuable, not less.
AI doesn’t remove engineers.
It removes passengers.
The Takeaway
Don’t aim to be faster.
Aim to be sharper.
Use AI like:
A junior who never gets tired
A pair programmer who needs supervision
A power tool that amplifies intent
That’s vibe engineering.
And that’s the skill that compounds.
AI doesn’t replace engineers.
It replaces people who never learned to think like one.
Which one are you becoming:-
faster, or sharper?







The spectrum framing is useful. Most of the conversation treats vibe coding and disciplined engineering as a binary but it's really a dial you adjust depending on what you're building. For throwaway prototypes, full vibes. For anything that needs to survive contact with users, you need the patterns. Simon Willison's new agentic engineering guide codifies exactly where that line sits. His take on when to trust agents with implementation versus when to keep your hands on the wheel is the clearest I've seen. Covered it here: https://reading.sh/simon-willisons-playbook-for-working-with-coding-agents-d56ccd3f959f?sk=702022f0c1f1ad123686a987c90676bd
Yes to all of this! I can vibe code, but the moment I want something to be real, I’m calling in the pros (the engineers).