Software Apprenticeship