I’ve heard a lot of praise for the apprenticeship model of learning in the software world over the past couple of years and with the help of some recently published research I’d like to say,
“you’re doing it wrong.”
I just read a fascinating paper in the Anthropology of Work Review (v.33 n.2) by Dr. David F. Lancy. In it, he summarizes observations from the ethnographic record (citing about 70 sources) in an attempt to describe the nature of apprenticeship as a training model with examples from the ancient Sumerians to the present. I would expect that when trying to establish the borders of a broad concept with that much data, each data set would serve to narrow the definition by producing more deviations reducing the size of the common set. Imagine my surprise to learn that Lancy had the opposite experience, ultimately arriving at eleven common traits of apprenticeships that span time and space.
But first, what is apprenticeship? If the goal is to pass along knowledge or skills, then public workshops would be more efficient. Lancy observes that an important feature of apprenticeship is control over fungible skills and maintenance of the social status of masters. An is a threat to the master’s reputation during training and to the master’s income after training, so the master has every incentive to maintain a high degree of control over the pupil during and after the apprenticeship period.
So these are the eleven common elements of apprenticeship that Lancy discovered.
Access is exclusive – it’s very difficult to obtain an apprenticeship position, with access limited by wealth, position, caste, or talent.
The apprentice moves into the master’s sphere of influence – Especially in the case of juvenile apprenticeships, the apprentice lives with the master and is fully under his discipline and control, forfeiting the nurturing networks previously enjoyed.
The relationship between master and apprentice is highly hierarchical.
Apprentices begin by performing menial labor often unrelated to the skill to be learned. The function of this period is to establish the hierarchy, weed out the undisciplined and unmotivated, and to socialize the apprentice to the domain.
When the apprentice does begin to learn, tasks are laddered in a gradual progression of complexity.
There is very little of what we’d call “teaching” involved. Most learning involves watching and copying the master. Questions are not tolerated as they undermine the master’s role. Most feedback is negative.
Physical and emotional abuse are very common. The reasons are mixed. There may be some benefit to the apprentice to go through a trial by fire, as it were, but the most compelling explanation for abuse is that masters benefit from the years of service that apprentices give but see their graduation as a threat, so the most useful apprentices serve the master for years and then quit or run away. Recently on a thread I started on Twitter, some programmers have shared horror stories of workplace violence in dev teams. I wonder if there’s a connection?
Creativity is discouraged strongly. Apprentices learn to copy, usually only the simpler work of the master, never to express originality.
The master often keeps some of their techniques or knowledge to himself to avoid creating too perfect a competitor.
Apprenticeship is a very lengthy process and rarely successful (for the apprentice). The master may get years of free or cheap labor before the apprentice fails or leaves.
Some ceremony marks the completion of the apprenticeship period.
I am not suggesting that we’d do a better job training novice programmers if we beat them more often, or forced them to live in the office (although that seems to work for Google). What I find exciting about this literature survey is that it implies that this thing we call apprenticeship in the software world is not apprenticeship at all. It’s something else, perhaps something new, that has emerged in our discipline. That means that we are not tied to our notions of what apprenticeship is or should be and we are free to embrace our discovery and experiment with it, creating as we go a new and more powerful method of raising a new generation of programmers.
Comments on this entry are closed.
Let me start with what I understand as apprenticeship as I’ve seen it being on both sides of the fence. I will relate to the eleven points you mention:
Access is exclusive
It’s not. In fact, given the situation where still reasonably few people are willing to learn, basically anyone willing to join is welcome.
The apprentice moves into the master’s sphere of influence
It works this way although, with globalization, sphere of influence is defined differently now. You don’t move to master’s house. You follow and support them on twitter, you read their blogs, etc. Anyway, this part still works although it is redesigned.
The relationship between master and apprentice is highly hierarchical
Often yes. Not always. It is a common pattern when we choose our mentors / masters among our leaders, especially when we’re talking about all sorts of leadership skills. However, if you consider technical skills often the relationship is build between peers, and even if we take seniority into consideration it could hardly be called “highly hierarchical.”
Apprentices begin by performing menial labor
Again, one of patterns that sometimes happens. It is, however, more related with current skill level, e.g. most likely to happen when someone is a total beginner, than with apprenticeship seniority, e.g. everyone at the beginning of the apprenticeship starts with menial work.
Tasks are laddered in a gradual progression of complexity.
Most likely yes. But then, it is more correlated with current skill level and potential and their increase than with apprenticeship seniority. It may be strongly affected be the work that is available because of external factors, e.g. we do only this type of projects so one can’t practice totally different type of work.
There is very little of what we’d call “teaching” involved. Most learning involves watching and copying the master. Questions are not tolerated as they undermine the master’s role. Most feedback is negative.
This one is worth addressing as a whole. For the starters we could probably have the whole meaningful discussion what teaching means. Anyway I would say the means of learning are very mixed, from teaching, through coaching and mentoring to letting the apprentice observe and learn by mimicking. Questions are tolerated, welcome and even encouraged. Feedback type and its quality highly depends on a person sharing feedback.
Physical and emotional abuse are very common
Physical? Unless one works in a really sick environment, no, not really. Emotional? Way more often. Much depends on individuals and on org culture. How far one can go with emotional abuse and is is still considered acceptable. Anyway, it isn’t an inherent part of apprenticeship.
Creativity is discouraged strongly
Sometimes true, sometimes not. Once again it strongly depends on a mentor / master and their character.
The master often keeps some of their techniques or knowledge to himself to avoid creating too perfect a competitor
Ditto.
Apprenticeship is a very lengthy process and rarely successful
As the industry is changing very rapidly we are expected to learn fast. Also we usually develop our careers pretty fast, thus apprenticeship isn’t that lengthy. I don’t want to go into measures of success (again a subject for the whole separate discussion) but I’d say that according to many (most?) definitions of success I’d be way more optimistic in terms of success rate.
Some ceremony marks the completion of the apprenticeship period
We could treat promotions as such ceremonies, but often decisions about promotions aren’t made personally by a master but elsewhere. Of course we have all sorts of certificates but many people treat certification with distance.
To summarize, I would say that what I consider apprenticeship, while works in general memeplex which is shared by most people. However, it seems that this view isn’t very aligned common elements of apprenticeship that Lancy describes.
One interesting observation I’ve had while describing my view of apprenticeship is that I know a couple companies where it works exactly as in Lancy’s model. These organizations work in strong command and control regime under management we’d most likely dub dysfunctional.
Having said that, you ask an interesting question: how should we call our (healthy) model of apprenticeship. Is it still apprenticeship or something different?
I have my own answer, which is aligned with my views on leadership. I say that instead of coining handful of new terms which mostly introduce more confusion we should work on improving how we understand, and use, existing concepts.
I’ve seen relationships that were very healthy and they’ve suited to what I understand as apprenticeship. Would they fit sad picture of apprenticeship that Lancy draws? Definitely no.
By the way: I wonder whether Lancy used in his research, e.g. local IT communities or modern knowledge organizations.
Thank you for the long and considered reply, Paweł.
First – Even standard dictionaries don’t call what you’re describing “apprenticeship” and the memeplex you refer to is not shared by “most people” but only by a very, very small number of people (my guess would be about 0.004% of adults). For the vast majority of humanity alive today, apprenticeship is just what Lancy describes.
Second – to say the system of passing down key skills that has served humanity for thousands of years is “sad” and “unhealthy” is what we call ethnocentrism. For most humans, this type of apprenticeship is a thing to be desired and a route out of poverty and/or to greater social status.
I agree that we shouldn’t invent new terms, but misusing existing ones is even worse. I cringe whenever I hear people in our field use words like “culture”, “tribe”, etc., because what follows makes no sense to me, mostly because I know what those words are supposed to mean and it’s hard to reconcile them with the way our (the agile software) community uses them. If you want a term to describe the type of learning you’re talking about, I’d choose “mentorship” over “apprenticeship.”
Lancy’s research drew from roughly 1,700 ethnographic works, mostly detailing “young people learning to master a craft…” and based on the examples he uses, those crafts are mostly things like weaving, carpentry, pottery, and metalwork.
I would add one more layer to the discussion. Not to change its course, because I’m going to adopt mentorship term, but to draw a wider context.
I’ve been talking with my friend (a Pole) about the post and our discussion around it and once I got the apprenticeship versus mentorship conclusion his reaction was “sigh, language police again.”
Having a bit different understanding of Polish equivalent for apprentice and understanding the difference between Polish and English words we just tend to put less attention to the direct meaning of words and more attention to how we understand them and what meaning we attach to them. Oh, and by the way, I wrote a post on the subject some time ago.
My wild-ass guess is that it’s not just a problem of Poles, especially that I’ve heard similar arguments from non-native English speakers from different parts of Europe.
Anyway, this time I’m not going to argue with the content. I’m just bringing one more perspective to the table. Something that is very often taken for granted, fairly frequently isn’t so.
The “language police” angle is interesting, but I feel this conversation clouds the real point I was trying to make, which is not “you’re using my language wrong” but rather “if it works for you, and it’s not what you think it is, then you’re free to do as you like.”
Here’s an analogy: say you’re “doing Scrum” but you’re not following all the Scrum practices, and it’s working really well for you. A Scrum guy might say you’re doing it wrong, and they’d be right. But the moment you acknowledge that you’re not “doing Scrum” then you’re no longer bound to follow Scrum’s rules and you can toss any other Scrum rules that aren’t working for you with a clear conscience.
So since we’re not using an apprenticeship model for training software craftsmen, what are we using? What’s working and what’s not? How can we as a community continue to evolve our approach to training the next generation of software creators?