Who decides?

13 views
Skip to first unread message

Channing

unread,
Apr 10, 2009, 5:12:41 PM4/10/09
to software_craftsmanship
Who decides that someone is a craftsman?

Dave Hoover

unread,
Apr 10, 2009, 5:28:15 PM4/10/09
to software_cr...@googlegroups.com
On Fri, Apr 10, 2009 at 4:12 PM, Channing <channin...@mac.com> wrote:
>
> Who decides that someone is a craftsman?

The onus is on the individual to show that s/he is a craftsman. But
really, the most important step is the individual *choosing* to become
a craftsman. Once that decision is made, it is up to that person to
abide by the values and ethics of software craftsmanship. If that
person states publicly that s/he is a craftsmen, and the software
craftsmanship community observes discrepancies between the craftsman's
behavior and/or work products that contradict our values and ethics,
then it is up to us to work with that person. We would work with the
person to either adjust his/her approach so it fits our definition of
craftsman or s/he needs to stop claiming to be a craftsman.

Here's an example of someone stating publicly that he is a craftsman.
http://skitch.com/dave.hoover/bmj3p
Please hold me accountable!

Best,

Dave Hoover
//obtiva: Agility applied. Software delivered.

Mark Nijhof

unread,
Apr 10, 2009, 5:41:25 PM4/10/09
to software_cr...@googlegroups.com
Hmm it would take a while before I would start calling myself a
craftsman, but I also know people calling them self's senior
developers one year after school. So I guess there will be many people
calling them self's craftsman if there is a certain benefit (money
usually) in doing so. I am also sure that those won't change their
ways just because we have talked to them.

I think unless there is some sort of certificate (which I am not
suggesting we should have, not at all) then it comes down to trust,
one way to trust a person calling them self's a craftsman is if he/she
has references from other craftsman saying we vouch for his abilities.
It think that would be something interesting to have.

-Mark

Scot Mcphee

unread,
Apr 10, 2009, 7:16:29 PM4/10/09
to software_cr...@googlegroups.com

On 11/04/2009, at 07:41 , Mark Nijhof wrote:

>
> Hmm it would take a while before I would start calling myself a
> craftsman, but I also know people calling them self's senior
> developers one year after school. So I guess there will be many people
> calling them self's craftsman if there is a certain benefit (money
> usually) in doing so. I am also sure that those won't change their
> ways just because we have talked to them.

I don't think I could ever call myself a craftsman. I certainly can
say I believe in craftsmanship.


Mark Nijhof

unread,
Apr 10, 2009, 7:22:09 PM4/10/09
to software_cr...@googlegroups.com
> I don't think I could ever call myself a craftsman.

It is something I am working towards so I definitely hope/think that
I'll achieve my goal :)

-Mark

Michael Hunger

unread,
Apr 10, 2009, 7:23:32 PM4/10/09
to software_cr...@googlegroups.com
But you can call yourself an aspiring craftsman, can't you?

Because just believing in a thing doesn't change your way of doing stuff? Actually doing it, improving yourself and
honing your skills, leading by example, inspiring people and spreading the word makes you a craftsman.

Michael

Gunish Rai Chawla

unread,
Apr 10, 2009, 7:25:56 PM4/10/09
to software_cr...@googlegroups.com
Hey Guys,
I am new to the subject of Software Craftsmanship but i have something to add to it.
I come from family which owns a small garments boutique in India. One of the produces is a very fine handmade embroidery called zardozi.

http://en.wikipedia.org/wiki/Zardozi

http://www.bharatonline.com/uttar-pradesh/pics/zardozi-in-agra.jpg

In my world, we call the people who do this, as very highly skilled craftsmen.

So how do we determine if a person in question is a good zardozi craftsman?

"We Flip the cloth over !!!"
i.e. \we look at the thread work from behind, to see if s/he is a good craftsman or not. An expert can easily point that out. In the software world, we basically don't look at the shiny UI, look underneath, look at the code, and you can see it very clearly, if s/he is a good craftsman (or not).

So how does one become a craftsman?

"You Train as kids for years under the Master Craftsmen !!!"
i.e. this skill is usually passed from father to son, or so forth from a Guru to Disciple. I am not sure if that's possible in at a large scale in the software industry, but that's the way it has worked for generations, And it's the father's/guru's word of approval or endorsement, that gets sons/disciples work in the marketplace.

I hope that adds some value to the discussions!

Cheers!
Gunish R. Chawla
www.gunish.com

Scot Mcphee

