A dev should know how to use both printf and debuggers in the appropriate circumstances because each has its limitations.
> "StackOverflow is cheating."
Copying and pasting from Stack Overflow without understanding what it is that is being pasted is incompetence, not cheating. (The same goes for LLM assistance.)
You're arguing against things next to no one has said and it doesn't do much for the credibility of the rest of the essay.
My biggest pet peeve with the phrase "vibe coding" is that no one (including OP, apparently, sorry OP) seems to be aware of where the phrase came from.
This tweet from Andrej Karpathy[1] coined the term and provides a good definition (with a few snips for brevity):
> There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. ... I "Accept All" always ... When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. ... but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.
It's not that hard to understand that this is a distinct thing from "AI-assisted" development. It's a distinct thing that can be fun and no serious person thinks it should be your only modality for getting real work done.
If you've got an AI-aided workflow and uninformed people are dismissing what you're doing as "vibe coding" just... idk, ignore them? My opinion is that anyone who hasn't at least tried this stuff and taken the time to understand how it could be useful to them is just not worth listening to.
OP - I was aware it was coined by Karpathy, but confess that I never knew the meaning in relation to his way of working which is cool. It's the snarky types on reddit who use that term derisively - and right, I should just ignore them. So, good points - I have to agree with you've said.
I wrote this because the term “vibe coding” irritates me. This meme has taken on a weird, dismissive tone that doesn’t reflect what serious AI-assisted programming actually feels like.
The piece is about how this meme obscures a genuine shift in developer workflows, especially for the many people who are actually shipping production code with aid of LLMs.
Curious how this community sees the term. Is it helpful? Misleading? Harmless? Something else?
I think you’re overreacting, to be honest. Whatever the original intent of the term, “vibe coding” as used does not — in my experience — refer to using LLM assistance for coding in general.
No, “Vibe coding” is a pretty accurate descriptor for the AI slop code dumps a lot of people are putting into PRs now. Maybe it’s acceptable for web UI front ends, but anything people actually rely on needs to be held to a higher standard.
Very general rule-of-thumb: Doesn’t matter if the AI wrote some or all of the code. If you, personally, can explain every line in the PR, and justify its existence, it’s fine; it’s not vibe coding.
Arguably AI-assisted/pair programming is a subset of what is usually attributed to vibe coding. It's different controlling the LLM to your own needs and "vaguely describing, accepting everything, explore correctness by experimentation" an LLM generates. Vibe coding usually refers to the later, and it isn't used mockingly but rather cautiously since something build like that potentially lacks longevity/safety/etc. If something also seemingly lacks effort ("Show HN: Made an awesome DNS resolver in Zig by prompting Claude to make an awesome DNS resolver in Zig. Didn't even tested it!"), then AI slop is used mockingly. You're saying "[t]he human still architects the system" and similar. Yet the many examples that somehow even end up here show that for projects build from ground up in this approach the human has no idea on the system's architecture, the human has no idea on correctness, and sometimes the human has no idea the code even works.
Also,
>Real devs use printf, not debuggers.
>TypeScript is just training wheels.
Ironically using a debugger over print statements and TS over JS requires more effort.
> "Real devs use printf, not debuggers."
A dev should know how to use both printf and debuggers in the appropriate circumstances because each has its limitations.
> "StackOverflow is cheating."
Copying and pasting from Stack Overflow without understanding what it is that is being pasted is incompetence, not cheating. (The same goes for LLM assistance.)
You're arguing against things next to no one has said and it doesn't do much for the credibility of the rest of the essay.
My biggest pet peeve with the phrase "vibe coding" is that no one (including OP, apparently, sorry OP) seems to be aware of where the phrase came from.
This tweet from Andrej Karpathy[1] coined the term and provides a good definition (with a few snips for brevity):
> There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. ... I "Accept All" always ... When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. ... but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.
It's not that hard to understand that this is a distinct thing from "AI-assisted" development. It's a distinct thing that can be fun and no serious person thinks it should be your only modality for getting real work done.
If you've got an AI-aided workflow and uninformed people are dismissing what you're doing as "vibe coding" just... idk, ignore them? My opinion is that anyone who hasn't at least tried this stuff and taken the time to understand how it could be useful to them is just not worth listening to.
[1]: https://x.com/karpathy/status/1886192184808149383
OP - I was aware it was coined by Karpathy, but confess that I never knew the meaning in relation to his way of working which is cool. It's the snarky types on reddit who use that term derisively - and right, I should just ignore them. So, good points - I have to agree with you've said.
fwiw i did read and enjoy the article, so don't take any of my tone above as discouragement!
Appreciate that.
Link Broken - Medium Story Deleted
Linux Power User / Tech Writer here.
I wrote this because the term “vibe coding” irritates me. This meme has taken on a weird, dismissive tone that doesn’t reflect what serious AI-assisted programming actually feels like.
The piece is about how this meme obscures a genuine shift in developer workflows, especially for the many people who are actually shipping production code with aid of LLMs.
Curious how this community sees the term. Is it helpful? Misleading? Harmless? Something else?
I think you’re overreacting, to be honest. Whatever the original intent of the term, “vibe coding” as used does not — in my experience — refer to using LLM assistance for coding in general.
No, “Vibe coding” is a pretty accurate descriptor for the AI slop code dumps a lot of people are putting into PRs now. Maybe it’s acceptable for web UI front ends, but anything people actually rely on needs to be held to a higher standard.
Very general rule-of-thumb: Doesn’t matter if the AI wrote some or all of the code. If you, personally, can explain every line in the PR, and justify its existence, it’s fine; it’s not vibe coding.
Arguably AI-assisted/pair programming is a subset of what is usually attributed to vibe coding. It's different controlling the LLM to your own needs and "vaguely describing, accepting everything, explore correctness by experimentation" an LLM generates. Vibe coding usually refers to the later, and it isn't used mockingly but rather cautiously since something build like that potentially lacks longevity/safety/etc. If something also seemingly lacks effort ("Show HN: Made an awesome DNS resolver in Zig by prompting Claude to make an awesome DNS resolver in Zig. Didn't even tested it!"), then AI slop is used mockingly. You're saying "[t]he human still architects the system" and similar. Yet the many examples that somehow even end up here show that for projects build from ground up in this approach the human has no idea on the system's architecture, the human has no idea on correctness, and sometimes the human has no idea the code even works.
Also,
>Real devs use printf, not debuggers.
>TypeScript is just training wheels.
Ironically using a debugger over print statements and TS over JS requires more effort.
Very Inefficient But Entertaining coding
Stop telling people what to call things. We'll call them whatever we want.
vibe coding
technical debt
enshittification
Tech has a real knack for stupid terminology.