I mean this is already an acknowledged good approach. Companies don't want to make that investment though, hiring both a senior and a junior who won't be immediately productive, and keep chasing the mythical senior who will work for mid-level salary.
A lot of companies hire interns and usually, the typical intern doesn't provide a ton of bottom line value. Aside from being good for the culture and mentorship practice for the more senior folks, they usually need a lot of handholding. They're basically doing paid apprenticeships, which tells me that companies _are_ okay with the concept of having apprentice type of training.
The whole internship thing for STEM careers is to onboard you early while you are still cheap. Even if you don't work for the company that you interned with, the progress is still there so on day 1 you aren't totally lost. No one wants to give a salary to someone or even spend the money on the hiring process that hasn't worked a day in their life because they have zero clue how well they get along in a work-environment vs. an academic one. From an HR and hiring manager viewpoint, even if you have a lot of experience with a certain tool or field but have no work experience, you are going to look a lot less desirable than someone that maybe has a little bit of experience in that field or with that tool but mostly has unrelated internships. There are lots of smart people out there that can't get along with anyone so they suffer in their career.
It's cute that companies think junior or seniors will be immediately productive. There is a ramp up period. Hell the first day is probably just paperwork. Then 3 months of getting integrated.
I'm not sure how many companies really think this, not that I'm arguing the point. I do know that successful companies realize that developer ramp to productivity time is an important metric and attempt to optimize that metric.
There's a whole set of fairly basic tasks that can be done that can get a developer to the point of submitting a PR on their first day. Many, many companies screw that up.
That’s shitty on the company then. Senior engineers work way more efficiently if they have a junior working under them to crank out busywork. The junior then knows exactly how to succeed in a senior level position from working intimately with the senior engineer.