unread,
Apr 10, 2009, 7:30:38 PM4/10/09
to software_cr...@googlegroups.com

On 11/04/2009, at 09:23 , Michael Hunger wrote:

>
> But you can call yourself an aspiring craftsman, can't you?

of course


> Because just believing in a thing doesn't change your way of doing
> stuff? Actually doing it, improving yourself and
> honing your skills, leading by example, inspiring people and
> spreading the word makes you a craftsman.

i would be happy to leave such value-judgements up to others.

Michael Hunger

unread,
Apr 10, 2009, 7:35:33 PM4/10/09
to software_cr...@googlegroups.com
The question there is, how much value judgement is craftsman in itself?
I didn't say journeyman or master .... ??

I strongly believe that craftsmanship is much about trying (to improve) how you approach the way to develop software.
Does "craftsman" say where you are on your Long Road ?

Michael

Mark Nijhof

unread,
Apr 10, 2009, 7:45:19 PM4/10/09
to software_cr...@googlegroups.com
I can agree with this somewhat, but I also think it is about the way
you improve. I mean 'hopefully' everybody is improving, if not only by
dumb repetition. I think in Software a Craftsman never stands still
and will always investigate/try new technologies will try to actively
improve himself not just because he ran into an issue. Stuff like
that.

-Mark

Scot Mcphee

unread,
Apr 10, 2009, 7:48:58 PM4/10/09
to software_cr...@googlegroups.com

On 11/04/2009, at 09:35 , Michael Hunger wrote:

>
> The question there is, how much value judgement is craftsman in
> itself?
> I didn't say journeyman or master .... ??

In the past, for other crafts, trade-guilds generally used to make
such decisions. I don't think that's what we want, do we? If I put
"software craftsman" on my business case what's to stop someone else
from doing so? So who is to say whether me or that guy (or both or
none) is the real craftsman?


> I strongly believe that craftsmanship is much about trying (to
> improve) how you approach the way to develop software.
> Does "craftsman" say where you are on your Long Road ?

So I say, I aspire to be a craftsman, by applying principles of
craftmanship to my development practice. I don't see that as being
substantially different from what you say. I'm only a bit leery of the
label because of it's possibilities for mischief ... improving your
approach, skills, and thinking is a constant struggle, not a "goal" or
a certification step that you finally reach and stop.

If you want to say that makes me a craftsman, I say "thank you" and
carry on with my aspirations. ;-)


Cory Foy

unread,
Apr 10, 2009, 7:55:48 PM4/10/09
to software_cr...@googlegroups.com
I call myself a developer. I talk about practices that are agile. I talk about crafting code. I understand I'm on a journey.

I think that calling ourselves other than developers will only make it harder later on. We're either trying to bring the practices of craftsmanship to the masses, or we're trying to form an elite club.

Cory

(from mobile)

-----Original Message-----
From: Scot Mcphee <scot....@gmail.com>

Date: Sat, 11 Apr 2009 09:48:58
To: <software_cr...@googlegroups.com>
Subject: [SC] Re: Who decides?

Adewale Oshineye

unread,
Apr 10, 2009, 9:59:00 PM4/10/09
to software_cr...@googlegroups.com
2009/4/11 Cory Foy <cory...@gmail.com>:

> I call myself a developer. I talk about practices that are agile. I talk about crafting code. I understand I'm on a journey.
>
> I think that calling ourselves other than developers will only make it harder later on. We're either trying to bring the practices of craftsmanship to the masses, or we're trying to form an elite club.
>
I'm following a third way: I want to be better at my job. I find that
there are useful lessons I can learn from and share with others using
the craft metaphor. That's motivation enough for me. I'm not
especially interested in persuading the masses to join me and I've
been around long enough to be suspicious of any self-proclaimed elite
club. So I'll get back to trying to be better.

Cory Foy

unread,
Apr 10, 2009, 10:12:08 PM4/10/09
to software_cr...@googlegroups.com
Hi Adewale,


On Fri, Apr 10, 2009 at 9:59 PM, Adewale Oshineye <ade...@gmail.com> wrote:
I'm following a third way: I want to be better at my job. I find that
there are useful lessons I can learn from and share with others using
the craft metaphor. That's motivation enough for me. I'm not
especially interested in persuading the masses to join me and I've
been around long enough to be suspicious of any self-proclaimed elite
club. So I'll get back to trying to be better.

 
It's not the craft /metaphor/ that is worrisome. After all, what do we do all day long but try to take concepts and map them into other concepts (problems to software, etc, etc).

