Software Craftsmanship

I was beginning to wonder if anyone cared about quality over price in anything any more. We see it everywhere – macdonalds, supermarkets. and in software. it seems like a race to the bottom in the X factor generation.

Another term is artisan. As used by Beedocs

I like that term but was disappointed in the reaction it got here:

Don’t be a Coder, Engineer, or Developer: be a Software Artisan!

As the guitarist Robert Fripp says in one of the Guitar Craft aphorisms, “how we hold the pick is how we organise our lives”.

And then I discovered Software Craftsmanship by Sandro Mancuso.

Software Craftsmanship

…we can say that Software Craftsmanship is a better metaphor for software development than software engineering. Software Craftsmanship sees software as a craft and compares software developers to medieval blacksmiths.

Mancuso’s personal definition of “Software Craftsmanship”:

Software craftsmanship is a long journey to mastery. It’s a mindset where software developers choose to be responsible for their own careers, constantly learning new tools and techniques, and constantly bettering themselves. Software Craftsmanship is all about putting responsibility, professionalism, pragmatism, and pride back into software development.

And, for me, the key phrase:

[to] delight customers helping them achieve whatever they want to achieve

These are important qualities to have in our lives and in our code. To paraphrase Fripp – “how we write our code is how we organise our lives”.

Developers are taking the matter into their own hands and are trying to change how the industry sees software development. They are doing that not just by proposing new and revolutionary processes but also by showing their customers that they care about what they do. Developers are showing their customers they want to work together with them in order to produce great and long-lived software, helping them to achieve whatever they want to achieve.

(Emphasis mine)

Perhaps if more software “engineers” played a musical instrument, painted, or were artists they might like the term “artisan” or “craftsman”.

And I particularly loathe the term “Software Engineer”. I am not an engineer. Isambard Kingdom Brunel was an engineer. I would rather be called a “hacker” than an “engineer”. (Actually, my chosen term is “code punk”).