Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Craft or not? Dan North rejects the Manifesto for Software Craftsmanship

Craft or not? Dan North rejects the Manifesto for Software Craftsmanship

This item in japanese


In recent blog posting Dan North, well known expert for software engineering and employee of DRW Trading, explains his rejection to the Manifesto for Software Craftmanship. The manifesto had already been covered by Mark Levinson in a previous infoQ news article.

Dan does not reject the value of a manifesto for software craftsmanship, but prefers calling programming a trade not a craftsmanship. He suggests reconsidering and rewriting the manifesto on the one hand, but emphasizes on the other that he does not object to let passionate and highly qualified developers differentiate themselves in some way.

Calling the profession “software craftsmanship” would shift the focus too much from delivering value to software. As he puts it, “Programming is about automating work”. There is no required education such as in other professions, and some excellent developers never experienced any education in programming skills, but rather “have a flair for it”. According to the blog author, companies like Microsoft have even tried to lower the entry barrier for becoming a programmer by providing languages such as Visual Basic. He claims most people in the IT Industry went there for high incomes combined with the low number of skills or experiences required to become a software developer.

As Dan further concludes, the industry needs an apprenticeship model with masters educating apprentices. He tries to illustrate that software engineering is not a craftsmanship but more a utility by comparing it with constructing small bridges as opposed to creating cathedrals where properties such as beauty are important.

This posting raised some immediate responses in the community and among the readers of the blog. According to Dan 20000 people visited his blog and 150 people left comments causing him to add a second posting dealing with some issues brought up by readers.

The following examples are supposed to give an impression about the diversity of reactions.

Guillaume disagrees that software programming is not a craft. He believes Dan has fallen into the “#1 trap when talking about software development, which is to draw a parallel to masonry work”. As Guillaume further adds, software engineering “allows so many solutions all ending up with working software, it’s difficult not to see craft.”

From Kris Randle’s perspective the posting misses the point because “a lot of the parallels are weak, and there is nothing other than the writer’s opinion to steer the argument.”

Steve Tooke welcomes the blog posting as a thought provoking piece, but wonders why Mr. North considered the software craftsmanship community “the prima donna”. In his opinion, the proponents of the software craftsmanship manifesto already discussed most of the issues Dan brought up. “If you look at some of the talk outlines from this year’s SCNA: I feel there is plenty there that resonates with what you have written here.”

Joca Torres generally agrees to Mr. North’s blog posting and suggests a way to choose a software professional: “The best way to choose a professional – a software developer, a medical doctor, a plumber or any other professional – is getting references and checking her past work.”

Another kind of classifying developers is proposed by Jack Repenning. He identifies Open Source Software Development as a possible means for differentiating programmers. As Mr. Repenning claims, open source developers are “the lovers-of-the-craft” while other developers are more motivated by income.

Niclas Lindgren does not agree with all of Dan’s arguments. He considers skilled developers to be craftsmen: “Actually the definition of a trade to me is that you have skilled craftsman doing it. I know this is just wording, but it is important as you trying to distinguish trade and craft.”

The initial posting of Dan as well as his reaction on the large number of reader comments, still keep attracting readers to add their own thoughts whether software engineering is an art, a craft, or a science.

Rate this Article