I apologize for miscommunicating my paragraph. What I meant was that were either trying to /title/ ourselves craftsman to say to the world, "You should be craftsman too", or we're trying to do it to say, "Hey, craftsman are better, you should join our club".

It's no different than agile development. If we go around telling everyone that they need to be agile, they'll be agile alright - by taking the title and not the practices. I'm attending an internal technology summit in a few weeks which has sessions on "Agile" development, and at least two of the leads will be presenting how their teams are agile. But I have no clue what that means - I can't even guess why they call themselves agile.

If we spend lots of time trying to figure out who we should call "Craftsman" then we'll put that as a goal - you should be able to call yourself a craftsman. And I don't want someone to call themselves a craftsman in a year or two, and me have no earthly idea why they think they can call themselves that, cringing that likely very little they are doing warrants the title.

I almost feel like no one should call themselves a craftsman. Their mannerisms, disciplines, code and presentations should speak for themselves.

I'm not saying we shouldn't have apprenticeships. Or that we shouldn't think of ourselves as journeymen, uh, journey*people*. Nor am I saying that the craftsmanship movement is bunk - far from it.

Let's just stay away from titles. We're all developers. If we want to discuss anything, let's find out who should allow people to have *that* title.

Cory

Dave Hoover

unread,
Apr 10, 2009, 10:32:56 PM4/10/09
to software_cr...@googlegroups.com
On Fri, Apr 10, 2009 at 6:16 PM, Scot Mcphee <scot....@gmail.com> wrote:
>
> I don't think I could ever call myself a craftsman. I certainly can
> say I believe in craftsmanship.

"Apprentice" is to "Craftsman" as "White belt" is to "Martial artist".
I wouldn't have a problem with someone with less than 2 years of
experience calling themselves a craftsman as long as they're walking
the the path toward mastery.

Jonathan Parker

unread,
Apr 11, 2009, 12:32:44 AM4/11/09
to software_cr...@googlegroups.com
I think there is a big difference between openly helping others when they need or request help vs. evangelising. I think there should be a distinction made here.

For example, if a friend asks you "Please, help me. I don't know how to write this software. How can I do it better?" then you should give your advice.

However calling your friend and saying "I have looked at your project and you aren't doing anything right. I will tell you how to do it better." is wrong.

So when the person has expressed some interest then one should help.

However, I think that in one's own job one should raise concerns that are within one's own area or team and try to fuel the conversation and promote continuous improvement in a non-aggressive way when you have the opportunity.

Then, if after continued effort there is no change or interest then maybe it is time to look at moving to a better environment if possible.

In regards to the term craftman or craftsperson I think that the advantage of this term is that it isn't restricted to programmers or developers.

Can testers, managers, and business analysts be craftsmen? Why not?

So I think that both craftsman and developer both have their connotations which are misleading. I'm not sure which is better.

Regards,
Jonathan.

Olof Bjarnason

unread,
Apr 11, 2009, 4:18:32 AM4/11/09
to software_cr...@googlegroups.com
Thanks Gunish for your story!

Some discussion on this list has been about "looking at other fields
of craftsmanship to find ideas on how to bridge ideas over to the
software world".

For example, search for "carpenter" or "blacksmith" at the groups' web page:

http://groups.google.com/group/software_craftsmanship

I think it is a fruitful way of understanding this movement and where to strive.


2009/4/11 Gunish Rai Chawla <gunishr...@gmail.com>:
--
Blogg: http://olofb.wordpress.com [Sv]
Blog: http://olofb.wordpress.com/tag/english [Eng]

Cory Foy

unread,
Apr 11, 2009, 7:30:10 AM4/11/09
to software_cr...@googlegroups.com
Hi Jonathan

Interesting point. I was primarily thinking of it from the developer side. Is it possible to include non developers as craftsmen?

And again - I have no objection to the term itself, or us referring to others or ourselves as craftsman in an abstract sense. I'm concerned about the title of craftsman becoming a general purpose term for "good developer"

Cory

(from mobile)


From: Jonathan Parker
Date: Sat, 11 Apr 2009 14:32:44 +1000
To: <software_cr...@googlegroups.com>
Subject: [SC] Re: Who cares?

Channing Walton

unread,
Apr 11, 2009, 8:12:37 AM4/11/09
to software_cr...@googlegroups.com

On 10 Apr 2009, at 22:12, Channing wrote:


Who decides that someone is a craftsman?

lot of interesting discussion about this. My feeling about it is as follows.

Nobody can claim to be a craftsman, only others can say you are a craftsman. Craftsmanship is a very tricky thing to define, the working and results of a craftsmen have 'Quality Without a Name'.

