Can you prove this?
https://saylordotorg.github.io/text_a-history-of-the-united-...
https://hbr.org/2016/07/how-neutral-layoffs-disproportionate...
Having said that, it isn't a utopia and it isn't for everyone. One of the many reasons why I hate the current "Everyone learn to Code" trend is because if you don't love it, programming is as exciting as reading a EULA or TOS or any legal contract. That's certainly how some of my friends see programming, and I can totally see why.
Overall it's pretty good, and I'd be fine even if I was paid half of what I'm paid, after a 2001-style crash. I can think of very few other jobs that have such nice prospects.
Thought not.
You should have an upper hand though with a CS degree. I had to learn everything on my own, and there are still areas that I don’t know and you should.
It was certainly my backup plan. I never took a CS course, but figured that I could be a programmer if physics and math didn't work out. In fact I went through college with no employment-related objectives.
But to be fair, CS also treats programming as a backup plan. That's why there are coding interviews. How many CS majors actually get "CS jobs," i.e., pursuing the advancement of computer science? Probably the same number of physics majors who get physics research jobs. The rest become programmers.
Developers would do well to realize that they're skilled labor, not academics or superstar artists, and start behaving accordingly.
But I see the error in my ways and humbly realize that I'm just "skilled labor".
Really, if you compare the level of thinking of an average developer to an average academic, the academic often has nothing but his degree.
The level of parroting and complete lack of critical thinking is widespread among academics.
You may be one of the 20% in your particular area of interest. If you're doing the kind of work that most engineers tend to avoid, you will never be unemployed. ;-)
The only thing I have used since graduation, for work, that I actually studied for a class was big-O notation and reasoning.
But! Every week, in every engineering class, they assigned problem sets. Every week I read them through and knew, with certainty, there was no way I could do them. Then, every week I turned them in, completed correctly.
So that was what I really learned in school: that I have no real sense of what I can learn to do, and do. Since then, I have just done things, without worrying about whether I was really capable.
So just like any other engineering job?
When my major didn’t work out, I managed to land a IT-job instead and I’ve been here since.
Or at some companies perhaps being a whiteboard genius helps. But the output of those companies is ... mixed.
Whenever demand softens, which it does every few years, women and minorities take the brunt. Once you have been out for even three years it is very hard to break in again.
Part of the problem is that when employers don't feel like paying a living wage, they easily persuade government to import foreign help, in the tens or even hundreds of thousands. The companies pretend that this doesn't depress salaries, despite overwhelming evidence to the contrary.
Furthermore, they have arranged not to be obliged to pay overtime, and then they demand overtime work on a routine basis. I have never seen such an employer pay engineers overtime, under any circumstance. Sometimes there are "bonuses" that are a tiny fraction of what overtime would cost them.
The only plausible solution to this problem will be for engineers and programmers to unionize, and start cultivating representation in legislatures. We are handicapped by myths about self-reliant cowboy engineers who don't need to join together.