Vibe Coding Is Overrated
87 comments
·May 3, 2025sharkbot
AaronAPU
Every time I see a post about something built with vibe coding, it reminds me of myself at age 12 making a really basic screensaver in GWBASIC.
All the excitement I felt because it was new to me, but it was really just a very basic toy not a real piece of software.
Meanwhile there were seasoned pros who could probably do amazing things even with GWBASIC. But that was more in spite of it than because of it.
AstroBen
> a lot of coding is delving into nuance
this is the core issue. The best language we have for specifying this nuance is still programming languages, not English
Moving up from ASM -> C -> Python we're mainly abstracting over performance and implementation details, not functionality.
Here thouhg, in making the next jump from the high level Python to an English-specified LLM output we're trying to abstract over functionality. This doesn't work. It's flawed from the start
skeeter2020
RAD & the rise of VB6 was much more measured in promises, and much more concrete in what it delivered. We wrote an awful lot of VB^ and Foxpro code, much of it quite valuable almost all of it terrible quality - but that didn't matter as much.
Vibe coding promises the world, and behold fails to deliver.
yoda97
I have already vibe-coded countless number of scripts and two side projects that were on my "list" for years, these projects would have never seen the light of day if not for Cursor. That's the whole point.
hajile
The fact that they could be "vibe coded" means that they (or something similar) probably already existed, but you just didn't know they did.
IshKebab
No, there's a very very long tail of tasks that are too niche for a proper tool to exist for but it would be annoying effort to figure out yourself.
My most recent example of this: write a script to delete all git branches that point to HEAD.
Go ahead see how long it takes you to figure out the command for that, because it took me under 60 seconds with AI.
hajile
This is the learning to fish problem. If you understand git well, a solution isn't very hard (eg, rev-parse each branch and compare to the rev-parse of the current branch and deleting if they match). If you don't understand git well, you shouldn't be turning into a script-kiddy pasting in whatever the AI spits out and hoping that it works.
davely
But the amount of time saved because one could vibe code it rather than search through Google’s terrible results is immense and a benefit in and of itself.
skydhash
Maybe. But anytime I take on the task to automate something, it was a nice opportunity to check how others do it, what other things the program can accomplish.
The decision to automate is already done, no need to rush through it.
null
unchar1
Parts of it could probably already exists in the LLM's corpus, but being able to join them together to build new things is what makes "vibe coding" so useful.
Even though, from personal experience, at scale it still falls apart
AstroBen
What the end product is depends on the specific parts chosen and the way they're put together
Just because the parts are available doesn't mean every possible combination of them has already been made
yoda97
Not if you know the field really well, I talk to my users.
dingnuts
IDK, there are a lot of little chores that I find needing done that previously would have been ten minutes of research and cli fiddling that are a prompt and copy paste now.
It doesn't feel that different but it is a little faster
hajile
If you don't understand what the copy/paste is actually doing, you shouldn't be script-kiddying it in your project. If you do understand, then the AI is just quickly writing what you already intended.
If you are having to understand something you didn't understand, it's probably taking a bunch of time to read and verify what the script does. This can be a good learning experience and reveal unknown unknowns, but probably isn't a massive speedup.
cma
I think it is somewhat similar to the emergent translation capabilities, it doesn't need to have trained on a translation of a text to do one of it. But it does need good coverage of the area.
skydhash
Is it. For small scripts like these you can get far with basic search and sources like docs/github/SO. Maybe cursor is more “fun”, “engaging”, and the like, but it’s not like it was a difficult job before.
hnuser123456
If you could throw your endless todo list of side projects at an LLM, and can see at least some of them implemented overnight effortlessly, why not? You can still take credit because you had the idea in the first place and went through the effort to write it down and describe it well enough to be achievable. It's definitely more fun especially if you have limited hobby coding time.
homebrewer
If you're fine with running them blindly and having one of those scripts recursively remove your home directory, then sure. Otherwise it's very much not a zero effort affair. More like overseeing an overconfident overenthusiastic amphetamine-doped junior developer (or running his output blindly and hoping for the best).
I really do feel like we're living in completely separate worlds, so many people are very enthusiastic about LLMs, and every time I try them, they leave me completely disappointed.
ketzo
Biking isn’t difficult, but you’ll still travel more with a car.
xigoi
Now imagine if your car didn’t have a steering wheel or pedals, but instead you had to explain to it where to go and it would misunderstand you 60% of the time.
skydhash
Only when the road permits it for that type of car. And if it’s a common road, it’s better economically to build a a train (framework, library) than to use a car (code generation). Then you could use a bycicle (short burst of code) for the parts that matter.
winrid
It is, takes much less energy.
ramoz
> Vibe coding is now a burgeoning tech movement. Will it last? Only time will tell.
Was this vibe-blogged?
'Vibe coding' is here to stay and the future of software development is assistant-led interfaces. I pair program daily with Claude Code on a distributed systems & a handful of other apps as needs arise. Most of my work is puppeteering, as well as careful directing. & I can't sit blindly, but we're producing valid software at pace I've never experienced in my career; with additional bandwidth to do some leisure activities in real time without losing productivity, vibing.
jdgoesmarching
We really need to lock down semantics here, but I wouldn’t describe what you’re doing as vibe coding.
Seems like we’re need a term for something between basic tab autocomplete and purely vibing without glancing at the code. If only to have separate conferences in 2-3 years.
anon22981
My thoughts exactly reading these comments. Generating scripts is a very good use for LLMs, but I was under the impression that vibe coding generally referred to building whole products with just prompts. It’s a very different beast to do a small script (or a todo app) than to do a relatively more complex application.
ramoz
Most of what I do is prompting. It feels vibey because I can do whatever I want while the agent works
ryandrake
"Vibe Coding" is not pair-programming with a LLM assistant, using it an intelligent auto-complete, with a human driving the structure and design of the code. The term was original meant to describe "Doing the entire program from an empty file by prompting, accepting all the code as-given, and repeating until it works."
otabdeveloper4
> and the future of software development is assistant-led interfaces
Citation needed.
WorldPeas
After a week of trying to vibe cdk code, then sitting down in 4 hours to do the whole thing myself I can confirm. While it is now a good tool to combat fatigue, research and prototype, it still struggles with context switching, arid knowledge domains and long-feedback-loop systems
skydhash
My best workflow to date is to generate snippet of code when you know a lot of the domain, but don’t want to go through the docs. Especially with languages like python. Even then, you get nonsensical stuff. But it can be great for quickly locating source material in the docs. Kinda like looking at a reference implementation to get the technique.
But it is slower than someone that is knowledgeable about the library and languages unless you don’t care about correctness.
didip
It is overrated.
I tried three times, just for fun, to start a decent-sized projects from start to finish without interventions. All failed. The AI can't seem to have far enough horizon to see the projects to completions.
AI needs a super well defined scoped, for example: an IDE companion or logo generator or writing a specific Class implementation, to thrive.
square_usual
I enjoy using LLMs for code assistance, but every time I've tried to vibe code, even with the newest models (including Gemini 2.5 Pro) and the latest tools (like Codex and Claude Code, which everyone raves about) the results have ranged from bad to middling. After all the raving on Gemini 2.5 Pro I tried again and it wrote horrendous code, seemed like it didn't understand the language (Lua) at all and went off on its own tangents doing things I didn't ask for. I think I'll wait until it gets much better before I try again.
Also, why is it so hard for LLMs to generate code without stupid comments everywhere? I don't want to see // frobincate followed by thing.frobnicate(). Even when I include clear, strict instructions they'll ALWAYS generate comments like that. It pisses me off.
Axsuul
You must be doing it wrong since Anthropic's CEO has claimed that in 12 months, nearly all code will be written by AI.
vkazanov
Wasn't this 12 months ago?
jsheard
It was two months ago, and the prediction was 90% of code written by AI in 3-6 months, and ~100% in 12 months. Maybe he will be right but in a cursed monkey's paw sense where the amount of high quality code stays about the same, but that becomes a rounding error compared to the amount of barely functional spaghetti code being churned out by agents.
Similarly ~100% of written word will probably be penned by LLMs soon if not already, but that doesn't necessarily mean the writing is any good, only that LLMs can type really fast for pico-pennies on the dollar.
shaneofalltrad
It’s more about the qty of minutes/hours AI can crunch information for you, reducing the context switching or loss of context. A lot of the back and forth will go away, replaced with prompt and planning skills needing to be more specific, for long complex runs as needed, then clean up short runs based on UAT and QA inspection after.
m348e912
Vibe coding is definitely problematic for someone who isn't a strong coder, aka me. Recently for fun, I used ChatGPT to code a python script to scrape another news site and render it in the style of HackerNews.
It took 21 iterations of code updates to get a working version. It isn't bad but doesn't pull the latest articles (I don't know why) and hell if I could debug it.
salgernon
With experience and ADHD I learned to think in units that can be debugged separately. The experience tells me where those lines should be drawn, and the ADHD taught me to avoid creating units that are too big to fit in my head.
egeozcan
ADHD teaches me a lot of things but I can never pause to recall them. I can never pause. Few weeks ago someone told me that pausing a few seconds before starting to talk allows her to express herself much better and that people react positively to it. I simply cannot do it. Impossible.
hajile
Wordpress already killed the low-end of the market a long time ago. 15 years ago, you were setting up wordpress sites and throwing on a simple theme for $500 or so then trying to get them to write up the copy and provide images (or upcharge for those services). Most of this was generally a loss leader with the actual profits coming from charging to manage the hosting for them.
This is the market disrupted by vibe coding and AI-generated copy/images.
These Wordpress or Wix/Squarespace sites account for MOST of the web, but only a minuscule fraction of high-paid devs. For those devs, AI just doesn't change very much because it has no idea what questions need to be asked to actually deliver what management wants let alone the ability to problem solve and deliver novel solutions to issues.
cumo
I've had a similar experience. It requires strong nerves and a lot of patience.
_bin_
Semi-controversial headline but I think the point is fair. It doesn't yet produce results that meet a spec well. It's fine for scripts because if it insists you do it the bot's way, that's fine. If it uses the wrong library, whatever. And so on.
I'm going to keep shilling this until people start doing it: I'd love to see everyone who says he's vibecoded something non-trivial and posts/blogs about it start dumping and attaching his full chats to it. This would really help people to understand what's hype/exaggeration and what's real, and would help others be better at the real part.
atonse
The one time so far that I actually implemented a full feature using only vibe coding (and it wasn't trivial), I had to be very specific about what I wanted, and it was in a very widely used stack (React/NextJS), it was a very common feature (sorting, filtering, pagination on a table) and it worked beautifully.
But it felt magical the one time it happened. Every other time, I'm mostly using tab autocomplete and that works quite well too.
And when I code in Elixir, I have a 20% success rate even with small requests.
manmal
Your last sentence is a bit of a gut punch tbh - I was meaning to get more familiar with Elixir for side projects, and I’ve made a few small web apps with LiveViews. Absolutely love it, even though I don’t feel I‘ve grasped the language fully yet. But some research shows that most LLMs don’t support Elixir that well.
But since my free time is so extremely limited, it would be really nice to get better LLM and agent support. So I hope the lesser used languages and frameworks get more training love, soon. Lest we all only use Next for hobby projects in the future.
_bin_
Unfortunately this is consistent for non-ultra-mainstream langs. They’re next to unusable for complex Haskell. If you want to vibe code, it’s Python/typescript/react or nothing.
hakunin
It's interesting to me how I didn't know where the "vibe coding" term came from originally, and thought someone has decided to push and hype it up really hard as an alternative approach to writing software in general. And now that I see it, it sounds way more reasonable than the way it's been spreading out of context.
I'm sure it will go down in history as some sort of intentional movement, and then someone will occasionally point out "did you know that originally this idea was never meant to be used for serious work, Andrej literally said it was only okay for throwaway weekend projects." Big not-always-good things[1] started this way — by misinterpreting something.
Of course, it's possible that in the future code written this way will actually be maintainable, performant, and secure enough that you could start trusting it, and this will morph into a legit way of writing software, but right now the hype is way ahead of what Andrej meant when he coined the term.
[1]: Examples come to mind: Agile, Scrum, Javascript (2 week project originally), there're definitely more examples.
michelb
I’ve been able to create an app with Claude that I could not have made myself. I don’t understand most of the framework(react), idioms, code or the statistical methods it uses to create the results I need. My statistician coworkers verified the output. It’s a very niche analysis so very few tools exist and are usually part of a large expensive package.
I’ve been able to extend its functionality several times without it breaking, and had Claude separate all functionality as components so it’s easier to manage. I could never have done that myself.
I consider it a very good prototype although we use the tool internally on a weekly basis. If we’re going to continue using it long term, I will probably find an experienced programmer to rebuild it from scratch, and support it.
happycube
Vibe Coding is the new offshoring - the difference is that basically anyone can do it.
crystal_revenge
This has been my conclusion as well. A lot of people complaining about the quality, bugginess and general fragility of vibe coded codebases are comparing it with their own personal, thoughtful, (and expensive!) dev process.
Having inherited a couple of hastily written but dirt cheap offshored codebases to fix, I would rather vibe code than try to untangle those garbage code bases.
Vibe coding is terrible compared to the thoughtful output of a seasoned dev, but is significantly cheaper, faster and easier to iterate on than the lowest bidder offshored. Undoubtedly most offshore coders will just vibe code anyway, so in the near term I suspect LLMs will impact these “programmers” the most.
There are parallels to the “rapid application development” push of the 90’s. Visual Basic, Tcl/Tk, Python with Tkinter, HyperCard; all of them promised shortening the development cycle and democratizing computing. Code was interpreted rather than compiled, dynamically typed rather than statically, and a lot of batteries were included.
It sorta worked, and sorta didn’t. I’m seeing no evidence that this round is different. LLMs allow coding via natural language and assuming a lot of context that is typical to human conversation, but a lot of coding is delving into nuance, which is going to be work, no matter the tool.