There isn't a definitive set of practices that when mastered one can claim that one is a craftsman. There may well be a set of common practices that craftsmen use but to hold those practices up as all that is required is just cargo-cult.

So now a different question: who are the craftsmen?

Jonathan Parker

unread,
Apr 11, 2009, 9:10:08 AM4/11/09
to software_cr...@googlegroups.com
Thinking about it a bit more...

1. Does the name matter all that much? If someone isn't willing to go to the effort of investigating what the name means then are they someone who would embrace the craftsman ethic? If someone is hung up on a name then they need to get over that triviality before they can start to understand craftsmanship.

2. However I think that there is an advantage in having a unique name which is that though that name may not be used correctly everyone it will be easier than *multiple* made up names being used incorrectly. If there is no name for something then people will quickly come up with one.

3. Also I think the normal english connotations of the word craftsman (which I guess is the reason it was chosen) will help to discourage a little from people abusing it.

4. In the end you can't have a monopoly on a word and thus you can't have a monopoly on people saying "I'm a craftsman developer". But you can promote the true qualities of a craftsman and highlight the qualities (or lack thereof) of non-craftsmen.

Will Green

unread,
Apr 11, 2009, 9:39:54 AM4/11/09
to software_cr...@googlegroups.com
Might the determination of what constitutes a craftsman (in the general sense) be a qualitative judgment formed over a long period of time by those who consume the products of a craftsman?

I think we all agree that the Amish can be considered craftsmen, but at what point in their history did they start to be considered craftsmen, and by whom? I have nothing to back this up, but I suspect that it was decades and decades of producing things that consumers value highly that enabled the Amish to be considered craftsmen; I don't think they applied this label to themselves. 

Another example: my mother is a appellate lawyer. By definition, her cases comes exclusively from referrals by trial lawyers. If she were not considered a craftsman by trial lawyers, her work would dry up and she would be out of business. Had she simply proclaimed herself a craftsman because she follows practices x, y, & z, I doubt she would have the business she has now.

I think that it is up to the people for whom we craft software to determine who the real software craftsmen are. Attempting to apply this label to ourselves could lead to the "Country Club" mentality (my term) that I think Cory Foy and others are concerned about.

--
Will Green
http://willgreen.mp/

Dave Hoover

unread,
Apr 11, 2009, 3:15:14 PM4/11/09
to software_cr...@googlegroups.com
On Fri, Apr 10, 2009 at 9:12 PM, Cory Foy <cory...@gmail.com> wrote:
>
> I apologize for miscommunicating my paragraph. What I meant was that were
> either trying to /title/ ourselves craftsman to say to the world, "You
> should be craftsman too", or we're trying to do it to say, "Hey, craftsman
> are better, you should join our club".

By calling myself a craftsman, I'm not implying that every developer
should become a craftsman or that craftsmen are inherently better than
people who take different approaches to software development. I
publicly call myself a craftsman because it helps me focus on my
journey toward mastery, and gives people more information about how I
approach my life and work as a software developer.

gildel

unread,
Apr 12, 2009, 1:34:34 AM4/12/09
to software_craftsmanship
I'm new to the group so forgive me if this something already
discussed.

Although it may seem a bit arrogant to call myself a Craftsman, I
think
the discussion of what this means is still an important one to have.
Not everyone can identify quality when they see it.

Not everyone can differentiate between a cabinet crafted by a master
woodworker
and something you can buy at IKEA. Even more so in the software world
where the
characteristics of a quality piece of code may be easily overlooked.

There must be a set of characteristics that can be referenced when
someone asks why is
this developers code better than that other one and I think those come
out of these discussions.

-- Gil

On Apr 11, 9:39 am, Will Green <w...@hotgazpacho.org> wrote:
> Might the determination of what constitutes a craftsman (in the general
> sense) be a qualitative judgment formed over a long period of time by those
> who consume the products of a craftsman?
>
> I think we all agree that the Amish can be considered craftsmen, but at what
> point in their history did they start to be considered craftsmen, and by
> whom? I have nothing to back this up, but I suspect that it was decades and
> decades of producing things that consumers value highly that enabled the
> Amish to be considered craftsmen; I don't think they applied this label to
> themselves.
>
> Another example: my mother is a appellate lawyer. By definition, her cases
> comes exclusively from referrals by trial lawyers. If she were not
> considered a craftsman by trial lawyers, her work would dry up and she would
> be out of business. Had she simply proclaimed herself a craftsman because
> she follows practices x, y, & z, I doubt she would have the business she has
> now.
>
> I think that it is up to the people for whom we craft software to determine
> who the real software craftsmen are. Attempting to apply this label to
> ourselves could lead to the "Country Club" mentality (my term) that I think
> Cory Foy and others are concerned about.
>
> --
> Will Greenhttp://willgreen.mp/

