This apprenticeship pattern seeks to solve the problem of the apprentice that wants to seek out and join a skilled team to contribute to and learn from (also, it pays the bills). However, a truly novice software developer may lack the skills needed to contribute, and faces (perhaps fears) rejection.
The writers offer a solution and an action item to assist it. The solution is to develop and maintain concrete skills, items that can go on a resume, get through HR filters, and convince a hiring manager that it’s worth it to take a shot on the otherwise unproven apprentice. These include picking up new languages and technologies, and most importantly writing a project in them, especially if it’s something the apprentice can put on a repository site or their own personal site for potential employers to look at. The action item (short of finishing a half-dozen personal projects) is to look at the CVs of skilled proffessionals, and to figure out which skills they have that the apprentice could learn. This goes hand-in-hand with keeping one’s own CV up to date and figuring out which parts are likely to catch the attention of hiring managers.
I think that the development of concrete skills is one of the more valuable things that I’ve gotten out of my education, and I wish that I’d had more opportunities to develop some. I think it’s really important for students to have opportunities to create projects that push not just conceptual learning, but force the development of concrete skills because they’re the best tools for the job. I have also been lucky to have an employer that’s willing to let me work on software projects for the business which has given me a lot of experience as well. I would add to this pattern a suggestion to find an external source of pressure to create a project that works and looks professional.
This is, I think, a pattern that seems obvious and is harder to put into practice than it might appear. It’s easy to commit to doing things by looking over a CV and developing a list of skills, and harder to actually get them done.