The under hiring of junior employees and the unwillingness to invest in training is a problem across the economy. It's a kind of tragedy if the commons but also the unfortunate result of insisting we need more software engineers for 10 years.
(note I'm going to refer to a "regular company" as a stable non-tech company ... one that is privately held and isn't making a tech product. It is profitable, and somewhere not within 200 miles of the ocean. It has a wage band is $50k to $120k)
The large difference between the pay that a regular company is willing to pay a junior and what a startup or tech company is willing to pay someone with 1-2 years of experience (that is why more than the stable non-tech company can afford) has lead to a "if we can't hire them and expect them to stick around once they become useful - we won't hire them."
If a regular company can hire a junior at $50k, and a year later the junior has now applying for startups and companies that are paying them $150k ... that regular company can't compete. What's more, they've lost money on the time it has taken to train up the junior, maybe send them to a local conference, gotten them trained on the local CRM that they're going to be making changes to...
Well, now that junior has left. At the end of the year, when they look at the costs and such it cost them a net $5k to hire the junior.
Its better to put out a job posting for a mid or senior level developer at $75k or $90k who will stick around for a while than it is to hire another junior.
It the companies that are going to pay $150k for someone with a year of experience are going to keep pulling the juniors away, its better to reset expectations of development speed for changes to that CRM that works and wait to hire someone who will be there long enough to learn the business than it is to hire junior after junior.
The problem is that you can find jobs for someone with the same skills for $50k and $250k depending on the industry that the company is in. It used to be that the companies that paid $50k had people stick around for a while.
One can't make the regular companies big tech profitable. And big tech companies are going to be competing with big tech dollars.
The regular companies that used to be the source of junior -> mid developers can't do it anymore if it is a reasonable expectation to be able to get a job that pays 2x more than the top pay band for the regular company after a few years of experience somewhere else.