Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at
It takes a master to lead an apprentice

Last Monday I once again attended the Software Craftsmanship Group meeting where a panel was held on the topic of Apprenticeship. I was expecting to see a discussion about what constitutes apprenticeship and the master-apprentice relationship. Instead, the conversation was mostly around two examples of companies that have apprenticeship programs.

Dave Hoover from Obtiva and Paul Pagel from 8th Light contrasted their approaches. Uncle Bob posted his impressions about the two programs and his own experiences of carrying an apprentice program, so I won't bother you with a similar (but less qualified) report.

I did bring back a few conclusions and questions, though:

  • It's hard to convince someone to take a job as an apprentice when higher-paying (or better titled) jobs are available.
  • Someone that is willing to take such position will inevitably be passionate for the craft and hungry for knowledge. This eventually helps weeding out the inadequate candidates.
  • Mentors need to keep up with the apprentices. Often they'll outgrow your ability to keep them busy and interested.
  • It takes a lot of energy and investment from the company and mentor to properly guide an apprentice into the path to journeyman. When that apprentice leaves the company, I'm afraid the loss is too big and maybe there wasn't enough time to recoup that investment.
  • Both cases presented had not experienced a failure yet, which is good, I guess. But it also leaves me wondering if it really works. Failures can assist validating the successes, the trick is always tweaking the process to keep the failure rate low (but zero is always suspicious.)
  • It seems too easy to have an apprenticeship program deteriorate into just internship — with a fancy name.

I'll post an update with a link to the video of the meeting if that becomes available.

My Apprenticeship Process

Interestingly enough, I had a chance to join an apprenticeship program a long time ago, before I got into software development.

Between high school and college I started a 5-month internship as an Electronics Technician at a local TV station. The official title was intern but it was pretty obvious there was a lot more going on.

By that time I was in my teens, and very passionate about Electronics, probably just as much as I am now about software. At the TV station I had the honor of working with a true master of that profession. My mentor not only knew the ins and outs of professional audio and video equipment, but he also loved to talk about that and teach his hard-earned techniques to us. He was as highly regarded as any professional can be. Still, his purpose in life seemed to be that every technician was as good or better than him.

Even though I learned more in those 5 months than in my 5 years in college, after seeing my mentor at work I could never dare to say I was anything more than an apprentice. The impression that I carry with me to this day is that apprenticeship is a long process. Even if you get promoted after a while, it's hard to say you're no longer an apprentice. The lines between apprentice, journeyman, and master are indeed blurry.

Unfortunately, in my software career I have never had a chance to go through similar process. Instead, like most of us, I was simply thrown in the fire and fought my way out of it. I learned a lot in these situations, but I'm sure I also wasted a lot of time doing the wrong things until I figured out the right ones. A good mentor would have guided me to the right options without depriving me of the discovery and accomplishment sensations.

Hooray for masters and apprentices! Both with tiny egos and great passion. Both seeking continuous improvement.

Posted 01-21-2009 1:03 AM by sergiopereira
Filed under: ,



Elliot wrote re: It takes a master to lead an apprentice
on 01-21-2009 4:18 AM

Nice article Sergio

It's hard to convince someone to take a job as an apprentice not only because of the scales of pay but because it is inherently difficult for a professional to actually acknowledge that they are an apprentice.

I've met and worked with developers who are obviously much better versed in the profession than I, but this only inpries me to learn more.

With a decade or more of learning and growing I doubt we'll still be satisfied about how 'good' we are at what we do. Sometimes the amount of things I feel I need to learn is overwhelming, but this is what makes me want to keep doing what I'm doing.

We're all apprenticies in a sense.

Dew Drop - January 21, 2009 | Alvin Ashcraft's Morning Dew wrote Dew Drop - January 21, 2009 | Alvin Ashcraft's Morning Dew
on 01-21-2009 12:17 PM

Pingback from  Dew Drop - January 21, 2009 | Alvin Ashcraft's Morning Dew

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Google Reader or Homepage Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of
Red-Gate Tools For SQL and .NET


SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
NHibernate Profiler
Balsamiq Mockups
JetBrains - ReSharper
Web Sequence Diagrams
Ducksboard<-- NEW Friend!


Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers


Community Server (Commercial Edition)