LLMs can be very useful for all sorts of things, but large scale code generation is IMHO the least interesting use case. And even when LLMs are successfully used for code generation, I feel like progress has been reset to the early 60s and people are now rediscovering all the failed software development approaches (eg "spec-driven" is pretty much the equivalent of "waterfall", I'm now waiting for UML diagrams to make a comeback as the next big thing with an "agentic engineering" label slapped on ;)
Classic interactive "vibecoding" with quick turnaround times (but much quicker than now please, don't make me wait and let me slip out of the flow) might actually turn out to be the most useful way to build software with LLMs (or let's better say "prototypes"). Because everything else currently looks like we're building up too much bureaucracy around the software development process again, and just in time when we finally got rid of that shit (now we have that absurd amount of .md files in pseudo-human-language as "skills", "rules", "context", "memory", ...) like it was common in the 70s when the work was split between "software architects" who only do the high level design, and "implementers" who only bake that design into code. This was obviously a stupid idea and I don't know why the "AI bros" seem to be so keen on repeating that mistake.
Every approach that builds a "human language specification" that's separate from source code written in a much more precise programming language is doomed to fail (eg the code is the spec!), and that's nothing new, we've known this for decades, but that brain virus of "upfront software architecture" always keeps creeping back into the minds of people at the first opportunity.