Olof Bjarnason

unread,
Apr 12, 2009, 5:14:42 AM4/12/09
to software_cr...@googlegroups.com
2009/4/12 gildel <gdelga...@msn.com>:
>
> I'm new to the group so forgive me if this something already
> discussed.
>
> Although it may seem a bit arrogant to call myself a Craftsman, I
> think
> the discussion of what this means is still an important one to have.
> Not everyone can identify quality when they see it.
>
> Not everyone can differentiate between a cabinet crafted by a master
> woodworker
> and something you can buy at IKEA. Even more so in the software world
> where the
> characteristics of a quality piece of code may be easily overlooked.
>
> There must be a set of characteristics that can be referenced when
> someone asks why is
> this developers code better than that other one and I think those come
> out of these discussions.

Here's a simplistic try at characterizing a craftsmans software:

- The maintenance cost of crafted software is an order of magnitude
lower than software crafted using waterfall.
- The same goes for cost-of-new-features in such software

The ratio is probably lower when compared to software developed with
agile methods (after all, agile is the mother of craftsmanship, as the
manifesto makes clear). It's not all bad.

eco...@gmail.com

unread,
Apr 12, 2009, 5:58:11 AM4/12/09
to software_cr...@googlegroups.com

On 12 Apr 2009, at 10:14, Olof Bjarnason wrote:
> - The maintenance cost of crafted software is an order of magnitude
> lower than software crafted using waterfall.

Sorry, but I don't see a relationship there. Software could be well
crafted using any methodology. It's not about the method, it's about
the people and their skills... IMHO

> The ratio is probably lower when compared to software developed with
> agile methods (after all, agile is the mother of craftsmanship, as the
> manifesto makes clear). It's not all bad.

I would not say it's the mother of it, but we can see advantages in it
and therefore most of us follow some sort of agile methodology when
working with customers.

The point I was trying to make earlier is that we are not talking
about methodologies here, but of raw skill and the path (or journey)
that we decide to take on in order to learn how to become more
skillful in our chosen craft.

Enrique

Olof Bjarnason

unread,
Apr 12, 2009, 7:59:55 AM4/12/09
to software_cr...@googlegroups.com
2009/4/12 <eco...@gmail.com>:
>
>
> On 12 Apr 2009, at 10:14, Olof Bjarnason wrote:
>> - The maintenance cost of crafted software is an order of magnitude
>> lower than software crafted using waterfall.
>
> Sorry, but I don't see a relationship there. Software could be well
> crafted using any methodology. It's not about the method, it's about
> the people and their skills... IMHO

I have to disagree then ;)

gildel asked about qualities that characterize software developed by craftsmen:

gildel:
"Not everyone can differentiate between a cabinet crafted by a
masterwoodworker and something you can buy at IKEA. Even more so in
the software world where the characteristics of a quality piece of
code may be easily overlooked. There must be a set of characteristics
that can be referenced when someone asks why is this developers code
better than that other one and I think those come out of these
discussions."

I think one such quality is/should be low maintenance cost. That is my
endeavour at least. Inner quality. Under-the-hood-quality.

Even though I agree s/w craftsmanship is about people and skills
wholeheartedly, I cannot agree that software developed using the
waterfall methodology could ever be well crafted. Theoretically, yes,
but by overwhelming empiric evidence, no.

Note I am _not_ proposing any methodology on how to achieve crafted
software, I am just stating that the methodology should definitely
_not_ be waterfall.

>
>> The ratio is probably lower when compared to software developed with
>> agile methods (after all, agile is the mother of craftsmanship, as the
>> manifesto makes clear). It's not all bad.
>
> I would not say it's the mother of it, but we can see advantages in it
> and therefore most of us follow some sort of agile methodology when
> working with customers.
>
> The point I was trying to make earlier is that we are not talking
> about methodologies here, but of raw skill and the path (or journey)
> that we decide to take on in order to learn how to become more
> skillful in our chosen craft.

Sorry for insisting on stealing the OT but I thought I had something
to add to gildels question.

David Stanek

