I've been noticing lately that the discussion around LLMs and using them for programming has begun to expose people for how little they understand programming or what software developers do in general. I think I generally agree with the author as a result. A year ago I might think this was more naive, but today... I think software development has more of a moat than I thought, for more reasons than I originally perceived.
There are a lot of senior developers who discuss how they use LLMs and why, for example, and it exposes that even with a decade or so of experience, people can have extremely thin and weak understandings of what they're doing, and why. That isn't to cast shade at all, and I've been (and will be) the experienced yet clueless person at times. I could be right now.
A reductive description is that it's turning a lot of people in expert beginners, and the coworker they collaborate most now has no way of compensating for it. LLMs are useful and powerful tools, but they can't make up for these kinds of deficiencies yet. It doesn't seem like they will very soon, either. As they get better at generating code, they seem to simultaneously widen gaps in their ability to identify or anticipate bugs or poorly fit solutions.
I can't imagine the messes people are creating with LLMs when they have no experience at all, though. They might feel empowered (and to a degree they certainly are) but when it comes to complex, large, mission-critical, and/or distributed systems... These tools are nowhere near where they need to be.
Otherwise, I've also found that important software can now become more ambitious. We seem to model the career risk developers face based on the software of today, but what I'm seeing is that I'm able to build and maintain more ambitious projects than ever. I'll be pushing the limits of what's possible for myself for a while yet, and I suspect it will continue to produce value for the people I work with. I could have these tools do the work I used to do (or help me do it faster) and leave it at that, but the reality is that I don't just stop there. I keep going, I continue refining, I discover more ways to make it more valuable, I iterate faster and maintain a tighter feedback loop with the people who use the things I create.
So, why would I be eliminated from that process? Do people really believe that my position in that loop will be eliminated by AI? This seems to disregard a myriad of qualities that allow software developers to be effective and valuable team members.
If that happens, frankly, I believe far more roles than software development would be eliminated at that point. The implications would go far beyond software.