Red Squirrel's Nuts

I constantly forget where I bury my nuts, but at least they sometimes grow trees.

Nov 22 2011

Tidbits from the Apprenticeship Panel

Adam Goucher asked me to blog about my contributions to the apprenticeship panel at SCNA 2011. Here’s my brain dump of what I can remember:

The a-hole hat. One topic that came up was how important it was to be an a-hole and hold your apprentices’ feet to the proverbial fire. This question resonated with me because of my background. I was trained and educated as a child and family therapist, so my natural tendency is to encourage, comfort, and sometimes, coddle. There are times when these aren’t helpful to apprentices, and instead, they need honest, sometimes brutal, feedback. We’ve evolved the Obtiva/Groupon apprenticeship program to include explicit opportunities for mentors and leaders to wear the a-hole hat. They’re called milestones. Every 2 months (of the 6 month program) the apprentice demos their pet project, then we code review it, and they present for 5-15 minutes on something they’ve learned. Then, we have a retrospective on the 2 months, providing feedback to the leaders and the apprentice about how we can improve the next 2 months. Finally, we make a decision, one of 3 options: a) the apprentice is dismissed, b) the apprentice is hired, and c) the apprentice continues. At the final milestone, the options are limited to a & b. This structure helps me put on my a-hole hat.

Just do it. (Don’t propose it.) This was actually a point that Uncle Bob and Ken Auer made together. Some people asked about how to go about starting an apprenticeship program. Please, don’t propose an apprenticeship program. Don’t overthink it. Don’t spend tons of time on curriculum and detailed plans. Plans and proposals invite committees and require consensus. Instead, find an apprentice, or if an apprentice found you, accept them. Then just get started. This is how you do pretty much anything new. Just do the thing. Keep doing it until you determine it’s a bad idea, or if it works, then instead of a presenting a proposal, you’re presenting a success story. In terms of how to start the program, it’s incredibly context-dependent, so there’s no single answer. The only mandatory practices I can imagine an “apprenticeship program” should include is frequent feedback loops and retrospectives so that you can continually adapt and improve. The foundation of an apprenticeship program is caring like crazy about the apprentice’s progress.

A dedicated mentor. Our senior engineers volunteer to take on an apprentice. The apprentice joins their team, pairs with them and their teammates, and meets with their mentor weekly for progress updates. The apprentice does not shadow their mentor constantly, and instead, enters the normal flow of the teams’ development process. There may be a week where the mentor is travelling, where the check-in is the only face-time the apprentice gets. There may be weeks where the apprentice pair programs with their mentor all week. The apprentice/mentor check-in is the heart beat that keeps an apprenticeship on track.

Learning is more important than teaching. This didn’t come up at SCNA, but I can’t not mention it. An apprenticeship is about learning, not teaching. If an apprenticeship emphasizes teaching, apprentices will become passive. Passive apprentices won’t have the learning momentum to keep them ramping up to the next level beyond their apprenticeship program. Cultivate an attitude of curiosity. Model this behavior by exposing your own ignorance when you’re working with your apprentice. Show them how you learn. Show them that the learning never ends.

That’s all I can remember right now. (I’m tired.) If anyone from SCNA remembers anything noteworthy that I’ve forgotten, please comment. Also, feel free to post questions!


Comments (View)
blog comments powered by Disqus
Page 1 of 1