Effectively a lot of companies already do something approaching this, particularly larger ones that can afford to invest the time in an employee.<p>When I started at my current position I was pretty good at hacking away at whatever coding task they gave me, but as far as the intricacies of working with a cross functional team of dozens of developers and business people, balancing priorities, coordinating timelines, independently identifying needs, taking initiative, and so forth, I had to learn all that on the job.<p>To actually respond to your question, though, I think the need for apprentice-style programs is gradually becoming more apparent. The day to day of an average working developer is way different than you might expect from going through a university CS program. Really, on the job training is already happening, the cost is just being absorbed with the first n months of a junior developer starting a job, so it's currently hidden.