A Sense of Software Craftsmanship

Filed under:

When leaders view software development as an assembly line, they expose themselves to a lot of pain: overages, missed timelines, and disappointed customers. These consequences are the painful ones that earn the attention of management. However, there is a graver consequence: your master craftspeople are ashamed of their work. This shame is viral - the next developer that maintains this code will also become defeated, and the shame will pass down, developer by developer, until the business can no longer afford the lost productivity and buys something new.

I believe that society should view software development in the same light as surgeons, architects, stone masons, and chefs. In these fields, there is an intrinsic sense of craftsmanship that we innately understand. It’s an emotion we feel when we watch them work. This sense of craftsmanship is a powerful human experience that limits business decisions. We can put financial pressures on a surgeon all we want; at some point, we concede to the health of the patient. We can demand that an award-winning chef hurry up, but it’s not going to end well. Ultimately, the business model will bend for the talent.

“We don't value craftsmanship anymore! All we value is ruthless efficiency, and I say we deny our own humanity that way! Without appreciation for grace and beauty, there's no pleasure in creating things and no pleasure in having them! Our lives are made drearier, rather than richer! How can a person take pride in his work when skill and care are considered luxuries! We're not machines! We have a human need for craftsmanship!” ― Bill Watterson, cartoonist and author of Calvin and Hobbes

The Sense of Craftsmanship

Defining craftsmanship is like defining happiness - we know it when we see it, but it is difficult to articulate. Definitions will often describe the tradition of craftsmanship, guilds, apprentices, journeymen, and other attributes. Other definitions will appeal to design and quality.  There is even a software craftsmanship movement that distinguishes between software craftspeople and software laborers.

The sense of craftsmanship is far more important to me than operationalized definitions. I am motivated by that transcendent emotion we feel in the presence of humble, brilliant quality.

The below videos should provide you with a sense of craftsmanship. Watching them takes about 30 minutes but it's definitely worth your time:

Stonemason Andrew Patience (3 minutes)

Japanese swordsmith Korehira Watan (4 minutes)

Master cobbler Riccardo "Freccia" Bestetti (4 minutes)

Master woodworker Eric Hollenbeck (10 minutes)

Candid video of Italian cobblers at work (1 minute)

Homemade Collection from Prada (4 minutes)

These are some core values and beliefs that I gleaned from these videos:

1) They see a soul in their work

In the video above, the swordsmith Korehira Watan said, “I need to pass along the aesthetics and soul of the Japanese people through my swords.” You’ve likely heard similar notions before - the sculpture being in the rock before it is carved; the tree growing the table for a century; etc. Seeing a soul in one’s work is a humbling experience that elevates the work above mere product development. I smiled at how the stonemason Andrew Patience described his experience of awe: “It’s a fantastic feeling - I just sit there and look at it like an idiot. (laughs)”

2) They believe their work sends a message

In each of these videos, what stood out to me was the significance of the role each craftsperson played in our world. Stonemason Patience mentioned this when he said, “There is a deep sense of involvement in the broader community.” Regardless of how their individual fields may be automated and offshored, these craftspeople were holding their ground and living the quality of their work. They teach the rest of us what dedication really looks like.

“When the maker's (or fixer's) activity is immediately situated within a community of use, it can be enlivened by this kind of direct perception. Then the social character of his work isn't separate from its internal or "engineering" standards; the work is improved through relationships with others. It may even be the case that what those standards are, what perfection consists of, is something that comes to light only through these iterated exchanges with others who use the product, as well as other craftsmen in the same trade. Through work that had this social character, some shared conception of the good is lit up, and becomes concrete.” ― Matthew B. Crawford, Shop Class as Soulcraft

3) They are duty bound to apprentices

I was hard pressed to not see apprenticeship in the above videos. The new generation is always side-by-side with the old. From the Japanese swordmaker Watan; to the youth mentored by woodworker Hollenbeck; to stonemason Patience, who says, “an honorable way to contribute back to your craft is to encourage apprentices.” The swordmaker’s apprentice, Nobuhiro Kikuchi, was particularly articulate in describing his experience: “What I received from my master is not only the technique but also his passion for sword making.”

4) They are knowledgable of tradition

Swordmaker Watan mentioned the “essence of tradition” and I got the sense that all of these masters were deeply knowledgeable about the evolution of their fields. While they innovate, they don’t strike me as people that do so without a profound respect for tradition. Watan was trying to undo innovation to rediscover ancient techniques. Stonemason Patience’s work clearly contained an immense amount of creativity, but his respect for tradition lived throughout. In the end, he even adds the traditional maker’s mark on the stone.

Wordworker Eric Hollenbeck seemed mournful about how quickly we toss out the insights of tradition:

“I liken it to a train going down the road. As the train is going down the track - the train of society - it's scooping up information. Scooping up, scooping up, scooping up as it goes down the track. For some reason the train can only hold so much information, I don't know why. And the guy on the caboose, he's throwing the information off as fast as he can to make room for new information coming in on the front. And the problem with that is that the information we're throwing off is the information it took us twenty-five thousand years the glean.”

5) They are resilient over decades

Andrew Patience has been a stonemason for 29 years, starting when he was 16. Korehira Watan spent 40 years to recreate the lost craft of swordmaking from the Heian and Kamakura periods (794-1333 A.D.), and only recently succeeded a few times. A master is polished by decades of experience. Software development, like many fields, is largely invisible. The end user rarely knows if the code was written with the experience of a craftsperson or the passion of a young upstart, much as I am unaware of the quality of the hidden wiring in my own home. Yet the owner of the code will notice new versions are easier to build, production tends not to crash, and customers are much less likely to complain. Durability is one of the best tests for craftsmanship.

“I've said you can actually see this fusion in skilled mechanics and machinists of a certain sort, and you can see it in the work they do. To say that they are not artists is to misunderstand the nature of art. They have patience, care and attentiveness to what they're doing, but more than this—there's a kind of inner peace of mind that isn't contrived but results from a kind of harmony with the work in which there's no leader and no follower. The material and the craftsman's thoughts change together in a progression of smooth, even changes until his mind is at rest at the exact instant the material is right.” ― Robert M. Pirsig, Zen and the Art of Motorcycle Maintenance

Learn More

Hone your sense of craftsmanship by watching masters at work. There is a great collection of videos at The Craftsmanship Channel on Vimeo. Read up on the Software Craftsmanship Manifesto, and also read it’s criticisms.

More than anything, be proud of your work. The Iron Triangle is real and it can be merciless; and you will always need to dance with it. When the going is rough, never forget that there is a soul to your work; that your work sends a message; and it is never worth it to anyone to create work that does not empower the next generation of developers.

Date posted: August 1, 2016

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <cpp>, <java>, <php>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Metal Toad is an Advanced AWS Consulting Partner. Learn more about our AWS Managed Services

Have questions?