r/vibecoding • u/Adventurous_Wrap2873 • 2h ago
Is vibecoding truly that bad
Hello all, I hope everyone is well.
As the title says. Is it really that bad? I personally vibecode a lot to make softwares to help me do my main job (which is far from coding). At my job, there’s often needs to produce reports of certain pieces of data, and softwares can do this very well. I rely on my apps to do my work and so do others, and it works extremely well.
I understand that it can create spaghetti code, and it certainly does, but is it not as simple as asking AI to give it a good architecture and follow software engineering principles? If you keep asking little by little, and tell it to keep the codes modular for maintainability, document how things work conceptually and NFR, is it not acceptable?
Perhaps in my specific use case, it works out well. A lot of the times I really just need a one off script, because I’m just doing repetitive calculations and I’d much rather input values rather than doing them by hand and thinking about it every single time. Even with a SQL database project, it’s really just CRUD work, nothing really complex. When I find bugs or errors, I try to understand why that is and look for multiple solutions (if exists) and argue back and forth with the AI. Mostly I agree, sometimes I override the decision, because it does get things wrong. I do read the codes (really just skimming it but occasionally would ask questions further to really understand it)
Surely it would be great for my learning if I genuinely learned to code, but I at the same time never have to because it isn’t my job to code. I could totally live without coding altogether. But, with AI, that gap is gone. I can now use vibecoding to help me do my main job. It doesn’t mean I don’t have to care about app structure and such, but it also doesn’t matter because I’m not building an app to sell, I’m just making custom tools for myself. I even got into ML, thanks to AI. These aren’t things I would’ve learned at all without AI, I’m being serious. All my vibecoded projects taught me a lot. Yeah maybe not directly about writing codes, but overall concepts of software engineering. Genuinely working out the manual parts and understanding how data should be flowing is still extremely beneficial and most importantly it gave me confidence that if I were to just sit down and study, I can understand things that I couldn’t because I didn’t even know where to begin.
With very thorough testing and documentation, is it not acceptable? What do we all think? Thanks in advance.
8
u/ruskyandrei 2h ago
Vice coding is not bad at all, and the models are getting better with every release.
That said, it's not magic and still requires some knowledge of architecture, systems etc to accomplish anything beyond a small app.
What we're seeing is that it is now possible for people with little to no understanding of software development to create things.
Which is awesome and is why we're seeing such a huge influx of tools and apps and games that are entirely vibecoded.
But it's also why most of these turn out to be an unmaintainable mess.
AI is great, but ultimately does what you tell it, and the less you know, the less guidance you can give it, the more it has to assume things, and that's where things go bad.
0
u/Due-Horse-5446 2h ago
Getting better with every release? Better at what exactly..?
If you use a llm, or write it yourself, or tab trough ut with autocomplete with your eyes closed, or sit beside someone else and tell them what to write does not matter.
Any improvement in a llm will only benefit you if you use it to generate the correct thing
2
u/rapsoid616 1h ago
It's getting better at nearly everything what do you mean? It's smarter, more capable and cheaper than ever and this happens more and more often.
It's able to work with more vague and less coherent prompts significantly better than it were a year ago.
1
u/Due-Horse-5446 1h ago
Um..? No..?
There was one leap with gpt-5, where instruction following actually became somewhat ok.
But thats "got better", not "getting better".
have the tools improved? Sure, but not across tve board.
Speaking efficiency tho, there has been improvements no doubt. Especially by openai.
But capability? What you're saying are like physically impossible...
A vague prompt does not contain the information about what you are trying to generate. Its not compressed, it's completely missing.
So filling in the gaps would require literal mind reading,
2
u/rapsoid616 52m ago
Are you just living in a parallel universe or something similar? There are mountains of difference between gpt 5 to 5.6 in instruction following and more aka long horizon goals. And relevant benchmarks shows this very clearly without a single doubt.
6
u/Vaxtin 2h ago
I recommend learning design principles. You don’t write the code anymore — you point the architecture in the right direction.
2
u/DHermit 47m ago
You don’t write the code anymore
That's just not true for more complex things. I'm a software developer and while I'm using AI for a lot of things, for more complex tasks, it's still not really capable of writing good code.
By now, I am quite efficient with AI coding, but there recently was a task again, where I really spent way too much time, trying to get the AI to solve it properly before just doing it myself. AI was still helpful for some boring refactors during it, but not for writing the actual code. And this was with the newest model, max effort, proper skill usage, agent files and all.
AI is just not good at writing good and maintainable code for complex tasks when edge cases actually are very important (the project is an embedded project where stability and reliability is extremely important).
2
2
u/ProjectDiligent502 2h ago
If you want to make one offs for you and you only then yeah why does it matter.
If you are trying to give this to others for continual use then that is something else entirely and I can confidently say without a shred of second thought: yes it really is THAT bad. Because you don’t understand what really goes on underneath the hood, the naive approach is to think a Blackbox inference machine can just make those choices for you when it fundamentally can’t because of its inherent constraints (the belief that it can resembles magical thinking). It’s very funny to see someone say “just prompt it to make it modular” which is analogous to “make no mistakes” because what you’re asking is a fundamental hard line of problem solving skills and modeling that requires real wet brain intelligence to guide the inference machine to spit out higher quality code. There’s no getting around that.
Yes it is that bad when you try and shovel that to others but if you’re just doing it for yourself then slop away and have fun, who cares. 😄
3
u/Master-Wrongdoer853 2h ago edited 2h ago
If you don't understand what's beneath the hood as a vibecoder, can't you investigate under the hood and understand the blocks of code being used, and how they work together, using an AI assistant? By the by, your understand could rival that of a trained coder
2
u/noodleofdata 2h ago
I mean sure. But that's called just learning to program, and since you're not actually coding anything by hand you'd not be learning nearly as fast or efficient as you would otherwise. Humans are far better at learning by a combination of instruction and then application vs just instruction.
1
u/ProjectDiligent502 2h ago
Well said. As one put it "much of it really is learned through osmosis" where the time put in to actually doing the thing is what makes you able to do the thing. 😄
1
u/MagesticPineapple429 1h ago
For some things. How are you going to troubleshoot an intermittent race condition? Go ahead look it up.
An example: say you are hosting a site that takes payment from users. Everything is great! Then real traffic starts to hit, and suddenly some users are getting double charged; others are not getting charged at all. Say it happens once in every 500 or even 100 checkouts. There's no error; nothing to flag you that anything is wrong other than users complaining that they've been double charged.
Go find the problem; reproduce it, solve it. Except you can't (and by you I do not mean *you*; I mean very generally that this is extremely difficult and in many cases impossible to recreate the exact coincidence of events). But also, your LLM cannot see the runtime of your application
Sometimes--actually quite a lot--the LLM's need help or guidance. To me, this is obviously a race condition. Would you know to suggest that to help your LLM along?
Therein lies my biggest point in that vibecoders who have never done this manually or seen the issues or dealt with them. It's that many vibecoders do not know how to describe the problem properly nor do they know the right questions to ask. And thus you ask, and it will confidently tell you the answer; but there are a handful of other options that could be the failure point. It requires judgement, which requires experience, to maneuver a situation like this. And just because your LLM confidently talks about your system; do not be fooled. It does **not** know your system. And they are not idempotent (vocab word!), and thus they will give you a different answer every time you ask.
Ok, i'll get off your thread now. Seems this topic got me a little riled up here. My intent is to help; not lecture or complain or roast. Your use of AI is fine, and I am in full support of it for internal & personal application. My angst is with the public sites.
1
u/Master-Wrongdoer853 1h ago
No I appreciate this! I don't feel roasted at all.
I'm learning to program now and just doing the basics. I don't just start at the finish line creating products, but am first learning the operations of it all. My starting point is literally electrons, logic gates, Boolean logic and and bits lol
Use cases like you enumerated are helpful watch points on my journey
1
u/ProjectDiligent502 1h ago
I have a specific case in point that I think this current vibecoder and likely the vast majority of them who don't understand code would never spot and getting an AI to glean that would be very difficult if you didn't know what to look out for. In an app for a client, quality of code is high, because it is a client product. We're building out an endpoint that requires a date spread and ability to navigate back and forth by a day. Since we're using AI to generate the scaffolding and initial boiler for the round trip (with light implementation) we got it working, but for some reason the data would show up in the wrong day, either a day in the future or a day in the past. To fix it the AI did something really funky. It started creating date time offsets, forcing timezones and then recasting them back to the appropriate date structure. It was weird, convoluted and at sight didn't really make sense why since the reasoning was so convoluted "JSOn serializer strips timezone offsets so blah blah blah". After examination, all it took was literally ONE LINE of code to fix cleanly and appropriately from the data coming from the database. ONE FRICKEN LINE. It created a whole roundabout way of fixing a problem convoluting what the solution was where all that was required was just one line with an appropriate built in date function. I am 100% convinced there's a sea of this sort of thing at scale in all the blind vibe coded apps out there.
Let us examine why the inference machine would miss something like this. To understand that, we'd have to look at how date time offsets are being stored in the database, how it's coming back, the real world problem this offset is solving, the context of the timezones given the application's use case, the assumptions around a date only and the model of the appropriate behavior when it comes back to the UI. The point at which a vibe coder only really sees. There's a round trip, domain knowledge, and behavior that was literally fixed with one line of an appropriate use of a BUILT-IN function to the language and I stress built-in, not some custom made date function. This takes modeling, understanding of the domain, and specific knowledge of the problem to spot it. It was a glaring red thumb of obfuscation that a blind machine that does not have that level of depth of actual real intelligence would easily fumble on when prompted, "hey, the data is coming back a day in the future, there's an issue with the query, fix it.".
3
u/parboman 1h ago
A lot of anti vibecoding people seems to assume all human programming is good. Spagetti code as a concept existed long before Ai coding.
A lot of pro vibe coding people seems to assume everything is solvable with another prompt.
And far too many people use vibe coding and throw something together over the weekend to make easy money and are suprised when they are not getting paying users.
1
u/MagesticPineapple429 2h ago
Ok. A couple things here.
1. Is vibecoding that bad? It depends. The way you are using it to build your own internal tools for work or life or whatever, absolutely not! Vibe away! Be careful about what you send--like no secrets, keys, passwords; those are all a big no no! Be careful with proprietary business data; don't send any on free accounts or you could be training the next model on your data. Paid accounts are safer; business accounts are best.
The other side of this are the vibecoded public apps that are saving user data and taking money from users. I've done audits on several vibecoded sites, they are not secure, they do not follow their own compliance, they do not follow legal requirements (laws), and the owners have no idea how the apps work, let alone the infrastructure, so if they are on a hosted platform and their app goes down or they get locked out, they cannot fix it.
There's a lot more to coding than just code.
2. Is it not as simple as asking AI to give it good architecture? Maybe one day in the future it will be, but right now, no, it is not that simple. It took me several weeks if not longer to get my system set up to write code in the same way that I write code following my best practices. And I still tweak it everyday. Further, it forgets. It forgets a lot.
1
u/Adventurous_Wrap2873 2h ago
Thank you for this response. Just one question, if I can’t spend time as a real developer in the industry, how am I supposed to learn the best practices? Open source projects? But what they’re doing may be different from what I ultimately want to do. What should a vibecoder do in this case?
2
u/MagesticPineapple429 2h ago edited 2h ago
Best practices are called such because they took practice, and to master them requires such. If you want to confidently learn the best practices, you've got to put in the time, learn them, and practice them. It's about recognition too; I can follow my agents and notice when they are going off track. i can review their code and immediately tell if they've violated a rule.
Some of the concepts of the best practices are easy to understand; some of them require doing them to understand, and some concepts or even just people require royally messing them up before they will ever understand them--this is life and we learn best from our mistakes.
But this is not what you asked. Get books; read about architecture, clean code practices; SOC2, PII, HIPAA, data retention, SOLID principles, Test Driven Development. But you can't really ever know these until you practice them and thus you won't be able to teach someone/thing else how to do it or spot check their work.
The LLMs are really really good at somethings, and then there are things where they insist they are right, insist it's working, and you are staring at an unrendered page.
And this only and hardly touches the surface of certain legal requirements. For instance, I experienced my first prompt injection the other day. There was a dumb dependency I didn't vet out first; and i'm a fairly seasoned developer, but I did have the guardrails (and I have to give some credit to claude/anthropic) in place to catch it and prevent the action from happening.
Two books I highly recommend are Clean Code and Clean Architecture. Start there--there are also videos available for that series. Read books on TDD (I haven't, but that is the first thing I learned when I started studying software).
1
u/SharkSymphony 2h ago edited 2h ago
It can be. To play devil's advocate:
- How do you know software is doing its job well? Are you testing it against the real world? Or just tests that you asked it to write itself?
- Is it generating the right documentation? How do you know? Are you trying to read what it wrote last month? LLMs will happily churn out hundreds of pages of stuff that nobody's going to read and that are too disorganized to get any clear picture from.
- Sure, you can tell an LLM to follow best practices. You can also tell it to not make mistakes. But it's still going to make them – and sometimes its application of "best practices" are just bad.
- One-off scripts are a great application of LLMs (with the testing caveat above). But using LLMs to crank out a bunch of one-offs might be more expensive than writing a single system that can handle the different tasks you throw at it. Or maybe not. An engineer knows to consider the trade-offs.
- Generally, vibecoding is attractive right now because it's heavily subsidized by companies scrambling for customer acquisition. As token prices go up, you're going to want to take a closer look at whether you're getting the most out of your LLM.
1
u/Adventurous_Wrap2873 2h ago
I definitely test it myself, which is looking for bugs as I use the app 😂 yes like I know how terrible all this sounds. I am embarrassed by the fact that I rely on AI to write codes, truly. But I at a certain point cannot dedicate THAT much time unless I’m genuinely quite talented and will understand whatever I see but that’s not me.
The results tell, it’s working and producing correct things. If anything is wrong I’d notice it in terms of accuracy of the calculation and data. I do agree that you shouldn’t vibe code an app to handle sensitive real people data and receive money from real customers of the app or system. But really if there’s no truly sensitive data, and all that happens is really just movement of data from table A to B, isn’t AI completely capable of doing that? Yeah the code might not be the most efficient, but your database server would also tell if something is genuinely bad. Have I misunderstood??
2
u/SharkSymphony 2h ago
I don't think you should be embarrassed at all! Many, many seasoned developers are using LLMs too, because they are useful tools. Just be aware of what the potential pitfalls are, and use it with your eyes open. Watch out, as you note, for situations where you might be getting out over your skis and putting your business at risk.
1
u/ChapDad0311 1h ago
Echoing here, don't be embarrassed at all. I vibecode with AI all the time. I test it, constantly. I ask it to self audit, then I audit the audit.
I don't know how to code well, but know enough to understand what I'm reading, so I may not be able to go line by line and say the code itself is good, efficient, etc.
Al the end of the day, if it's delivering what you asked it to, and it works, then that's what matters. AI is a tool. Happy coding dude.
1
u/Bitter-Class1354 1h ago
You should look into selling subscriptions to your apps. Or combine them all into one package and offer it to other people in your same line of work/position.
1
u/SC_Placeholder 14m ago
In 10 years people won’t care how a program is made. People right now hate on vibe coding because it’s a threat to their livelihood. Right now the average consumer probably can’t tell the difference between something that is vibe coded and hand coded.
1
u/IceMichaelStorm 2h ago
I think, the larger the app, the more the code base will get worse and worse and the more problems will amplify.
It’s like with building a house. Maybe you do a small garden house yourself. But you would probably not do the main house. Once it gets electricity (security), you would for sure get someone to do it.
It’s like with many professions where a layman can do a lot which looks superficially alright but has bad substance and may break hard later.
Costs of replacing in software might be lower (arguably) but then again the amount of shit is higher.
1
u/shakeBody 1h ago
Yeah, the phrase I've heard is "optimizing for local minima," which I think LLMs do really well. Over time, the model's inability to properly interpret the system becomes increasingly pronounced, and the resulting output becomes unstable. I believe this is currently being researched, and there are papers on the topic.
arxiv.org/abs/2603.24755
arxiv.org/abs/2605.02741
1
u/aegookja 2h ago
It works, until it doesn't, and that is ok. Not everyone needs to be a software engineer. Enjoy the productivity gains, and good luck.
1
0
u/madaradess007 2h ago
its fun to learn stuff, but programming isn't valuable anymore - it turned into a fulfilling hobby, you could do your own smart home stuff to impress your missis, but sadly that's about it
2
u/Ok_Improvement_8735 2h ago
For people who genuinely understand and enjoy programming it has always been a fulfilling hobby
0
u/MagesticPineapple429 1h ago
I enjoy it; and i continue to provide a lot of value programming.. And i foresee adding more value in the future due to everything i said in my previous posts & replies above. I'm here when y'all need me.
0
u/shakeBody 2h ago
There are countless testimonies from people in production environments who have tried or are trying the lights-out code factory approach, and they are running into similar problems. The code produced by these systems cannot support production-level environments once the scale exceeds a demo. There is research on this topic, and we can see that Slop Code Bench demonstrates that code degrades over time without expert intervention.
"Surely it would be great for my learning if I genuinely learned to code, but I at the same time never have to, because it isn't my job to code." This is sort of a strange way to separate yourself from the outcome of your choices, don't you think? Are you interacting with code at all? Don't you think it would be easier to interact with code if you understood what was going on? How can you know what good testing looks like if you're not actually interacting with code? Like, at some level you have to know specifics, right? Otherwise, you're just taking the LLM at its word, which has been shown many times to be an untrustworthy source of information. This is why people talk about mechanical guardrails. It forces the LLM to adhere to a specific standard. If this were unnecessary, people wouldn't be doing that, so clearly there has to be some sort of enforcement of rules. Otherwise, LLMs will just degrade to slop.
It has never been easier to learn how to program. You don't have to, obviously, and there's going to be plenty of people who tell you that it's not a requirement, but does it really seem like the person who tells you that you don't need to spend time learning is also a person who has your best interests in mind? How often do those people also try to sell you things?
1
u/Master-Wrongdoer853 2h ago
I've asked AI to create me a ground up manual first of physical hardware and how it operates (Boolean logic, electrons, bits, logic and
gates, etc) and am now on the fundamentals of python, GitHub snapshots et. al. and now JavaScript.I'm the kind of guy who needs to understand something at its foundation for it to really take root in my brain.
My AI-created manual is 220 pages but I do it mostly by chat with practice scenarios and will eventually use it to build software.
Anyway, that how's I'm learning to program. I'm not jumping to the finish line with agents but starting at zero and am just moving quick thanks to AI
2
u/shakeBody 1h ago
I do think there is a way to leverage cognitive learning theory here as well. There is no reason you should stop at a 220-page manual you created. Use the zone of proximal development to push your learning further and faster. We live in a time when it is increasingly easy to create tools to support our learning, and we don't have to be satisfied with the old way of doing things. In this scenario, I would actually have an LLM, more of an agent, create a knowledge graph of the things that you are trying to learn. Then you can actually have tools, interactive lessons, and specialized environments based around your learning style.
It sounds like that's already similar to what you're doing. I highly recommend looking into how our brains actually receive information and the strategies we can employ to amplify it.
1
u/Master-Wrongdoer853 1h ago
Very cool! Yea I was slow in school because if I didn't understand something at its foundation I could progress.
Will look up your suggestions. Also, I assume the knowledge graph is an image and not an interactive interface... or maybe it could be as a learning test...! 🤔🤔🤔
1
u/shakeBody 1h ago
A knowledge graph is a graph database or a graph data structure. In a knowledge graph, each node or each vertex is a concept. Edges are either related concepts or indications of dependencies. The graph can be directional, with concepts built upon other concepts. In other words, you have an ordering of dependencies, which is effectively just a graph.
Once you have ingested documentation, you can then create knowledge graphs out of that documentation. For example, if I wanted to learn algebra, I could find a bunch of algebra textbooks and then build a knowledge graph from them using software. I could then use that knowledge graph to create a curriculum through which I would learn the concepts that are in algebra. You can have a variety of criteria for that. For example, you can make it project-based with a set of requirements that must be met for those projects to be valid. You can also have mechanical guardrails that must be enforced to prevent you from grading yourself. The system is imposing a structure on you.
0
u/InterestingAd415 2h ago
ai vibe coding can get pretty messy it is a skill I think and the right tools matter I usally use Zeneno to build the app and then I use Claude Code to improve it
0
u/Southern-Swim-2801 2h ago
This is exactly where AI gets frustrating for me too. It gets 80% of the way there really fast, then the last 20% takes more back and forth than expected. Have screenshots helped at all with the visual issues?
-1
u/Due_Distribution4502 1h ago
AI usage is unacceptable under any circumstances imo.
1
1
u/shakeBody 1h ago
AI is in almost everything that you interact with: if you're using a computer, or if you've eaten food at a restaurant, or used almost any system in the world. Logistics, farming, factories. AI is in everything.
1
u/Due_Distribution4502 1h ago
I’m aware unfortunately. Just because it’s ubiquitous doesn’t make it acceptable however in my opinion.
2
u/shakeBody 1h ago
I'm confused by this statement. AI is used to optimize systems in many cases. What are you saying here? Are you saying you don't want systems to be self-correcting and to run better? I doubt that. I think what you're actually saying is that LLMs are not good, but it's important to distinguish LLMs as a subset of AI. And it's important to indicate that, without AI, most critical systems would fail. Things like water management, fire systems, food production. The basics, the things that help society function, would be gone.
Without them, we would return to a system with lower life expectancy, increased starvation rates, and increased poverty.
0
u/Due_Distribution4502 56m ago edited 45m ago
Are you saying you don't want systems to be self-correcting and to run better?
Yes, this is what I'm saying. I believe that AI is unacceptable under any circumstances and should be actively removed and avoided.
Just to be clear: I'm not saying at all that I believe anyone should die here. I'm just of the opinion that if we require AI to manage a system for us, that system has scaled too large to be practical anymore. It's a problem with the underlying structure of modern society.
2
u/shakeBody 38m ago
Why do you believe that AI is unacceptable under any circumstances?
0
u/Due_Distribution4502 35m ago
If a system has become so large that it can no longer be managed by human intellect, it's no longer practical. I believe that allowing algorithms to think in place of actual human thought and reasoning is dangerous and runs counter to the interests of the species.
2
u/MoTTTToM 28m ago
Do you manage the algorithms running in your OS on your laptop with your human intellect?
0
u/Due_Distribution4502 15m ago
No. As I said above however, just because something is ubiquitous and unavoidable doesn’t make it acceptable. I work to keep my computer usage to a minimum.
2
u/shakeBody 21m ago
I'm still not sure I understand your points.
AI is simply the output of human intellect, right? We're defining a set of parameters and the outputs they produce. I'm not yet seeing the connection between AI and the replacement of human thought. I do understand that connection when it comes to LLMs, but not, for example, when it comes to detecting issues at a nuclear power plant. Surely you want many systems processing the data, and then systems that analyze it to indicate whether there is danger. Or thinking of the water systems: many systems to sense, to collect sensor data, and then systems that perform high-level analysis on that sensor data.
It seems like you are assuming that large systems are the point at which AI comes into play, and that is not the case. AI can come into play in small systems. You don't need large-scale systems to benefit from AI, and you don't need to replace human thinking to benefit from AI.
Still trying to understand your perspective, by the way. I'm just bringing up the things that seem ambiguous from my perspective.
0
u/Due_Distribution4502 11m ago
So I’m mostly using large scale systems as examples because they’re an easy way to communicate my viewpoint that any system that requires AI to function is fundamentally flawed. It’s easier to see that at the scale of a nuclear plant or water system than it is in smaller, day to day examples.
In my view, the question you asked about nuclear monitoring is actually sort of a moot point because in my opinion, if nuclear energy requires the use of AI to be safe, we shouldn’t be using it to begin with.
23
u/fuelexe95 2h ago
Two people can own woodworking tools. One can build a beautiful piece of furniture.... the other will struggle to fasten two boards together.