those with considerable knowledge and experience with software development
those with some knowledge and experience
those with no coding skills
The first type knows how the software works under the hood so can easily spot flaws in the code. They use AI as an accelerator.
The second type uses AI to fill gaps in their skills. AI can do the complex setups, and if something breaks they have enough baseline knowledge to use AI to identify the issue.
The third type needs to ask AI if it works at each step. If something breaks they are not able to review the code.
I think for novices, vibe coding is great way to turn an idea into a working prototype. However, you cannot sell a prototype to customers.
One more angle worth considering: make the AI explain the failure before you accept the fix. Ask what actually broke, what it assumed, and how you would test that assumption yourself. If you cannot reproduce the bug, you cannot reproduce the fix either, and a client will eventually ask you to. Small commits and version control also help, because you can see exactly what changed when things stop working.
Is it possible? Absolutely! If you are comfortable with chucking out code that you have no idea about, in the hope that it is secure as it can be, ensures that it complies with laws (GDPR, etc), and will not give you an immense level of liability, do it.
As the developer, it may be YOU who faces the music when things go wrong, especially if you did NOT disclose that you had absolutely no clue how your product works or what it does in terms of code. You cannot hide behind another company that trusted YOU with creating/fixing the software.
I have some PHP, Python and JS knowledge. I’m no expert, and I often look at what AI gives me, and end up in arguments regarding deprecated code, and convoluted code that is really hard to understand. On the other hand, I have used it to guide me towards what I must do in my projects to make them clean and trustworthy.
In my opinion, and this goes for ANYTHING, if you don’t understand it, leave it alone until you do. I foresee that the biggest threats to software and networks will be crappy vibe-coded software made by people who don’t know what they are doing. I mean, there’s no way I’d use AI to vibe code a doctor LLM and deploy it as a medical assistant. I simply have no idea about diagnosing diseases beyond guessing. I’d also not use it to draft legal documents without knowing the applicable laws. Simple things like generating documents can have many errors, and I have had to correct a fair few of those as well. Had I not known about the topic, those errors, AKA lies, would have been missed. Using AI for anything is a risk, as the terms and conditions might state in one way or another. GhatGPT states that ‘ChatGPT can make mistakes. Check important info’.