Tuesday, 6 January 2009

Am I a Master?

Several people have observed, with a snigger, that I am the only person registered for the forthcoming Software Craftsmanship conference who is listed as a Master. Ade Oshineye has gone further by writing “Anyone who seriously claimed [to be a master] would suddenly find themselves having to explain why they were better than everyone around them. Someone could attempt it but they’d need a lot of ego and a diminished capacity for self-doubt and self-awareness.” (original here)

Gosh. The main reason I listed myself as a master is that Jason Gorman was kind enough to describe me as one in his promotional material for the event. Seriously, though, should I be prepared to call myself a Master of Software Development? It’s a tricky question because traditional craftsmanship is not an accurate parallel to what I do at work. As Oshineye points out, there’s no agreed way of determining what mastery of software means. Like many of the analogies applied to software development, a consideration of “craftsmanship” can improve our understanding but it is misleading to assume craftsmanship – or any other analogy – will provide a complete and useful model. Software development is like… software development. Perhaps the most useful insight that comes from comparing software development with craft is the realization that apprenticeship might be the most appropriate way of learning a set of poorly understood and rapidly evolving skills.

If I really am a Master I should be able to point to my masterpiece. But, as is the way with most software development, all the successful systems I’ve been involved with have been team efforts. Even my books have been co-authored. So if I had to go before my peers to argue my case as a Master, what would I say?

I think the most important considerations in this assessment are whether your peers recognize that you have:
  • advanced the body of knowledge of the field
  • made efforts to pass knowledge on to others
  • carefully and consistently met high standards in your own work.
Having defined the criteria of a Master for myself I feel confident that I can meet them (how convenient!). I won’t risk further accusations of self-aggrandisement by listing my claims here, but you can read them on my web site if you want.

As for the third category, I’ll leave it to the people I’ve worked with over the years to decide.

11 comments:

Ivan Moore said...

I have pair programmed with John and I think he's a Master. If you ever get the chance to pair program with him, then you should.

Kurt Guntheroth said...

Mastery is not something conferred upon you. It's something you know about yourself. You can teach it, but you can't learn it. You have to experience it.

About 17 years into my own career, I realized one morning as I sat down in front of the monitor, that pretty much anything I could think up, I could turn into working code. I further realized that this hadn't been true a year ago. This is a kind of subjective definition of mastery.

Unknown said...

I just had this experience!

jose said...

Really nice post. Thank you for sharing amazing information.
Java Training in Chennai/Java Training in Chennai with Placements/Java Training in Velachery/Java Training in OMR/Java Training Institute in Chennai/Java Training Center in Chennai/Java Training in Chennai fees/Best Java Training in Chennai/Best Java Training in Chennai with Placements/Best Java Training Institute in Chennai/Best Java Training Institute near me/Best Java Training in Velachery/Best Java Training in OMR/Best Java Training in India/Best Online Java Training in India/Best Java Training with Placement in Chennai



Mithun said...

This Resource is Wonderful to share Good things and knowledge to people anywhere...Keep Posting and share
Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

Block said...

Thanks a lot very much for the high-quality and results-oriented help.
I won’t think twice to endorse your blog post to anybody who wants
and needs support in this area.
javascript training in chennai
mysql training in chennai
unix training in chennai
Software training institute in chennai

Unknown said...


Nice blog thank you .For your Sharing It's a pleasure to read your post.It's full of information I'm looking for and I'd like to express that "The content of your post is awesome"Oracle DBA Training in Chennai
ASP.NET Training in Chennai
C#.NET Training In Chennai
hadoop training in chennai

cyber pc said...

thanks due to the fact you have been precise-natured to percentage opinion subsequent to us. we are able to continually recognize all you have finished here because I understand you are selected worried thinking about our.! Users can save their personalized presentations locally and online into their accounts using this software. Download Prezi Full Crack

Let2know said...

i'm able to see which you are an capable at your pitch! i'm launching a internet site quickly, and your inform could be very useful for me.. thanks for all your benefit taking place and wishing you all the triumph for your issue.! Ofice 2010 Crackeado

john said...
This comment has been removed by the author.
G A said...

Great