Grumble, vibe-coding. Like most hip new tech terms, it's doing that thing where it tries to sound precise while actually meaning five different things depending on who's pitching it. Accuse me of vibe-coding (oh gawd, is it hyphenated!?!) and I'll laugh and agree with you. My buddy Aryeh got a tongue lashing for saying it on LinkedIn (lunatics).
Honestly, I'm not even convinced we needed a term in the first place. Nobody invented a special name for "coding with an IDE" when IDEs showed up. We didn't call it "vibe-typing" when autocomplete became normal. We just... wrote code. The tools got better. We shipped faster. Nobody wrote a freaking manifesto about it.
But "using AI as a tool" has drifted into "using AI to do everything," and that's where the confusion starts.
Also: I've had multiple clients ship LLM-generated code straight to production in the past year. Not "AI helped write a test case." I mean let Replit do whatever it is Replit does (...Postgres? Really?) smash that "publish" button, and watch it all burn down. Nobody wanted to be the person like me asking dumb questions like "did we test this?" or "what does this code actually do?" Those are apparently "negative vibes."
Vibe-coding, the way I define it
Vibe-coding is delegating both implementation and judgment to an AI, then shipping without verification, understanding, or ownership.
That's it.
And yes, this is obviously my take. I'm sure someone will tell me I'm wrong on Reddit or LinkedIn (lunatics).
Here's what vibe-coding actually looks like in my universe
It's not a numbered checklist. It's a behavior pattern.
You paste a prompt into Cline, approve, approve, approve, and push to main. You don't run tests...because it "looked" right. You can't explain what the code does, but you feel it in your bones. You accept security advice from a model that also thinks glue-on-pizza is a valid life choice.
Then you end up in a production incident. Or worse: you end up explaining to your CSO why customer data ended up getting leaked. Eek.
What I call "just coding" with AI
Using AI to code is AOK. Normal, even. I do it daily. Most good engineers I know do it. Even their friends do it!
- I use an LLM to draft a list of to-dos, then review the list like I mean it.
- I demand that it build "comprehensive" test cases, and then do it again.
- I create a skeleton directory of files and folders, and let the LLM write boilerplate code - it's not perfect, "No, I'm using Flask 3.1.2" is a pretty common response.
- I copy-pasta bugs directly into the LLM and let it sniff around the code for a minute or two so I don't have to.
LLMs don't remove responsibility, they're force multipliers
The introduction of LLMs into my workflow didn't change my job. It change the speed. And speed without judgment is how you end up with a very efficient failure. Fail fast!
If you're dying to know (this is going to get dated really, really, really fast). Today's "just coding" stack for me is:
- Claude Code for "go write feature documentation"
- Cline using Gemini 3 Flash for "just go look and report back"
- Roo Code, Claude Code, and Jules for "go code this function/method" or "go write this test suite"
- Perplexity for "go research the crap out of this, and I want excruciating detail"
- Gemini Pro and Claude simultaneously for "gut checks"
Finally, let's pour one out for our developer ancestors who had to chisel binary onto stone tablets...and they didn't even have Stack Overflow!
Laters!
-Sethers