It’s more the latter. LLMs are amazing tools for coding but they can’t replace actually understanding programming. An LLM is really good at “write a script to do XYZ” but not very good at “Should I be doing XYZ in the first place? Is there a better way? Could that lead to unexpected problems down the line?” From a coding perspective, an LLM is like a really talented graduate who does exactly what you tell her to in the simplest way possible but doesn’t know enough yet to know clarifying questions to ask or whether her understanding of what you asked was a good idea in the first place. If you know what you’re doing and can give good instructions, both can do great work. But if you’re “vibe coding” or are relying on new grads with little real world experience to design your entire system there are bound to be issues. An LLM in the hands of a skilled programmer can increase their ability to write code, but it also does that for bad programmers, and gives the illusion of skill.
It’s more the latter. LLMs are amazing tools for coding but they can’t replace actually understanding programming. An LLM is really good at “write a script to do XYZ” but not very good at “Should I be doing XYZ in the first place? Is there a better way? Could that lead to unexpected problems down the line?” From a coding perspective, an LLM is like a really talented graduate who does exactly what you tell her to in the simplest way possible but doesn’t know enough yet to know clarifying questions to ask or whether her understanding of what you asked was a good idea in the first place. If you know what you’re doing and can give good instructions, both can do great work. But if you’re “vibe coding” or are relying on new grads with little real world experience to design your entire system there are bound to be issues. An LLM in the hands of a skilled programmer can increase their ability to write code, but it also does that for bad programmers, and gives the illusion of skill.