unread,
Apr 12, 2009, 8:49:18 AM4/12/09
to software_cr...@googlegroups.com
On Sun, Apr 12, 2009 at 01:59:55PM +0200, Olof Bjarnason wrote:
>
> Even though I agree s/w craftsmanship is about people and skills
> wholeheartedly, I cannot agree that software developed using the
> waterfall methodology could ever be well crafted. Theoretically, yes,
> but by overwhelming empiric evidence, no.
>
> Note I am _not_ proposing any methodology on how to achieve crafted
> software, I am just stating that the methodology should definitely
> _not_ be waterfall.
>

I couldn't disagree more. There is nothing in the waterfall
methodology preventing a developer from writing good code.

--
David
blog: http://www.traceback.org
twitter: http://twitter.com/dstanek

Jonathan Parker

unread,
Apr 12, 2009, 8:53:01 AM4/12/09
to software_cr...@googlegroups.com
Well I could agree with you more if you presented valid reasoning as to why you think that! :)

Torbjörn Gyllebring

unread,
Apr 12, 2009, 10:19:56 AM4/12/09
to software_cr...@googlegroups.com
Hi Olof

On Sun, Apr 12, 2009 at 11:14 AM, Olof Bjarnason
<olof.bj...@gmail.com> wrote:
>
> Here's a simplistic try at characterizing a craftsmans software:
>
> - The maintenance cost of crafted software is an order of magnitude
> lower than software crafted using waterfall.
> - The same goes for cost-of-new-features in such software

What's stopping someone crafting beatufull code even given the long
process cycles of waterfall?
Sure we're quite sure that we'll get the *wrong* thing using waterfall
but it can still be very well built.

Also, take a fine sports car, thoose are often built by extraordinary
craftsmen and their maintenance cost is, prohibitive.

> The ratio is probably lower when compared to software developed with
> agile methods (after all, agile is the mother of craftsmanship, as the
> manifesto makes clear). It's not all bad.

Agile helps us make sure we build the *right* thing, building it well
is quite another question even though XP for example gives us loads of
usefull practices to also make sure we not only build the right thing
but also build it well.

Craftmanship in my view is the deep passion to make sure that I build
things right, that I give heed to the materials and tools given to me
and create things of beauty with them. I also hope that they will turn
out to be the right things and valuable for whomever issued the work.

Andrew Walker

unread,
Apr 12, 2009, 10:34:09 AM4/12/09
to software_craftsmanship
Agree with David here, its not about a methodology, people have been
delivering good code under the guise of different methodologies since
computing began. Its about the individual practices that people do and
their attitude towards creating good code. IMO, this is what the early
'agile' movement was all about, establishing a culture of caring about
what they did and providing value for money (short and longer term)
for their clients.

Yes, those who think in these ways tend to understand the value
proposition of the many good practices that the agile movement
highlighted, but that alone is not what makes them successful.

Its interesting to note that agile discussions followed this same
route of trying to ask 'what is it that makes us agile?'. Similar
questions have been asked over decades. Perhaps there will never be an
answer to these questions - as pointed out earlier, not everyone can
tell what constitutes good software - that leads me to think that it
is, to a degree, subjective.

At risk of oversimplification, there are two different groups of
people; those who care enough to take the time to invest in their
chosen field by practicing and furthering their knowledge, recognizing
they are on a never-ending journey, and those who don't. The former
tend to care, the latter tend not to.

J. B. Rainsberger

unread,
Apr 12, 2009, 2:33:08 PM4/12/09
to software_cr...@googlegroups.com
On Fri, Apr 10, 2009 at 20:55, Cory Foy <cory...@gmail.com> wrote:

> I call myself a developer. I talk about practices that are agile. I talk about crafting code. I understand I'm on a journey.
>
> I think that calling ourselves other than developers will only make it harder later on. We're either trying to bring the practices of craftsmanship to the masses, or we're trying to form an elite club.

Do you call yourself a "developer" as a synonym for "programmer", or
rather to emphasize that you do more than program?

Have you considered not labeling yourself at all?

"So what are you?"
"A human."
--
J. B. (Joe) Rainsberger :: http://www.jbrains.ca
Diaspar Software Services :: http://www.diasparsoftware.com
Author, JUnit Recipes
2005 Gordon Pask Award for contribution to Agile practice
Register for Agile 2009 at http://www.agileregistration.org

J. B. Rainsberger

unread,
Apr 12, 2009, 2:42:27 PM4/12/09
to software_cr...@googlegroups.com
On Fri, Apr 10, 2009 at 18:12, Channing <channin...@mac.com> wrote:
>
> Who decides that someone is a craftsman?

