Before this happens, I recommend having your exit strategy for the industry, living off whatever profits you made working as a developer during the early 21st century.
Before this happens, I recommend having your exit strategy for the industry, living off whatever profits you made working as a developer during the early 21st century.
What’s truly more of a threat is AI-aided programming if that ever becomes a thing. Again, I’m not worried. The gap between telling an AI “do something that makes me $1 billion dollars” and “write a function that has properties x/y/s” or “do this large refactor for me and we’ll work together on any ambiguous cases”, is enormous. So you’ll always have a job - you’ll just be able to do things you couldn’t in the past (it’s questionable whether an AI can be built that generates programs from vague/poorly defined specs from product or even that generates those specs in the first place.
As an obvious counter example to your theory, we have CPUs that are probably 10000x more powerful than in 1980 (actually more if you consider they have processing technologies that didn’t even exist back then like GPUs and SIMD). The software industry is far larger and devs make more individually.
Technically SIMDs and GPUs existed back then but in a much more immature form, being more powerful, cheaper and widespread today than what was available in the 80s.
In my own experience performance optimization is an important but infrequent part of my job. There are other skills an elite programmer brings to the table like the ability to build a mental model of a complex system and reason about it. If downward pressure on wages occurs I think it will be for another reason.
But architecting complex systems so that they are maintainable, scalable, and adaptable... there's not gonna be enough cheap computation to solve that problem and omit top talent for a long time.
If you gave me a processor that could run instructions instantly, my product's release would at best be brought forward 1-2 weeks.
The largest efforts in programming are to do with translating requirements into code. Efficiency is a part of that, and there are obviously problems where it dominates, but there are many other difficulties even when it isn't.