Apprenticeships in Computing: a Vygotskian approach?

I am much taken with David Hoover;s Top 5 Tips for Apprentices, based on his book ‘Apprenticeship Patterns‘, and reported on by James Taylor in the O’Reilly Radar blog. Although the book is looking at the Computer Industry the pedagogic approach could hold true for any knowledge intensive industry. Critically Hoover sees computing as a craft skill.

James Turners says:

“According to Hoover, one way to ease the transition into real life development is to use an apprenticeship model. His book draws on his own experience moving from being a psychologist to a developer, and the lessons he’s learned running an apprenticeship program at a company called Obtiva. “We have an apprenticeship program that takes in fairly newcomers to software development, and we have a fairly loose, fairly unstructured program that gets them up to speed pretty quickly. And we try to find people that are high-potential, low credential people, that are passionate and excited about software development and that works out pretty well.”

Hoover bases his approach to apprenticeship on Vykotsky’s idea of a Significant Other Person who he describes as a mentor.

“For people that had had successful careers, they only point back to one or two people that mentored them for a certain amount of time, a significant amount of time, a month, two months, a year in their careers.”

He also points to the potential of a distributed community of practice for personal learning, including finding mentors outside a company the ‘apprentice’ is employed in.

For me personally, I wasn’t able to find a mentor at my company. I was in a company that didn’t really have that many people who were actually passionate about technology and that was hard for me. So what I did is I went to a user group, a local Agile user group or you could go to a Ruby user group or a .net user group, whatever it is and find people that are passionate about it and have been doing it for a long time. I’ve heard several instances of people seeking out to be mentored by the leader, for me that was the case. One of our perspective apprentices right now was mentored by the leader of a local Ruby user group. And that doesn’t necessarily mean you’re working for the person, but you’re seeking them out and maybe you’re just, “Hey, can you have lunch with me every week or breakfast with me every other week.” Even maybe just talking, maybe not even pairing. But just getting exposure to people that have been far on the path ahead of you, to just glean off their insights.

And he points out the value of being that Significant Other Person to those providing the mentoring.

At a certain point in your career, your priorities shift from learning being the most important thing, to delivering software is the most important thing, then mentoring becomes part of your responsibilities. It’s something you take on if you’re following the craftsmanship mentality of apprentice to journeyman to master. And transitioning from apprentice to journeyman, part of that is taking on more responsibility for projects and taking on more responsibility for mentoring.

Although there is no explicit reference to Vygotsky in James Taylor’s review of Hoover’s book, the Top five Tips for Apprentices correspond to Vygotsky’s model of learning through a Zone of Proximal Development.

  1. Understanding where you’re at.
  2. Find mentors who are ahead of you in the field
  3. Find some peers to network with.
  4. Perpetual learning.
  5. Setting aside time to practice

I haven’t read the book but intend to. It is rare to find an such a model for learning in an advanced knowledge based industry like computing. And the drawing of parallels with the craft tradition of apprenticeship provides a potential rich idea for how learning can be organised in today’s society

Leave a Reply

Your email address will not be published. Required fields are marked *