The thing about efficient markets is that lucrative activities which don't produce much value—borderline scams—can block activity which would be highly wealth creating. For example, there could be a huge untapped retail market for financial derivatives such as interest rate and fx hedges. However, it's very hard to access this market because historically anyone who has started selling such products has pivoted toward…
Learning to program is more like an old fashioned trade than a profession. I don't mean that in a derogatory way. I mean that what should be happening is apprenticeships. If "industry is crying out for more people", then it should be investing in that in the same way it does in every other part of the supply chain. They should be hiring and training programmers, not externalizing their costs.
As it is, I'm not surprised companies are reluctant to bet on the potential of untrained engineers, _and_ the chance that they'll stick around long enough to make the investment worthwhile.
I'm sure there are a lot of inexperienced, uncredentialed engineers out there who would take a low-paying job with a significant chance of getting fired in 3 months. I was one of them. The alternative is to not get hired at all.