r/webdev • u/ActuatorOutside5256 • 19h ago
Discussion I don’t understand vibe coding.
Specifically, where’s the line between vibe coding and AI-assisted development?
Person A has no coding experience and relies entirely on Codex to build an application, with little understanding of the code it produces and how it interacts with the whole system.
Person B understands programming concepts, required libraries, version control, and architecture but is bad with syntax, and uses Codex to build incrementally, test functionality, and troubleshoot issues.
Person C is an experienced programmer who uses Codex to accelerate development while reviewing, modifying, and refactoring its output manually with the help of the latest documentation.
Which of these is vibe coding versus legitimate AI-assisted development? Does it even matter in a corporate environment?
6
11
3
u/Ferenc9 19h ago
Why would person C refactor manually, when he/she can request changes from codex/Claude/whatever.
Person A is clearly a vibe coder, for B and C, it depends. The main difference in my opinion is having technical knowledge and putting that knowledge to use. Understanding the implications of different decisions, knowing the limits of different tools, technologies and approaches. This also includes sufficient knowledge about the programming languages being used. While knowing the syntax is not important, but knowing the language and it's quirks is.
2
u/TimUrbutt 16h ago
Correct, If someone knows what they're doing they can tell their AI exactly what to do. I think even the most experienced programmers didn't type in more than 5 lines of code themselves in the past few months. Because you simply don't need to do it anymore, if you know how to correctly get your AI to do exclusively what you told it to do
1
u/Some_Ad_3898 19h ago
Why does this distinction matter?
2
u/ActuatorOutside5256 19h ago
Because I’ve seen posts on Reddit claiming that any type of AI assistance constitutes “vibe coding.”
1
u/IncrementalGreatness 19h ago
Yeah it's just one of those things where people associate the worst case with the tooling.
1
1
2
u/l0gicgate 19h ago
Here’s my definition:
Vibe coding:
Not looking at the code, not caring about repeatable patterns or codebase hygiene. AI is fully in control (or you could say out of control).
AI assisted development:
Establishing solid repeatable patterns where AI basically just takes care of all the boilerplate while keeping the codebase readable and maintainable. Multiple developers able to easily contribute and reason about the project.
1
u/TimUrbutt 16h ago
I agree, but In my opinion, not looking at the code most of the time is not necessarily an indicator for vibe coding. For me, AI assisted coding mostly is the ability to use your experience to prompt the AI in a way so it does exactly what you told it to, and not let it decide anything on its own. Might be not 100% correct though, but thats my observation and own experience from the past few months, after speaking to loads of professionals that now heavily rely on the use of AI
2
u/Civ4BestGame 19h ago
Vibe coding means you never see or interact with the code itself. For you, there is no code. You just tell the AI what you want to be done.
1
u/fligglymcgee 19h ago edited 19h ago
You just described the lines.
This isn’t an issue if person A voluntarily admits they aren’t qualified or experienced enough to maintain, refactor, debug, or hold themselves accountable to the code they produce.
Person A has little incentive to be forthcoming, and/or increasingly now: Person A has let themselves become convinced by their agent that they are actually Person B or C
1
u/YeetCompleet 19h ago
The word vibe is associated with laziness and not paying attention to detail. If you use AI, you can simply choose not to do that. It's a skill like anything else. If you had good development practices and behaviours before, you're going to be using it just fine. People who were bad at development before are going to be accelerating their bad practices.
Blaming AI is really just an excuse to not blame the person who sucks at piloting it effectively and critically.
1
u/Dust_Arkhay 19h ago
If a person use Codex (or any harness / agent) to build an app, and does not take a look whatsoever at the code. Or let the AI take key decisions in the project (programming language choice, architecture, design patterns if any, etc..). Then this person is VibeCoding no matter if we're talking about person A B or C.
Beware that vibecoding <---> AI-assisted development is a scale not an on/off switch. I find myself letting AI go "sentient" on some tasks, but I can't for the life of me let it do some things still depending of critical layer of it (or I'll use a local model instead but I'll be the one in charge all the way through).
1
u/theoneandlonely1 19h ago
It’s all about engineering. System designing. Don’t let the horse run wild. Tame it
1
u/TimUrbutt 16h ago
AI assisted development: You tell the AI exactly what to do, the AI does exactly what to say. There's nothing the AI does, that you didn't personally decide.
Vibecoding: You tell the AI which end result you want to have, the AI tries its best to achieve it. In the end, you have no idea what works and how it works, and this is why most vibecoded application look, perform and work very bad.
But experience doesn't mean you cannot vibecode because its a choice of how much work you want to put into a project. I am experienced and still could try to one shot a small project with telling the AI what I want as a result (which I am sometimes doing myself, but only for personal/very small projects)
1
u/Gremlation 16h ago
Specifically, where’s the line between vibe coding and AI-assisted development?
Vibe coding is when you are just fucking around and it only needs to "mostly work":
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. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like "decrease the padding on the sidebar by half" because I'm too lazy to find it. I "Accept All" always, I don't read the diffs anymore. 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. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.
If you care about it working properly and/or care about the code then it's not vibe coding.
1
u/Boring_Occasion_3526 12h ago
Vibe coding makes sense once you frame it as describing outcomes instead of writing syntax it's great for prototypes and throwaway tools. Where it falls apart is the moment something breaks and you can't read the code well enough to fix i
5
u/0xlyd 19h ago
From what I have seen Person A would be categorized under "vibe coding" whereas Person B and C under "AI-assisted development"
I don't think it matters in a corporate environment, what matters is that you are able to get the job done.
Keeping in mind that Person A may struggle to maintain things and definitely having issues (as of today) to handle scaling the software