Being a Master Craftsman or not?

13 views
Skip to first unread message

Mark Nijhof

unread,
Dec 12, 2009, 6:29:58 PM12/12/09
to software_cr...@googlegroups.com
Hi Adewale and others,

> Personally I'm not convinced that we have any masters yet.

This is something I have some questions about. There are reasonable
guidelines to determine when an apprentice becomes a journeyman, even
if it is mostly a decision by the journeymen and not a strict
guideline. But then going from being a journeyman going towards being
a master craftsman. That is a whole other story, well there really
doesn't seem to be a story. Uncle Bob mentioned 20 years or more (
http://blog.objectmentor.com/articles/2009/04/01/master-craftsman-teams
) but in other places I read also the following sort of things:

"An aspiring master would have to pass through the career chain from
apprentice to journeyman before he could be elected to become a master
craftsman. He would then have to produce a sum of money and a
masterpiece before he could actually join the guild. If the
masterpiece was not accepted by the masters, he was not allowed to
join the guild, possibly remaining a journeyman for the rest of his
life." ( http://en.wikipedia.org/wiki/Master_craftsman )

Here the key is in that the aspiring master needs to proof himself
worthy to the group of fellow master craftsman in order to become a
member. There is not a certain period of time that needs to pass, it
is a test that he needs to pass. Now I am not saying that the number
of years do not count, of course there needs to be a solid body of
experience. Fun Fact: So if we indeed don't have any master craftsmen
and taking the above mentioned quote to hart then we will never get
any master craftsmen in our profession :) but take this a bit more
serious a journeyman would not call himself a master, this is up to
the other masters to decide, but there are none, not enough anyway.

So is being a master craftsman not very dependent upon his
environment, meaning that in some regions or even communities you have
master craftsman of different skill levels, but all of them are a
master craftsman in their environment. If a master craftsman decides
to move into a different environment and discovers that there he is
not envisioned a master craftsman or at least not like he was before
then a true craftsman would be happy. (someone to learn from).

This could mean that in a environment that has no larger established
group of people practicing craftsmanship that a team that is or some
people within that team may actually have a master craftsman, perhaps
not by the standards described above, but it would have a reason to
exist. In an environment that has such a group established there you
would be able to have such a process take place and there would be
craftsmen teams without a master craftsman.

Also looking back (and I can't so I can only make assumptions on this)
the first Guilds with master craftsman in the different crafts, when
they begun the Guild there must have been a rather varying degree of
craftsmanship within that group, I am sure that this was more
something like the best craftsman from each area went to join the
Guild and after it was established you can begin to get a common level
of craftsmanship and start accepting or declining new applications (as
it were).

So I guess what I would like to propose is that the community as it is
now should perhaps start thinking about getting a group together that
are commonly known and respected and are seen as master craftsman (and
I know this would really not sit well with David Harvey :) I left a
comment there as well but I think something went wrong submitting it).
Also I think this groups should not be too small. Now just to be clear
on this, I _do not_ consider me to be part of this group. But the
groups should be big enough that it is not only a global thing, so not
just Uncle Bob. I think that if a community is active in software
craftsmanship that that community could point out a master craftsman.

So yes I think in the beginning it is ok to have master craftsman that
do not have the ideal level of experience and knowledge, as long as
their mind set is good and they are properly respected by their
immediate peers and have the passion. We currently don't have master
craftsman by the normal definition, and by the time we would have them
it may be too late to really help us out.

Now I hope you guys could make some sense out of my thought process as
it is getting a bit later here :)

-Mark

Jason Gorman

unread,
Dec 12, 2009, 7:00:12 PM12/12/09
to software_craftsmanship
This only matters if our goal is to have masters and apprentices.

My goal is to improve at writing better quality code. And - looking
back - I've somehow managed to get a bit better year on year without
ever meeting a master software craftsman or reading code that could be
described as a bone fide "master work". I think maybe there's a little
bit of mastery in all of us; some little thing we seem to be better at
than most. And until I run out of people to learn from, be they more
or less experienced, and regardless of whether they're wearing a Big
Pointy Hat, I'm happy to look for inspiration, and share it, among my
peers :-)


