I agree with the takes, but my only question would be.
If everyone is doing high level stuff like architecture and design, how many of "those people" will be really needed in the long term? My intuition is telling me the size of market needing number of engineers will shrink.
Of course it will shrink! Every industry ever has shrunk as tooling got better.
That said, we are a long way from "peak software". There is a lot of scope for new things, so there's room for a lot of high-level people.
And of course the vast majority of current juniors won't step up at all. Just like the web site devs of the early '00s went off to be estate agents or car salesmen or whatever. Those with shallow training are easily replaced.
The wheel will turn though, and those with a quality, deep, education focused on fundamentals (not job-training-in-xxx-language) are best placed to rise up.
In a nutshell, a lot more understanding of how computers work, and how that affects software design.
From theory like Order(n), 3rd Normal Form, P versus NP, Recursion, Logic (including bit logic) etc, to practical things like exploration of language (why languages are different, why that doesn't matter), how Operating Systems actually work (and what they do), how Networks work (their strengths and weaknesses and thus impact on software design) and so on.
Obviously I can't list a 4 year syllabus[1] here, and it would be different for each college. IME colleges don't teach programming past the first couple weeks, although it is the basis for assignments and evaluation for the next 4 years. (In the way that grade school doesn't teach writing after year 1, but you write a lot in the next 10 years.)
[1] All of this can be self taught. There's plenty of text books and materials online. But basically self-taught people learn programming, not theory, and lack the "path" of a formal syllabus.
Each school will of course have a different syllabus, and some will offer selective modules as well focusing on specific areas like graphics, compilers, databases etc.
Thank you for taking the time. This is quite standard CS degree syllabus, while quality and rigour of CS schools differ but I think any decent CS grad should know these.
My take: The market for "Coders" will shrink, but the market for "Problem Solvers who use Logic" will explode.
Think of "Scribes" (people who wrote letters for others) in the past. When literacy became universal, the job of "Scribe" vanished. But the amount of writing in the world increased billion-fold.
Engineering is becoming the new literacy. We won't be "Engineers" anymore; we will just be "People who build things." The title disappears, but the capability becomes universal.
If everyone is doing high level stuff like architecture and design, how many of "those people" will be really needed in the long term? My intuition is telling me the size of market needing number of engineers will shrink.