I just can't share that optimism. I taught myself to code using youtube videos and books. There are 14 year olds on YouTube coding iOS video games in a matter of weeks.
Combine that with the fact that big companies (like Google) release SDKs that make application development trivial, and you've got a recipe for the skill cap lowering along with wages.
Do those apps that 14 year olds work on require an in depth understanding of how threads work? How different hardware components work together at scale? Most people with CS degrees never acquire the skillset to do such work, why should I believe that those who are trained via job training programs will be able to do so. I'd be more afraid of potential retraining of other highly skilled workers who want to switch careers than anything else.
The skillset of building a personal website, or even a website for your small business should be something anyone can do, and will in no way impact the overall salary of software engineers in the future.
Major companies will always need people who understand the computational sciences, as scale and complexity follow some of the same rules as entropy, in that they are always increasing.
Additionally, the reason for high salaries is not a lack of engineers, it is that top companies have decided that it is in their best interest to outbid each other for top talent. In parts of the midwest, where there is less competition, engineers are already paid 50k a year.
>Do those apps that 14 year olds work on require an in depth understanding of how threads work?
I am constantly surprised that when other CS students in my classes have zero idea how anything beyond the particular language we're learning works. Even in higher skill-level classes that require a fair amount of proficiency with the language if you asked what the length of the pointer they just properly used was all you would get is blank stares.
> "how anything beyond the particular language we're learning works. "
and
> "if you asked what the length of the pointer they just properly used was all you would get is blank stares"
So what is it?
It's a computer science program, not learn a dozen language's quirks and implementation detail that you use for a single class to understand some concept.
The new class of programmers that governments and Google want to train up from your average worker will not be as skilled or intelligent as the current generation of programmers. But, there are still opportunities for them in software development. They will take jobs that pay 40-60k a year, while the higher skilled and more intelligent programmers will be architects or leads who command much higher salaries.
Having more code technicans is great. I'd love to have more people to help maintain shit, write documentation, do small bug fixes etc...
There will be a differentiation between Engineers and Coders soon. Hooking up to a few different APIs, doing some JS and HTML does not count as engineering.
Combine that with the fact that big companies (like Google) release SDKs that make application development trivial, and you've got a recipe for the skill cap lowering along with wages.