[LRUG] Software Craftsmanship

Vahagn Hayrapetyan vahagnh at gmail.com
Tue May 12 00:28:02 PDT 2009


>
> IMHO, it's meaningless to talk about software craftsmanship as if there's
> some struggle to attribute that label. I see no army of thought-police
> looming to smash our beautiful abstractions and elegant algorithms, and nor
> do I see the populous clamoring to admire our refactorings and marvel at the
> poignancy of a particular subroutine.
>

I thought that is what ThoughtWorks people do. OK, jokes aside:

James, I get your drift; however do you imply that if the end user of our
services cannot make statements about the aesthetics of our work (due to the
technical barrier), then craftsmanship in our profession is a misnomer? What
about peer-to-peer assessments, the feedback we give each other as
practitioners, and the tools we work out to be more efficient and
"masterful" in our profession?

As I understand it, the notion of craftsmanship implies that there are
concrete things you can learn in school: formal methods, proofs,
construction of programs, etc. That's not craftsmanship - that's basic
education. There is also this human factor in it, the things one learns by
observing others who are more proficient than self; and one's own
"productivity routines" that one develops. These things accumulate over
time, making the job (any job!) a craft. Surely this must be true to the
software profession as well?

It's not like things are either engineering or a craft, but never both. I
> don't understand why some people feel that their creativity is under threat.
> Please elucidate me!


I also don't understand why it has to be one vs the other. I think it is
perfectly possible to reason logically about a program, while giving your
variables creative names, while smoking a huge bong. But that's just me.

/ Vahagn


On Tue, May 12, 2009 at 8:16 AM, James Adam <james at lazyatom.com> wrote:

> While this is a lovely conversation, I'm not sure what the point is.
>
> Firstly, who has disagreed with the notion of "Software Craftsmanship", and
> what are their actual objections?
>
> Secondly, why is it even meaningful to discuss whether or not it exists?
> Anything can be a craft, or a mechanical chore. Painting can be the result
> of a tortured artist pouring their heart out onto a canvas, or
> paint-by-numbers. The results may not be easy to discern from each other,
> and equally effective both as functional artifacts and acts of expression.
>
> Everything is a craft, and everything is work. Whether or not you consider
> yourself to be a craftsperson, an artist, an engineer, a scientist, or a
> romantic is largely meaningless to anyone except yourself.
>
> I'm not sure to whom the existence of "craftsmanship" in programming is
> relevant.
>
> It's unlikely to be the consumer of our work, because they only really care
> that it does the job it should; let's never forget that the majority of us
> are in the business of building tools that perform specific,
> reasonably-clearly-defined functions, which is unlike most art, whose
> purpose is rarely even defined.
>
> IMHO, it's meaningless to talk about software craftsmanship as if there's
> some struggle to attribute that label. I see no army of thought-police
> looming to smash our beautiful abstractions and elegant algorithms, and nor
> do I see the populous clamoring to admire our refactorings and marvel at the
> poignancy of a particular subroutine.
>
> There is beauty in programming, and that's hard to see for some people, but
> there is beauty in modern art that others struggle to fathom; art in the
> building of bridges; elegance in the mechanism of a drug; ... you get the
> idea. It's not like things are either engineering or a craft, but never
> both. I don't understand why some people feel that their creativity is under
> threat. Please elucidate me!
>
> _______________________________________________
> Chat mailing list
> Chat at lists.lrug.org
> http://lists.lrug.org/listinfo.cgi/chat-lrug.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20090512/ee227355/attachment-0003.html>


More information about the Chat mailing list