Programmers who can understand a real problem and come up with a good way to solve it using software will still be needed. "Programmers" who are glorified human clipboards just copying and pasting all day will be less needed. But those jobs were already at risk from the next library or scaffolding tool anyway long before the current generation of AI-based tools came along.
> Programmers who can understand a real problem and come up with a good way to solve it using software will still be needed.
This keeps coming up in my own circles, including with non-technical folks. The best way I've heard it put is "you know, these AIs only know what we've already figured out."
The newest contingent of AI technologies is impressive for what they are, but what they are is both somewhat inevitable and not truly intelligent in the way most businesses require of their technical people in order to succeed. Of course we can automate away the basics, we've been doing that with successive technologies and challenges for a very long time.
Someone up-thread mentioned AI replacing automation folks as an easy example, but I don't see that happening so quickly. I do a lot of automating, and for a start there's so much automation "left to be done in the world" that there are no shortages of hard challenges left that AI couldn't (yet?) crack. There's a huge amount of business<->technology synthesis that has to happen to automate beyond the basics.
But more expansively speaking, writing off humans being in the loop is ridiculous on its face. Humans will _always_ be in the loop somewhere, unless of course we take EM Forster's _The Machine Stops_ as an instruction manual rather than the warning it is. I don't mean that in a doom-and-gloom way but rather that I just don't think humans will ever give up enough control to enable something like that. I don't think that's such a bad thing, either.
It's as ridiculous to say that human programmers are obsolete as it is to say we're that we're anywhere near computers developing complete, new computers for other humans to use.
If your soft skill is turning requests into tickets and looking at PRs to figure out which tickets are already closed, yeah things ain't looking good.
I've worked with some interesting front end applications that made their moderately complex backends look like trivialities, and I've seen whole teams of mostly useless CRUD API developers who struggle with minimal business logic complexity who are going to be made redundant by one good AI assisted backend dev.
Maybe you should introspect a bit.
I like the summary regarding front-end here [0].
[0] https://www.joshwcomeau.com/blog/the-end-of-frontend-develop...
The programming industry went through a similar existential crisis back in the 1990s, when pundits predicted outsourcing/offshoring would eliminate our jobs (in the US, anyway). And some jobs did go to Bangalore and Karachi. Programmers didn't get hit as hard as the manufacturing sector, and the work seemed to expand to create more demand. Eventually companies figured out that outsourcing introduces different inefficiencies and problems, often more than it solves.
In one of his long articles about LLMs Stephen Wolfram made an interesting point: LLMs apparently show us that we have over-estimated the complexity of human language. Human beings tend to have a high opinion of their own intelligence so that seems very likely. Now that we have software that can produce human-like language we can either tell ourselves the AI overlords have arrived and give up, or we can revise what we think we know about learning human language. Likewise, now we have programs that can write passable code, and here on HN you have to wade through all of the "What do I do now?" posts. Another interpretation: a whole lot of code available to the training models doesn't need much actual intelligence to decipher or write, and we as programmers have solved the same handful of similar problems millions of times.
Writing passable code, while not easy to learn, represents the easiest and most replaceable part of developing useful software that has value for the business that paid for it and the customers that use it. And it represents one of the least efficient and least predictable parts of the development process. Imagine framing carpenters just throwing up their hands and fretting about their future when nail guns took over from hammers. The new tool made the carpenters more efficient in some tasks. I expect LLM coding assistants can do the same, but since they can only regurgitate code already written by human programmers they will show apparent skill at solving common problems in common ways, and no skill at anything beyond that.
When I switched to full-time freelancing about 15 years ago I stopped using a resume, I stopped highlighting my "technical skills" (e.g. languages, frameworks, tools, etc.). When talking to a prospective client I immediately focus on their business problems rather than whatever things I have used before. They pay me to solve problems with technology. If that means I need to learn something new, I will do that (and fast). I have 40 years experience in the software business, very little actually new or novel happens in the world of programming. If all I could offer to a client came down to "I know Python" I would limit myself, and I would make myself replaceable by a cheaper programmer or an LLM because knowing Python makes very little difference in the big picture -- a necessary but not sufficient skill because I solve business problems, I don't only write Python code. Now that an LLM can write passable Python the people who only offer that skill should worry, and they should expand their skills to include things LLMs can't do and likely won't do anytime soon. That will apply to other fields, not just programmers, but since I know programming I'll stick to what I know.