Jason Gorman
http://www.codemanship.com

On Dec 12, 11:29 pm, Mark Nijhof <mark.nij...@gmail.com> wrote:
> Hi Adewale and others,
>
> > Personally I'm not convinced that we have any masters yet.
>
> This is something I have some questions about. There are reasonable
> guidelines to determine when an apprentice becomes a journeyman, even
> if it is mostly a decision by the journeymen and not a strict
> guideline. But then going from being a journeyman going towards being
> a master craftsman. That is a whole other story, well there really
> doesn't seem to be a story. Uncle Bob mentioned 20 years or more (http://blog.objectmentor.com/articles/2009/04/01/master-craftsman-teams

Mark Nijhof

unread,
Dec 12, 2009, 7:09:15 PM12/12/09
to software_cr...@googlegroups.com
I didn't want to imply that as a journeyman you need a master
craftsman else you won't progress in the crafts, not at all.

But if we have the notion of master craftsman but non of our
journeyman will reach this level, then why have it in the first place?

Also it is not just about learning, in a team the master craftsman has
the end responsibility so basically gets to settle arguments, this is
something that is needed (I believe).

-Mark
> --
>
> You received this message because you are subscribed to the Google Groups "software_craftsmanship" group.
> To post to this group, send email to software_cr...@googlegroups.com.
> To unsubscribe from this group, send email to software_craftsma...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/software_craftsmanship?hl=en.
>
>
>

Mark Nijhof

unread,
Dec 12, 2009, 7:20:41 PM12/12/09
to software_cr...@googlegroups.com
I believe there is good value in having master craftsmen, I am just
arguing now whether or not they should be the absolute top of our
whole industry or if we can settle with perhaps some local hero's
first (figure of speech). And I see this value especially in teams,
and companies, its about responsibility. But you are right in the end
when talking peer to peer it doesn't matter.

-Mark

Steve Tooke

unread,
Dec 12, 2009, 7:10:09 PM12/12/09
to software_cr...@googlegroups.com
For me I think the software craftsmanship metaphor breaks down
entirely if we have an elite group that people want to break into.

I like the metaphor as a way to describe what I think is the best way
to train software developers, to pass on the knowledge. Working with
people who have more experience, who have built successful software
and who are able to show other people how to do that is how I have
learnt most.

I don't think creating a group of people who will judge who is to be
accepted will help anybody.
> --
>
> You received this message because you are subscribed to the Google Groups "software_craftsmanship" group.
> To post to this group, send email to software_cr...@googlegroups.com.
> To unsubscribe from this group, send email to software_craftsma...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/software_craftsmanship?hl=en.
>
>
>



--
/tooky

Jason Gorman

unread,
Dec 12, 2009, 7:24:36 PM12/12/09
to software_craftsmanship
I think we may be talking at cross purposes here. I'm saying the whole
apprentice-journeyman-master angle is entirely your choice of how you
aspire to approach your "craft". I don't buy into any of it at all.
It's not what craftsmanship is about for me. For me, it's all about
learning and improving and ultimately writing better quality code.

Now, it may be that a majority on this discussion group say "hey, well
then you're not a software craftsman if you don't buy into the
standard career model we're proposing" and I will happily go and seek
out people who care as much about their code but aren't interested in
promoting a formalised heirarchy.

I'm not saying you're wrong. I'm just pettily labouring the point
that we keep hearing those words because it's late and I'm tired and
crotchety ;-)

J

Jason Gorman
http://www.codemanship.com
> > For more options, visit this group athttp://groups.google.com/group/software_craftsmanship?hl=en.- Hide quoted text -
>
> - Show quoted text -

Adewale Oshineye

