I have worked professionally in programming for about 35 years, and before that, I was part of the demoscene. As I see it, the programming profession has evolved multiple times throughout my career. Things have continuously been abstracted into new layers, but the shift has never been as fundamental as it is today with AI.
What is happening now is that we are essentially abstracting away the entire coding layer, and partly even architecture and technology all at once (we aren't quite there yet, but we will be soon). What hasn't changed, and never will, is the human vision, the ideas of how new, innovative software (rather than just a clone) should be structured and how it should function.
I believe this shift is highly democratizing. It means teenagers can build cool new games, and financial minds can create the next great finance app. The hard part is no longer the programming itself; it is the software craftsmanship. It is about building an innovative and genuinely useful product, rather than just writing complex code (an identity we programmers have clung to for a long time). We have transitioned from being mere coders to true developers.
I also hope that young people today get the same opportunity to connect with software development as we did back in the Commodore 64 era. Only today, it isn't about squeezing every last drop of performance out of limited hardware, it is about bringing something truly useful or fun straight from your imagination into reality.
>but the shift has never been as fundamental as it is today with AI.
How are we so sure? I'm not old enough to have lived through every/many big shifts in our industry but how do we know this is not what people who lived through the compiler-shift era felt? Or people who saw higher level languages like C or C++ be created, or the punch cards getting replaced with a digital display?
This AI stuff feels magical and so much bigger than other shifts, but maybe only in retrospect.
I upvoted you because I think your point is well said, but I do disagree. Primarily because the fundamental shift you mention is not just the coding layer, nor the architecture, nor even the "human vision" component - it is and will continue to be a funnel for slop.
Skilled programmers may continue to be able to work with it, but only while their understanding of what the software is holds out. In my opinion there is no learning to be had with these tools beyond familiarizing someone with the beginner stages of what programming arts can produce. Things like version control, explanation of fundamental data structures, easily understood scripts, etc.
But when the "sloppification" creeps in on large projects (which happened before AI but is much faster these days), the opacity of the codebase increases an order of magnitude faster than it's transparency. Thus far LLMs are not immune to confusion or mistakes, and so it stands to reason, it will not be possible to build ever new complex software with this technology.
Because of that, it's trivial to see that the skills involved are still required, but with much less incentive to learn them. Not only is it far, far easier to take shortcuts with Claude than it is a Commodore 64, it also rewards shortcuts with faster results at the expense of true understanding. This means that the next generation using these tools won't be filtered out by determination and troubleshooting to the same degree as the last. The Commodore 64 produced a generation of programmers; Claude Code will produce a generation of administrative software users.
While I'm being critical, I do want to state that administrative software users are absolutely needed in society. It's just not the same thing as what you and I call programming, the main difference being the expectation of creating or at least the capacity to create something new. That is, not another clone of an existing project, or a new integration of an existing plugin architecture. I'm not saying we won't progress as a society, but it's my belief that LLMs won't "democratize" software - they will drown it.
What is happening now is that we are essentially abstracting away the entire coding layer, and partly even architecture and technology all at once (we aren't quite there yet, but we will be soon). What hasn't changed, and never will, is the human vision, the ideas of how new, innovative software (rather than just a clone) should be structured and how it should function.
I believe this shift is highly democratizing. It means teenagers can build cool new games, and financial minds can create the next great finance app. The hard part is no longer the programming itself; it is the software craftsmanship. It is about building an innovative and genuinely useful product, rather than just writing complex code (an identity we programmers have clung to for a long time). We have transitioned from being mere coders to true developers.
I also hope that young people today get the same opportunity to connect with software development as we did back in the Commodore 64 era. Only today, it isn't about squeezing every last drop of performance out of limited hardware, it is about bringing something truly useful or fun straight from your imagination into reality.