My experience is that that plainly does not work. I work with developers of both types, and the junior ones who are part of the first group are limited in their ability by experience, but they have an inquisitive mind and don't give up quickly when they encounter something they don't understand.
Much more experienced developers of the second type just throw their hands up and give up (or now: turn to AI). I've worked closely with them to try and reform them. Maybe I'm doing it all wrong, but it has never succeeded.
With the ones from the first group it can work that way: you can show them how you approach problems and they will ask questions and pick up patterns and you'll see them improve.
> Even then, the businesses don't want to pay for that, and why should the workers give that away for free?
Businesses would need a high likelihood that they can reap the rewards of upskilling employees. Why invest a lot of money and high-talent attention into someone who might quit? At the same time, I'll happily pay three times as much for a truly skilled senior developer. I think the employee's incentives are much more aligned: it will increase their market value, it's an investment into their wealth, not the business'.
>My experience is that that plainly does not work.
The apprenticeship model isn't in practice at any scale in software, I don't see how you could believe that. Practically every career start is self-taught or university to junior positions which is not the high-attention, one-on-one focus you'd get.
>Why invest a lot of money and high-talent attention into someone who might quit?
What happens if you don't and they stick around? You might say 'well, I'd just fire them' but then you are going to have a culture of people always having one foot out the door. And a high amount of position switching in the industry has led us to what we have today where people don't really stay and build for the long-term, and shoddy code bases also drive people to quit.
An apprenticeship model also helps if you can do 3-5 year agreements for training where you see the most benefit from the person in the last 1-2 years.
As good as it has been for my career, switching often probably needs to slow down (while raises go up) and apprenticeships go into effect for better quality training.
All this assuming there isn't another major leap in AI competency though.