What is Obtiva's Apprenticeship Program?

Dave Hoover, Feb 09, 2011

Over the last 3 weeks of my journey I hope that I have encouraged people to consider apprenticing less experienced software developers. I've asked them to reach downward and to "stretch toward incompetency", something I'm speaking about at speakerconf this week. I had great conversations along the way, especially with Don Mullen and Evan Light about how they might want to approach apprenticeship, and these conversations have helped me gain some insights into how established human systems incorporate newcomers effectively. I've recognized one aspect of Obtiva that I believe is working well, and that is our relatively large distribution of competency. We have people at the margins of our company, call them pre-apprentices, who interact with us frequently as they work to grow their competencies as software developers to the point where we could accept them into our apprenticeship program. We have apprentices. We have inexperienced employee developers. Some may say that these people are incompetent, and possibly dangerous to employ. It's true, they are incompetent and dangerous. So was I once, so were you. But they do not work alone. They work with experienced developers and senior consultants. We have craftsmen who reliabily deliver successful projects for us, month after month, year after year, and these are the role models that newcomers should emulate. We now have Michael Feathers, a man in search for The Thing of Software Development, someone who will strech us upward into new areas of competency. I spoke about this as I reflected on my road trip: When a competency distribution like ours sits inside a learning-focused culture like ours, something clicks. It feels alive as enthusiastic apprentices grow into inspired software developers, as experienced consultants model successful, inquisitive behavior while being encouraged by the apprentices' enthusiasm.

A common question after these conversations during this journey is what our apprenticeship program looks like. I walk through that below, but first I want to set some context. The stereotypical master-apprentice relationship looks almost like mitosis, where a single cell splits into two. The apprentice shadows and studies under a single "master", learning everything he or she can teach. You know, like, how it works in Star Wars. That's not how we do it at Obtiva. We're more like a petri dish, where there's a certain amount of creative chaos that our apprentices are surrounded by, and we never know quite what will grow out of it. It is their responsibility to learn and take advantage of their situation, and our responsbility to provide the right environment, and a barely sufficient structure to maximize their chances of success.

The guiding principle of our apprenticeship program is inspired by Christopher Alexander's Network of Learning pattern from his Pattern Language:

In a society which emphasizes teaching, children and students -- and adults -- become passive and unable to think or act for themselves. Creative, active individuals can only grow up in a society which emphasizes learning instead of teaching.

As we've evolved our apprenticeship program, we've been guided by asking ourselves how we can simply facilitate learning. We don't overfocus on lessons, curriculums, prescribed reading lists or teaching methods. We have started by removing barriers to learning. Because we pay our apprentices relatively little, we give them a nice place to live, near our office, with wifi, and furnish them with a MacBook. They pair program with us in our Studio where we deliver projects for our clients. They organize our weekly geekfest so they're in the thick of our weekly learning heartbeat. They have access to our extensive library of software-related books. We use open source tools and languages, so they're incentivized to download and use free software. Given these tools, a smart, motivated apprentice should be skyrocketing through many different levels of competencies over the course of six months.

We also have additional structure to help us provide clear feedback to Obtiva and to the apprentice about how things are progressing. First, the apprentice has a 6 month contract-to-hire relationship with Obtiva. This sets a clear expectation to everyone involved that we expect to be able to hire the apprentice within 6 months, and if within 6 months it becomes clear the apprentice isn't making it, we will need to part ways. Second, apprentices are responsible to surpass milestones every 2 months. Milestones involve 3 parts: 1) a 10-15 minute presentation on something the apprentice has learned, 2) a demonstration of progress on a pet project that the apprentice has been working on independently, 3) a code review of the pet project to look for evidence of quality software practices. These milestones are delivered to a group of senior consultants and members of Obtiva's leadership team. Lastly, apprentices meet weekly with the senior Obtivian who is overseeing their apprenticeship to check-in on progress, to provide feedback on whether they're getting what they need or if they're hitting any roadblocks.

The typical day (at least during business hours) for an apprentice will have them working on client projects in the Studio, pair programming with other Obtiva developers. Over the course of the 6 months, we expect to be able to start billing our clients for a percentage of the apprentice's time. At the end of the apprenticeship program, we expect that the apprentice's time is close to fully billable. On days when there may not be availability to pair on client work, apprentices are encouraged to work on their pet project. We have high expectations for the pet project and it would be next to impossible to surpass their milestones without burning the midnight oil.

So, that's it. What's next for our apprenticeship program? I'm not sure yet, but I know what I want next. It is sometimes frustrating that we're limited to only choosing people who can reach full-time status within 6 months. My goal for 2011 is that we can find an approach to engage people that will need a year to hit the mark. I'm currently looking at Ruby Mendicant University as a successful example of reaching downward and am excited about learning more about it when Gregory visits Obtiva in April.

Rss-icon Rss-icon-over
Archive

Archive