unread,
Dec 12, 2009, 7:25:47 PM12/12/09
to software_cr...@googlegroups.com
2009/12/13 Mark Nijhof <mark....@gmail.com>:
> I didn't want to imply that as a journeyman you need a master
> craftsman else you won't progress in the crafts, not at all.
>
> But if we have the notion of master craftsman but non of our
> journeyman will reach this level, then why have it in the first place?
>
> Also it is not just about learning, in a team the master craftsman has
> the end responsibility so basically gets to settle arguments, this is
> something that is needed (I believe).
>
> -Mark
I hate to sound like someone who has read too many books on zen but...
"the journey should worthwhile in itself" and "perfection is a
direction not a destination" all apply here.

Supposing I discover that I'm never going to get to wear the big
pointy hat that marks me as a master software craftsman. Does that
mean I should give up and become a professional photographer? Or does
that mean I should continue drawing a quiet satisfaction from getting
better every day?

This is not the middle ages and many of the roles that a master
craftsman would have fulfilled in the old days are no longer needed.
We work in teams and we learn to settle our differences ourselves
without appealing to some higher authority. We don't need to be
certified or licensed before we can practice our craft.

People worry too much about mastery and not enough about simple apprenticeship.
Speaking of which. Paul Pagel, Enrique, Nuno and myself started this:
http://github.com/paulwpagel/codekata a while ago. Would some people
like to help out?

Mark Nijhof

unread,
Dec 12, 2009, 7:31:58 PM12/12/09
to software_cr...@googlegroups.com
I fully agree and didn't mean to put that up to discussion that
craftsmanship in itself is not about reaching a final destination and
that it is about improving yourself. No argument there.

I also see to value of apprenticeship, but maybe we don't need any of
these names. Just Craftsmanship without the Apprentice, Journeyman and
Master Craftsman? I am just looking into where what fits, and as I
said in the initial post, if we don't have or need any masters then
perhaps we should also not have that notion?

-Mark

Mark Nijhof

unread,
Dec 12, 2009, 7:32:22 PM12/12/09
to software_cr...@googlegroups.com
Will take a look at the url tomorrow!

On Sun, Dec 13, 2009 at 1:25 AM, Adewale Oshineye <ade...@gmail.com> wrote:

Arnaud Bailly

unread,
Dec 13, 2009, 4:24:31 AM12/13/09
to software_cr...@googlegroups.com
Hello,
I have been lurking here for a couple of months, thanks to a friend of
mine who think this group could be interested in some article I wrote
about coding dojos. So, first of all, here is the link:

http://www.oqube.com/journal/journal/2009/09/14/On-The-Benefits-of-Dojo

Comments and advices are welcomed, of course.

I have tried to follow this debate, sparkled by Dave Harvey's talk for
QCon, which gave me a better picture of the Software Craftsmanship
movement as it is expressed through this list. I,like some (most?)
people, have been much worried by the analogy between SC and medieval
guilds. I am glad to see that some (most?) people don't buy in to
this. I am still worried this analogy continues to creep in various
guises, for example in the apprentice/journeyman/master scheme.

There is a museum in Tours (France), dedicated to the masterpieces of
Journeymen from various professions (see
http://www.musee-du-compagnonnage.info/, sorry it's in French). Your
opinion may diverge, but it seems to me that most of these pieces,
while demonstrating some technical skill, totally miss the point by
being both ugly, conformist and totally useless.

Regards,
Arnaud

Mark Nijhof

unread,
Dec 13, 2009, 8:30:18 AM12/13/09
to software_cr...@googlegroups.com
With respect to the pieces in the museum, I think comparing the craft
of creating art and the craft of creating software is not possible
basically because of that art is supposed to be beautiful and software
supposed to be functional And because whether or not something is
beautiful this is completely up to the beholder and is not measurable.
I know you can also appreciate a piece of art because of the technical
skills of the artists, but in general art is to be liked because of
its perceived beauty.

For software development it is not so fuzzy, there we compare
different pieces of software accordingly to some pretty well defined
guidelines and the same goes for the process that was used to build
it.

I had a blog post in-mind about this as well: Difference between an
Artisan and a Craftsman

Given the requirement: "an object that is used to sit on, and it
should support my back while sitting"

The Craftsman could create something like this:
http://www.purelypine.co.uk/product-images/200763846590.Province%20chair.jpg
The Artisan could create something like this:
http://www.boingboing.net/images/_archivesB_upload_8201_657_hand_chair.jpg

Both meeting the requirement but from a completely different view point.

-Mark

Jason Gorman

unread,
Dec 13, 2009, 8:42:05 AM12/13/09
to software_craftsmanship
I'd be interested to know what the well-defined guidelines for
software are.
In my own experience, I've not come across any widely-accepted
criteria for software quality. Indeed, I failed to gain a consensus on
something I thought would be clear cut when I polled members of my
Yahoo! group and asked them if a method containing 5000 LOC is too
long! Most answered "it depends" :-)