I decide for myself whom I call a craftsman. By the time I do that
reasonably well, I imagine I no longer find value in the label, and
then it scarcely matters.

Cory Foy

unread,
Apr 13, 2009, 7:27:29 AM4/13/09
to software_cr...@googlegroups.com
Hi J.B..

"Developer" is the same as "programmer" to me, but like anything, it has different connotations to different people.

The point I'm trying to get at I think is this. If we look at proposals like Obie's Rails Maturity Model, or even CMM, they are saying not that there is a special class of /thing/, but instead, as /thing/ gets better, it will begin to look like /this/.

In other words, if we are "craftsmen" what is everyone else? Or are we [developers, programmers, coders, testers] who, in the spirit of craftsmanship, doing certain things to become better at what we do?

Cory

J. B. Rainsberger

unread,
Apr 13, 2009, 7:47:29 AM4/13/09
to software_cr...@googlegroups.com
On Mon, Apr 13, 2009 at 08:27, Cory Foy <cory...@gmail.com> wrote:

> "Developer" is the same as "programmer" to me, but like anything, it has
> different connotations to different people.

Right. I use it to mean, in general, anyone involved in developing the
product: programmers, testers, and so on.

> The point I'm trying to get at I think is this. If we look at proposals like
> Obie's Rails Maturity Model, or even CMM, they are saying not that there is
> a special class of /thing/, but instead, as /thing/ gets better, it will
> begin to look like /this/.
>
> In other words, if we are "craftsmen" what is everyone else? Or are we
> [developers, programmers, coders, testers] who, in the spirit of
> craftsmanship, doing certain things to become better at what we do?

I prefer the latter over the former. Nice.

Jason Gorman

unread,
Apr 13, 2009, 7:51:32 AM4/13/09
to software_craftsmanship
In that sense, "craftsmanship" describes a journey, not a destination
> > Blog:http://olofb.wordpress.com/tag/english[Eng]- Hide quoted text -
>
> - Show quoted text -

Corey Haines

unread,
Apr 13, 2009, 9:53:26 AM4/13/09
to software_cr...@googlegroups.com
I get asked this question a lot when I'm speaking to people about the craftsmanship stuff. Here's a short form of my usual answer.

I wholeheartedly agree that "craftsmanship" is about the journey (both literal and figurative), rather than a state you get to. There isn't a point where you've done the prerequisites and are suddenly a 'craftsman.' Recently, I even talked a guy out of putting 'craftsman' on his business card, replacing it with 'practicing developer.' I look at it similarly to 'Agile.' You most likely wouldn't put 'agile developer' on your business card. Being a craftsman is more like a state of mind and practice, a path, not an end in and of itself.

The statements and values of craftsmanship are a guide to help you provide a better experience for yourself, through your career, for your clients, through the way you interact with them, and for the people you help, through the ways you share and mentor.

I know there are companies that have the title 'craftsman' as a stage of the career, and I'm not saying that is a negative thing. In fact, I might actually say it is a positive, since using terms like that in a group setting can help people keep focused on the values of the company. However, like I said above, I don't think that the goal of all this should be to put the title 'craftsman' on your business card.

-Corey
--
http://www.coreyhaines.com
The Internet's Premiere source of information about Corey Haines

Jason Gorman

unread,
Apr 13, 2009, 10:05:15 AM4/13/09
to software_craftsmanship


On Apr 13, 2:53 pm, Corey Haines <coreyhai...@gmail.com> wrote:

> card, replacing it with 'practicing developer.' I look at it similarly to
> 'Agile.' You most likely wouldn't put 'agile developer' on your business
> card.

Sadly, far too many people have "Agile XXXX" on their business cards :-
(

Jason Gorman
Agile Craftsman
www.codemanship.com

Corey Haines

unread,
Apr 13, 2009, 10:12:35 AM4/13/09
to software_cr...@googlegroups.com
:) Perhaps. Although, it would be cool to see someone leave off the second word and just have 'Agile' on their card. :)

I look at that as an indication of agile's mainstreaming, which is an important step in the evolution of it. While I don't always agree with where it has gone, the fact that there remains a core of people who are holding true is good; those are the people that I tend to associate with.

Thinking about it, if someone puts 'software craftsman' on their card, I guess my first question would be 'what do you do that makes you a craftsman?' I'm not in a position to judge, as Jason puts very well in his blog post (leaders vs cooperation), but I'm always curious to hear if someone can explain their choices. Just saying 'caring' isn't enough, just like saying 'responding to change' is a poor excuse for an explanation of putting the term 'agile' around their world.

