One thing about software dev is it’s hard to do very well but pretty easy to do good enough. It’s when good enough becomes no longer acceptable all of a sudden that the job gets very hard and people get burned. That’s not always fair though. Another interesting part of software dev is expectations change radically. I’m not in construction but I don’t think a developer can ask a construction team to build a skyscraper in 6 months vs a year or be fired and be taken serious but in software dev that happens all the time.
You're under-estimating how easy it is to do good enough. During the dot com boom many people with academic degrees in various fields tried to move over to software development with very limited success. That's like the top few % of the population to start with. Only some tiny fraction of those were in the good enough to successful range and many were ejected from the market when it crashed to never come back.
Being good at acquiring fancy academic degrees != Being good at programming.
If you ask the top 1% of FAANG engineers, the Jeff Dean's and Ken Thompsons to try to make it as professional ballet dancers, they're probably going to fail pretty hard too.
Granted "academic degrees" and "programming" are probably more similar than "programming" and ballet, but still.
The metaphor "ballet dancer" and "basketball player" or "basketball player" and "gymnast" might be more apt. You can be good at one thing and not good at a related thing, even if both require 'using your brain a lot' or 'using your body a lot'
I was working as a software developer before I got a degree. You're missing my point though.
Academic degrees and programming are a lot more similar than programming and ballet. People who got engineering and science degrees, as a population, are going to be more likely to become software engineers vs. the general population. This seems like a pretty obviously true claim. It's not a claim that people without degrees can't be software engineers. That's a pretty large population and I am a counter-example. My point is even within a population of people who in theory are more likely to become good, and who have had some motivation and invested time, it often does not work.
If anyone could program then we wouldn't be getting paid what we are. The reason why random people aren't all competing for our programming jobs isn't that our jobs are the worst. There are much worse jobs that people are competing over.
EDIT: and by the way, athletes in general do much better than the non-athlete population even in areas very dissimilar to the current sport.