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

  • 3
    It's more complimentary than neutral, but I (as a "software craftsman") get tired of all the extremely wide terms for programmer/developer/designer/architect/etc.
    – Richard
    Sep 22, 2011 at 19:03
  • 8
    It depends. If management gives him the title "software craftsman" in order to avoid giving him the salary of a "software engineer", then he may not think it is complementary.
    – GEdgar
    Sep 22, 2011 at 19:36
  • 1
    As an employer, I wouldn't look upon a candidate favourably if they had a job title of "software craftsman". It's my personal opinion but it looks ridiculous and pretentious to me.
    – Ste
    Jul 24, 2012 at 12:50
  • I'd guess that Martin and Jorgensen would regard the term as complimentary, but I'm not sure I'd go so far as to aver that the term is regarded as universally positive. As a side note, it seems this question could be debated on Programmers.SE as easily as on English.SE.
    – J.R.
    Feb 16, 2013 at 22:00
  • @Ste: That's a good contextual note. It might work just fine as an official job title within a company, but look presumptuous as a self-described attribute on a résumé.
    – J.R.
    Feb 16, 2013 at 22:03

8 Answers 8


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.

  • 13
    may also be perceived as purposely confusing or quite pretentious
    – ZJR
    Sep 22, 2011 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. Sep 22, 2011 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, 2011 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. Sep 22, 2011 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, 2011 at 17:48

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.

  • I disagree that Coder is in common usage.
    – zooone9243
    Feb 16, 2013 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, 2013 at 9:29

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.


  • 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, 2013 at 0: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. Feb 19, 2013 at 21:51
  • Hardly, I'm still going to make tea with tea bags.
    – Jon Hanna
    Feb 19, 2013 at 21:57

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.


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.


"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 :)


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.


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.

  • 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, 2013 at 21:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.