Red Squirrel Reflections
Dave Hoover explores the psychology of software development

Dave Hoover
dave.hoover@gmail.com

Categories
All [Atom]
Craftsmanship [Atom]
Dynamic [Atom]
Intersection [Atom]
Learning [Atom]
Links [Atom]
Polyglot [Atom]
Projects [Atom]
XP [Atom]
Old Blog

Obtivian Blogs

Andy Maleh
Colin Harris
Fred Polgardy
Jim Breen
Kevin Taylor
Todd Webb
Turner King
Tyler Jennings

Archives

March 2009 (1)
January 2009 (1)
December 2008 (1)
October 2008 (3)
September 2008 (1)
June 2008 (4)
April 2008 (3)
March 2008 (1)
February 2008 (1)
August 2007 (1)
July 2007 (1)
June 2007 (1)
May 2007 (4)
April 2007 (3)
March 2007 (5)
February 2007 (6)
January 2007 (6)
December 2006 (10)
November 2006 (5)
October 2006 (8)
September 2006 (8)
August 2006 (5)
July 2006 (12)
June 2006 (7)
May 2006 (5)
April 2006 (5)
March 2006 (4)
February 2006 (2)
January 2006 (5)
December 2005 (5)
November 2005 (3)
October 2005 (3)
September 2005 (6)
August 2005 (4)
July 2005 (7)
June 2005 (14)
May 2005 (6)
April 2005 (8)
March 2005 (9)
February 2005 (11)
January 2005 (16)
Old Archives

 

Wed, 15 Jun 2005

Liz Keogh on Resisting the Promotion

Liz weighed in with her thoughts on Resist the Promotion, suggesting a new pattern Step On Up. I like the idea, and while it could be described as a pattern of software craftsmanship, it's not a pattern for apprentices. But let me defer that issue for now. My assertion might make more sense after I address the concept of apprenticeship. (see below)
Liz: "Dave says that he's aiming his patterns at new programmers, but I've found that a great deal of them are applicable to where I am in my career."
When I started writing the apprenticeship patterns, I was explicit with myself about the target audience: novice programmers interested in software craftsmanship. I received feedback early on from my brother (a user experience designer at Microsoft) that some of the patterns could be made more abstract because they were applicable outside of the domain of software craftsmanship. Since then, I've had programmers with more than 15 years of experience tell me that they found the patterns relevant. While this feedback is encouraging, we are going to continue to keep our context grounded in novice programmers.
Liz: "I don't feel as though I've finished my apprenticeship yet, despite having over seven years of industry experience.
According to Pete McBreen, "An apprenticeship will last at least five years" (Software Craftsmanship, p. 102). The context of Pete's statement implied that the apprenticeship followed the ideals set out in his book. In other words, apprentices work on a small team of craftsmen, consisting of other apprentices, a few journeymen, and a master. It's safe to say that most of us didn't have the benefit of such an environment during the first five years of our careers, nor for any 5 year stretches of our careers. So it's not surprising that Liz's apprenticeship continues, as does mine.
Liz: "I accept that it's important to understand the technical aspects of the job in depth, and therefore resisting a promotion is important, but I feel it's equally important to recognise the point at which you as a developer can move on to help facilitate the process which turns ideas into reality."
True, but one must wait until your apprenticeship is over. Resist the Promotion is written for apprentices because it is during apprenticeship that a craftsman's knowledge is most transient. A journeyman or a master might be able to maintain their craftsmanship for a season when they've found it appropriate to Step On Up, but an apprentice will lose his expertise much more quickly.
Liz: "Apprenticeship has to be a life-long pursuit; a journey towards an unreachable destination, but an important journey nontheless."
Liz is confusing apprenticeship with mastery. For the purposes of the apprenticeship patterns, I am basing my understanding of these concepts on Software Craftsmanship by Pete McBreen and Mastery by George Leonard. While an apprenticeship does, in fact, have an ending, the path to mastery does not. Although we haven't yet come up with a clear distinction between apprentice and journeyman, we are operating under the assumption that they are two distinct stages of the software craftsman. In my opinion, what Liz is describing is mastery, not apprenticeship.
Liz: "Dave and Pat, if you read this; I'd be interested to know if this makes any sense to you. From my point of view, you're masters. Do you consider yourselves to have finished your apprenticeships yet?"
I don't understand how you could think either Pat or I are masters. You've never worked with us. And no, I have not yet finished my apprenticeship. I've been programming for less than five years.

Update: Liz, I definitely was not annoyed with you, no apology necessary. I appreciate you and Pat posting on this topic because it's forcing me to clarify the pattern. It's exactly what I needed and I hope that you'll continue to comment, critique, and suggest alternatives. Pardon the tone of the blog entry, it's probably the outcome of me trying to do too many things at once.

[/craftsmanship] permanent link


powered by blosxom