In my experience, LLM-generated code is only as good (or as bad) as the software engineering skills of the “vibe coder.” A seasoned engineer will not only craft clear, detailed prompts that specify how something should be implemented, but will also review the AI’s output on the fly, correcting major derailments—things like: “Don’t create a new function for that; just modify X to add support for this case.” They’ll even do an initial review of the code before opening a PR.
The real problem arises when non-technical people use an LLM to generate a full project from scratch. The code may work, but it’s often unmaintainable. These people sometimes believe they’re geniuses and view software engineers as blockers, dismissing their concerns as mere technical “mumbo jumbo.”