In the comments to my last post a good friend of mine (who happens to be one of the journeyman I look up to) asked why I think the “solo” or “masterless” apprentice situation is so common.
In Just Some Kid I said there are two main reasons why we grow up too fast in the software development craft: Ego and Money. I think the second one is a big influence on our current situation and obviously is a practical concern for everyone.
When we get out of college and we need a job we don’t think, “Man, I really need to find a mentor to study under.” We think, “Man, I’d really like to eat something other than ramen and Pabst Blue Ribbon.” So we skip that whole step where the focus is to learn. In doing that, we miss out on a great opportunity to apprentice to a mentor.
A little context – What is an apprentice?
As I understand it, an apprentice works for a master craftsman, learning the craft and his master’s Way.1 A Way is simply that particular master’s time-honed methods for producing great crafts and maintaining a sustainable workshop. And a master’s Way is, of course, influenced by her mentors’ Ways.
I wish had gone through an apprenticeship 7 years ago when I first started in this industry. It just wasn’t in the stars. With a load of credit card debt and Sallie Mae staring me down the options were go sling coffee at Starbucks or find a job at a little web shop where I could get paid to be the only code “expert.”
And now I’ve been out there in the working world for a while. I’ve worked for a few places and picked up some good stuff along the way, but not everything I’d like to have. I’m a de facto journeyman2, but one who never went through a true apprenticeship.
So what do I do? I’m not going to drop everything and go back to square one. I have a life and a house and everything. How do I patch those holes in my education? How do I adopt the apprentice’s open mind when I have a Real Job™?
I take mentorship in small doses and as often as possible. I apprentice to many masters. I might not be able to study under my mentors 24/7 like some ancient kung fu devotee, but I can seek out those around me willing to share. Sometimes I’ll take an afternoon or a whole Saturday to spend time programming with someone I really respect. I’ll ask them to revue my code. I’ll listen to their war stories from the old days of punch card programming. I’ve even gone over to their companies to give them some free work just to see how their Way works and how their masters do it.
There are mentors everywhere. You don’t have to be at the start of your career to study under the masters.
Find your heroes and go sit at their feet for a little while.
And by the way, if you want to share your Way, I’d love to come hang out at your office. Hit me up on Twitter: @kfitzpatrick
1 – In the old European guilds, an apprentice would start out at as young as ten years old and live as part of his (or rarely her) master’s household. http://en.wikipedia.org/wiki/Apprentice
2 – I can charge a very reasonable day’s wage. See http://en.wikipedia.org/wiki/Journeyman#Origin_of_the_title