When you want to become a pilot, you'll first have to be a co-pilot (after your training). You'll won't become a medical professional without working with an experienced doctor first. As software engineering is a profession that also combines deep knowledge, analytical skills and experience as well, why would this be any difference?
My company, Xebia, has started a master-apprentice program in the Netherlands. See Apprenticeship Program for more information.