It is important to remember that 'software craftsmanship' isn't about specifics, necessarily, it is about ideas, principles, values, etc. The specific steps and techniques you use are related to your school, of which we don't really have any formalization. I tell people that my development techniques come from XP, my career/community-oriented values come from an XP-rooted craftsmanship school.

In the talks I give, I usually distinguish this way:
"Agile was about developing quality software, Craftsmanship is about developing quality software developers."

-Corey

eco...@gmail.com

unread,
Apr 13, 2009, 10:34:58 AM4/13/09
to software_cr...@googlegroups.com
I have 'Software Craftsman : Philosopher' on my business card and I don't see what is wrong about it.

The "Philosopher" part comes from my studies (yep, I studied a Magister Artium in Philosophy, History and English Literature). It is an indicator that I care about the deeper, underlying principles of my surroundings and my life.

The "Software Craftsman" part tells me that I am on a journey, as Jason said so well in a previous post. It does not say I am better then the average developer (maybe I am not) but it states that I care about the practices, values and techniques I use and that I have chosen to make software development an integral part of my life.

Is this wrong on a business card? I don't think so. Actually, as Corey hints, it opens a very nice conversation with people regarding what I really do and helps me to explain who I am.

Cheers,

Enrique

Steve Donie

unread,
Apr 13, 2009, 10:58:52 AM4/13/09
to software_cr...@googlegroups.com
I have "Software Craftsman" on my "personal" business cards - the cards that I usually use when I start looking for a new job. As Enrique says, it is often an opening to discuss my thoughts about software development practices. I have also heard that it has saved me from needing to talk to companies that aren't a good fit for me. I hired a great developer from "Company X" and after he had worked for me for a while he mentioned that while he was there he remembered hearing about my applying to work there. Apparently I was not considered because of my point of view on craftsmanship, and from his comments, I am glad that I didn't spend any time talking to them. 

Steve Donie

Antony Marcano

unread,
Apr 13, 2009, 1:26:44 PM4/13/09
to software_craftsmanship
I agree with Joe and much of the literature on agile development that
indeed defines developer as anyone involved in the development of the
product.

On Mon, Apr 13, 2009 at 08:27, Cory Foy <cory....@gmail.com> wrote:
> In other words, if we are "craftsmen" what is everyone else? Or are we
> [developers, programmers, coders, testers] who, in the spirit of
> craftsmanship, doing certain things to become better at what we do?

On Apr 13, 12:47 pm, "J. B. Rainsberger" <jbrainsber...@gmail.com>
wrote:
>
> I prefer the latter over the former. Nice.

I too prefer the latter... but I think it's more than just that... I
touched on it in my "Lessons Learned in Close Quarters Combat" article
in better software magazine...

Teaser for the article here:
http://www.testingreflections.com/node/view/7610

Read the article for free here:
http://www.nxtbook.com/nxtbooks/sqe/bettersoftware1208/index.php?startid=11

Discussions around software craftsmanship, at the moment, seem heavily
focused on how we write code but I think it's more than just that... I
think it's about how we grow the skills we employ to develop and
deliver working software.

Dave Hoover

unread,
Apr 13, 2009, 2:07:30 PM4/13/09
to software_cr...@googlegroups.com
On Mon, Apr 13, 2009 at 12:26 PM, Antony Marcano
<antony....@testingreflections.com> wrote:
>
> Discussions around software craftsmanship, at the moment, seem heavily
> focused on how we write code but I think it's more than just that... I
> think it's about how we grow the skills we employ to develop and
> deliver working software.

Agreed. I wouldn't want to de-emphasize code, because writing code is
a necessary skill for a software craftsman. It is the skill that most
of us start with, but over time craftsmen will also develop the myriad
skills required to deliver quality solutions to their customers.

Michael Hunger

unread,
Apr 13, 2009, 5:45:52 PM4/13/09
to software_cr...@googlegroups.com
If you look at the skill sets that are discussed in the manifestos or "Software Craftsmanship" or "Code Craft" then it
is clear that it is much more than coding.

Especially building lasting relationships, reputation, trust, improve communication, honesty, courage, testing,
deployment, maintenance, operations, ...

There we have lots to learn from family therapy. No wonder Dave is so good at it.

What I also like is the one team for the lifecycle approach that Amazon does. Where a single team is responsible for a
module and its whole lifecycle including choice of implementation details (e.g. language) from requirements up to
maintenance and operations. There was a great presentation by Werner Vogels at QCon 2007.

Michael

Reply all
Reply to author
Forward
0 new messages