Jason Gorman
http://www.codemanship.com

On Dec 13, 1:30 pm, Mark Nijhof <mark.nij...@gmail.com> wrote:
> With respect to the pieces in the museum, I think comparing the craft
> of creating art and the craft of creating software is not possible
> basically because of that art is supposed to be beautiful and software
> supposed to be functional And because whether or not something is
> beautiful this is completely up to the beholder and is not measurable.
> I know you can also appreciate a piece of art because of the technical
> skills of the artists, but in general art is to be liked because of
> its perceived beauty.
>
> For software development it is not so fuzzy, there we compare
> different pieces of software accordingly to some pretty well defined
> guidelines and the same goes for the process that was used to build
> it.
>
> I had a blog post in-mind about this as well: Difference between an
> Artisan and a Craftsman
>
> Given the requirement: "an object that is used to sit on, and it
> should support my back while sitting"
>
> The Craftsman could create something like this:http://www.purelypine.co.uk/product-images/200763846590.Province%20ch...
> The Artisan could create something like this:http://www.boingboing.net/images/_archivesB_upload_8201_657_hand_chai...

Mark Nijhof

unread,
Dec 13, 2009, 9:36:49 AM12/13/09
to software_cr...@googlegroups.com
Well I said _pretty_ well defined, and I believe they are defined in
the different books available to us about principles and practices and
software craftsmanship. Also it is not widely-accepted but I believe
these guidelines are well accepted in the software craftsman
community. The whole idea of software craftsmanship is not well
accepted so neither are its guidelines.

With respect to the 5000 LOC method call, I would like to say "Yes to
long", even independently of context I am sure that by splitting it up
you can make it more readable?

-Mark

Jason Gorman

unread,
Dec 13, 2009, 9:49:21 AM12/13/09
to software_craftsmanship
I've got about 500 books on programming and software development. They
often disagree with each other. Indeed, some disagree with themselves
from chapter to chapter. Which ones should I ignore, and why?

Jason Gorman
http://www.codemanship.com
> >> > For more options, visit this group athttp://groups.google.com/group/software_craftsmanship?hl=en.-Hide quoted text -

Mark Nijhof

unread,
Dec 13, 2009, 9:55:47 AM12/13/09
to software_cr...@googlegroups.com
So are we saying that we don't need Master Craftsmen (as an entity)
but that only the differentiation between Apprentice and Journeyman is
enough?

Also please understand that I am trying to make sense of it, I do
think that having a Master Craftsman is useful especially in regards
to responsibility. And I completely agree that it should not be
something like an elite club. I believe it would have something to do
with respect. And at no time would I want to argue that Craftsmanship
is not in the first place about improvement, pride, passion in and for
the craft. I just wanted to talk about this part :)

And thanks for the feedback so far.

-Mark

Mark Nijhof

unread,
Dec 13, 2009, 10:51:45 AM12/13/09
to software_cr...@googlegroups.com
I think this would make a good thread on its own.

Well I am sure that you can get a smaller selection of books that you
think would resemble good software development books? But I am
thinking for example about authors like Kent Beck, Martin Fowler and
Robert C. Martin.

-Mark

Jason Gorman

