There’s been a lengthy discussion on the software craftsmanship mailing list over the last couple of days regarding the dangers of the Apprentice - Journeyman - Master metaphor, and how this potentially threatens to put people off the idea of software craftmanship. The responses were thoughtful and well reasoned, which showed off the general level of maturity and professionalism on the list excellently.

We’ve recently started our own apprenticeship system at Eden, and I shared a few lessons learned so far on the thread. I’ve repeated a few below, and expanded to reflect my own current thinking:

Craftsmanship is not the same as Apprenticeship. To use a computer science term, they are orthogonal: you can have one without the other. Craftsmanship is difficult to argue against and is rapidly becoming a consensus amongst a large section of our industry. Apprenticeship is a little more nascent and untested, and potentially carries more dangers. You don’t need formal apprenticeship to embrace craftsmanship.

Everyone gets to be a craftsman. Following on from this, all who want to can be craftsmen/crafters/codesmiths/whatever the most apt term is: there should be no pecking order. Indeed, the more senior among us should be taking the lower place of serving those who would learn from us. Being a craftsman is more a state of mind than a level of ability or experience.

Use verbs, not nouns. We are wherever possible using the terms as verbs not nouns in everyday use: “Richard is apprenticing to Chris”, “Chris is mentoring James”, for example. This prevent anyone “being” anything: it’s rather what you do than who you are. Those who might have a job title of “apprentice” (or not) also “mentor” others (including seniors) in specific areas they are particularly strong in.

We don’t need masters, we need mentors. We’re not taking the metaphor as far as the “master” at Eden: I just don’t think that’s helpful to anyone at the moment. All of us know people who are more experienced than us, who can “mentor” us. I say let’s just leave it at that. Rather than seeking actively seeking “apprentices” (which indirectly sets ourselves up on a pedestal), let’s be actively seeking “mentors” and passively open to “apprenticing” others who ask us. That way we’ll be helpful and inclusive, taking the lowest place at the table.

Hopefully that gives some insight in to how this language might in a professional environment. Waving loaded language around is like a waving a loaded weapon: it has powerful influence, but people can get hurt :)

We’ve purposely treaded very carefully at Eden to try and bring in the best of the “apprenticeship” metaphor without all the trappings.

What are your thoughts on the debate? Is apprenticeship useful, or are there better metaphors?