With software engineering specifically, given the amount of people who have access to the internet, lets say like unemployed young men in theirs 20s working in the food industry or something, working part time and play video games for 40 hrs a week. If you have access to an xbox, then you have access to free online courses to learn machine learning, intro to programming, the entire internet where you can openly asked the internet questions and try to figure out a skill thats valuable and in software specifically, have multiple free venues of learning it.
But theres a lot of people who don't do that and don't take advantage of it, but also protest wages in silicon valley. There are people who work at coffee shops 20 hrs a week by choice, and go hiking by choice and had access to the same resources everyone else did, and came even alot from middle class to upper class homes, but don't want to learn high demand skills, and in fact protest them.
in this case, I'd say the pay is not only high enough, but it's so high they dislike the fact that not doing the work to get those high paying jobs is decreasing the quality of their life relative to everyone else around them.
obviously outliers exist, but what is it about software development, that, atleast for the population who can afford internet, and video game consoles, makes it so elite people arent motivated to learn.
I think some people don't want to learn or put in the effort, but also don't want to experience the reduction in quality of life as a result of other people putting in the effort.I think those same people protest more as the wages are increased, as they misinterpret the market signals for need as abusive to their lifestyle in which they choose to not go learn high demand skills.
Could this be valid in some cases?
If you take the neurotypical to autistic spectrum, someone on the NT side will find that work that takes advantages of the NT cognitive style adds to their quality of life, and work that doesn't detracts from it. The same goes for people further on the aspie/autistic side.
Someone with an NT cognitive style might love working in finance or politics or sales but hate working in STEM. The opposite it true for those with an aspie/autistic style.
The last few decades of not the last century since the industrial revolution has seen the rise of well/paying in-demand jobs that appeal those with a cognitive style more on the aspie/autist end of the spectrum. I think a lot of those on the NT end of the spectrum who have typically been in a position of earning power for most of human history are starting to resent the fact that systems are being engineered that automate and devalue skills That those with an NT cognitive style excel at.
It also doesn't help that that the supply of thosewith an NT cognitive style greatly outnumber those with a more aspie/autistic style for reasons of millennia of sexual selection for NT traits.
I think it's quite natural to resent high earners doing a job that you either cannot do or would not enjoy doing.
I've also seen self taught developers - mostly "database developers" - who had the aptitude to break problems down logically and get something working but their code was unmaintanable except by them (barely), didn't scale, and required manual intervention for failure cases.
On the other hand, I've known plenty of business analysts who spend most of their time documenting processing and working with customers who could easily move into development. They seem to have a natural aptitude when it comes to breaking problems down logically.
Some people just can't learn to code. Their mind doesn't operate that way. No one would ever say that why don't people learn how to sing or play sports because those can be high paying careers, because most people understand that not everyone has the natural talent to do so. Why does everyone think that anyone can learn how to be a developer?
Almost anyone can learn how to play sports, or sing, or play instruments. It just takes time and determination. The ones that "make it big" also have luck on their side, but there are plenty of unknown people with equal skill.
Sure, legitimately dumb people will have trouble with knowledge work... but average intelligence is more than enough. The problem is that software is still a relatively new field and we haven't learned how to teach it yet.
I think we're still too focused on implementation details. Language is the medium for expressing ideas, incoherent or poorly developed ideas indicate someone that hasn't learned how to think about the domain yet. When mentoring students or doing code review for new hires, I've found tremendous value in focusing on questions and pointers to software/framework patterns instead of line-level errors. The little stuff matters, but those problems are often driven by higher level complexity.