13

Is software craftsman a complimentary term for a programmer or is it just neutral?

JSBձոգչ
  • 54,843

8 Answers8

16

I would say adding 'craftsman' to any skilled profession would be taken to be complimentary - unless, of course, used ironically

To answer the question - certainly not neutral.

Matt
  • 3,437
  • 13
    may also be perceived as purposely confusing or quite pretentious – ZJR Sep 22 '11 at 13:48
  • 1
    Craftsman has significant "traditional" overtones, so it's not really appropriate for a modern fast-advancing field such as software development (I never much liked the Programmers Guild as a name either, for the same reason). So I'm afraid my vote will have to go to @Jodrell's answer - the epithet isn't exacly wrong, but it doesn't really hit the spot for me. – FumbleFingers Sep 22 '11 at 16:44
  • @FumbleFingers - yes but to me it also carries overtones of both technical skills and, for want of a better term, "art". Good code is technically good and aesthetically pleasing or maybe "elegant" is a better word? – Wudang Sep 22 '11 at 16:55
  • 1
    @Wudang: I think "elegant" is an exceptionally strong positive word for most programmers who really care about what they do. The same goes for scientific theoreticians at a much more rarified level, particularly mathematicians. I bet if I could understand it, Peter Shor's work on quantum computing, for example, would be "elegant" to me. I know it seems odd to speak of an elegance you can't personally perceive, but sometimes you just have to trust the judgement of others. – FumbleFingers Sep 22 '11 at 17:15
  • @FumbleFingers I was thinking of "elegant" in the sense that a maths proof is "elegant" when it is a clean simple proof. – Wudang Sep 22 '11 at 17:48
  • @Wudang: So was I. But I know for sure there are plenty of people who say Einstein's theory is "elegant", for example. And I believe them, but I don't kid myself I actually understand that elegance the way others can. – FumbleFingers Sep 22 '11 at 18:31
  • @FumbleFingers but hacker had extremely traditional overtones before it became so widely used of programmers as to overwhelm the earlier meaning. When's the last time you saw someone make furniture with an axe? – Jon Hanna Feb 17 '13 at 00:48
  • @Jon: I don't think many people would call you a hacker just because you write programs. Hacking mainly applies to a (usually, nefarious) process involving breaching software security access, copyright, etc. But I'm sure the word never had an illustrious past when hackers were generally considered a "good thing". If a vacancy came up in a medieval abattoir, I bet they'd give the job to a butcher - or even a slaughterman - before they'd consider hiring a hacker. :) – FumbleFingers Feb 17 '13 at 02:24
  • @FumbleFingers I should hope they'd give the job to a butcher before they gave it to someone whose skill was in making furniture with an axe. And the negative sense as it relates to computing is certainly more recent than the positive. – Jon Hanna Feb 17 '13 at 02:26
13

Software Craftsmen is not in common usage like the terms Software Engineer or Software Developer.

Programming is one part of the application of Computer Science to solve real world problems. As such, could be viewed as an engineering discipline. Traditionally craftsmen are called upon by engineers or artists to perform skilled manual tasks. So, if the programmer aspires to engineering the term Craftsman could be seen as limiting, however affirming it may be of "hands on" skill.

Jodrell
  • 455
  • I disagree that Coder is in common usage. – zooone9243 Feb 16 '13 at 21:51
  • @zooone9243, I broadly agree, hence the edit. Although, terms like Coder, Programmer or even Hacker do have a definition that describes the act of programming, they needn't give a positive emphasis. I've not seen the term Software Craftsmen anywhere but here. – Jodrell Feb 18 '13 at 09:29
6

If I hear someone refer to a programmer as a Software Craftsman, I presume that they have an interest in the Software Craftsmanship community. So it's not merely a complimentary term, but also a political* affiliation.

*loosely.

  • People have been talking about the craftmanship involved in software for decades before that manifesto was published. You can't assume affiliation or even agreement just because somebody used something as a title. – Jon Hanna Feb 17 '13 at 00:46
  • One should be aware of the political implications of using a term. Arguing that it has a more general meaning is a little late now. – Sean McMillan Feb 19 '13 at 21:51
  • Hardly, I'm still going to make tea with tea bags. – Jon Hanna Feb 19 '13 at 21:57
5

While "Software Craftsman" is not frequently heard, "Craftsmanship" in common usage can be applied to any field or endeavor, be it engineering, the arts, or even ditch digging.

"Craftsman" typically implies a person who cares deeply about the quality of what he produces, or who strives for and achieves excellence -- one who is a master in his field. To further emphasize this "Master Craftsman" is sometimes used. To me the term is definitely complimentary.

zooone9243
  • 1,103
  • 8
  • 12
3

As an experienced software professional, I take the term to be extremely complimentary. Many software professionals pride themselves in high standards of "craftsmanship." Two software products that behave identically may be crafted very differently, and one may be much more elegant than the other on the inside.

So the term increases the importance and significance of the craftsmanship and quality of the work that a professional creates.

Quoting the aptly worded Wikipedia page for Software Craftsmanship:

It is a response by software developers to the perceived ills of the mainstream software industry, including the prioritization of financial concerns over developer accountability.

zooone9243
  • 1,103
  • 8
  • 12
1

The Software Craftsmen I know strive for professionalism, technical expertise, practice, continuous improvement, and community participation. At the Software Craftsmanship North America (SCNA) 2013 conference, Ken Auer told attendees that humility is also a requirement. In my opinion, anyone who calls Software Craftsmen "elitist" is ignorant of the Software Craftsmanship movement, and the nature of Craftsmanship in general.

Tim S
  • 111
1

"Software Craftsman" is a elitist software programmer who is geekier, nerdier, and an awesome programmer. He is not certainly not the usual or regular software programmer. "Neal Ford", "Ola Bini", "Joel", "Obie Fernandaz", "Yehuda Katz", "Matz", "DHH", etc are all notable examples of "Software Craftsman".

"Software Craftsman" thus can only be an elitist title :)

karthiks
  • 243
-1

Software Craftsmanship refers to the degree of creativity a software programmer can exhibit in his programming, thus reflecting true art or skill while writing a program. The skill involved is thus assumed to be at par with the skill used in other areas of engineering.

yoozer8
  • 8,752
cbinder
  • 101
  • at par with the skill used in other areas of engineering ... meaning that there is otherwise less skill in software than in other areas of engineering? – zooone9243 Feb 16 '13 at 21:55