unread,
Dec 13, 2009, 12:08:32 PM12/13/09
to software_craftsmanship
That's quite a restricted diet :-)
> >> >> > For more options, visit this group athttp://groups.google.com/group/software_craftsmanship?hl=en.-Hidequoted text -

Mark Nijhof

unread,
Dec 13, 2009, 12:12:09 PM12/13/09
to software_cr...@googlegroups.com
Again I used "for example" so sure there is a lot more, but as I tried
to hint, that is not what I am curious about in this thread ;)

-Mark

greeni

unread,
Dec 13, 2009, 9:07:14 PM12/13/09
to software_craftsmanship
>>...I'd be interested to know what the well-defined guidelines for software are. In my own experience, I've not come across any widely-accepted criteria for software quality....

Why not start with: it works and provides solid value to the business.
A quick google of "software failure" turns up a number of reports. The
consensus seems to fall around a 40-60% failure rate, in which
projects fail to return *any* value at the "end." So let's stipulate
that something is very wrong with the state of the software industry.

How does a discussion of "software as a craft" address this? The
question infers that the problem is that software creators are
responsible for the miserable state of affairs and provides a clear
enough remedy: adopt a system that was abandoned a long time ago
because it was economically inefficient and unsurprisingly morphed
into an institution of power and privilege for the few over the many.
Such is the outcome of all human endeavors, sooner or later--let's be
real.

What evidence is there to support such an inference, anyway? On about
half the projects, were there not enough "master craftsmen"? On the
contrary, having spent my share of time on hopeless death marches,
what I've witnessed was that almost everybody engaged in (hopeless)
individual heroics and made (meaningless) sacrifices along the way to
a "failed" project outcome. I don't think you can blame the rowers for
the ship being ultimately lost at sea. I don't hear anybody saying
that "we need more blackbelt developers!" and then everything will be
better. Is that what this group is about?

George Leonard wrote a book called Mastery a long time ago (1991) in
which he identifies the 5 Master Keys--worth a read, if you're
serious. (http://www.scribd.com/doc/257928/-Mastery-by-George-Leonard)
My take-away at the end of it, fifteen years ago, was that everybody
wanted to win the Super Bowl but very few were willing to work harder
than everybody else to do it. For those committed to becoming masters
of their craft, there is *at some point in their development* a place
for the apprentice/journeyman/master. But if you stick at it long
enough, you'll eventually see that no perspective will hold value for
long, at least not if you're making progress toward your goal of
mastery.

I think what we need, and what this group *begins* to point to, is a
change in orientation to get us out of the plateau (Leanard's words)
we're stuck in. That orientation is one founded on basic values of
Respect, Collaboration, and Personal Imperfection. Respect for the
other people. Collaboration because we can't do it alone. And
recognizing that, together, we can compensate for each others'
imperfections.
</rant>
David G.

On Dec 13, 7:42 am, Jason Gorman <goo...@parlezuml.com> wrote:
> I'd be interested to know what the well-defined guidelines for
> software are.
> In my own experience, I've not come across any widely-accepted
> criteria for software quality. Indeed, I failed to gain a consensus on
> something I thought would be clear cut when I polled members of my
> Yahoo! group and asked them if a method containing 5000 LOC is too
> long! Most answered "it depends" :-)
>
> Jason Gormanhttp://www.codemanship.com
> > > For more options, visit this group athttp://groups.google.com/group/software_craftsmanship?hl=en.-Hide quoted text -

Paul Pagel

unread,
Jan 11, 2010, 4:32:22 PM1/11/10
to software_cr...@googlegroups.com
I would have to agree that masters per se wouldn't serve the same authoritative role as they did throughout history. However, I think it would be silly to not recognize the master(esque) developers and what they are doing. They are often moving our industry forward. I think of the people who came up with agile and XP and see a list of aspiring masters/gurus/experienced developers/etc. As an apprentice it was important for me to understand who ward/uncle bob/kent beck/etc. were so that I knew who to learn from.

Most of the conversations I have are about the details of the ideas of these masters.

Reply all
Reply to author
Forward
0 new messages