Software Craftsmanship

Software Craftsmanship – Letters from the Road No. 3

Heart, head, and hand

On my flight out of Burbank yesterday morning I finally got a few free cycles to read some more of Why We Make Things and Why It Matters. Korn, the author, wants me to explore craftsmanship from two points of view — the creator’s and the reader’s. It’s a short flight to Phoenix, so I’ve only got time for one chapter and one POV — the creator’s.

Korn argues that “the making of craft calls forth a symphony of human capacities that are intrinsically fulfilling to the craftsman.” Too many software engineers — especially in the enterprise — I know would counter an assertion like that with an all-too-cynical response. What do you think? Do you feel you’re using the “full symphony” of skills when you’re crafting code?

Sure, Korn is talking about crafting with wood, materials, and the physical world, which you could argue is a critical distinction. You and I work with ephemeral code; we work in mental abstractions. But is it really so different? After all, the code ultimately finds its way into the processor, which is just as unforgiving (maybe more so) than a dovetail joint gone wrong.

I think most conscientous software engineers would universally agree with Korn on the point that “[t]o achieve consistent quality in terms of fit and finish, [we have] to marshal qualities of [personal] character such as focus, patience, and perseverance.”

What if our day jobs engaged our whole character — our focus, our patience, our perseverance? Korn goes further to suggest that craftsmanship may give us the “holistic experience many contemporary Americans find lacking in their occupations and personal lives.” Interesting. What if it we weren’t missing this “experience”? What if you could you go into work tomorrow morning and own that belief? Of course, I can’t do that for you. But maybe you can find a bit of it in our little Los Angeles meetup group.

Maybe I’m getting too out there for you; it’s late as I write this.

Maybe this will get down to the actual rivets of the modern software craftsman’s trade: “Craft is a process of continuous feedback in which the craftsman’s working suppositions are subject to constant fact-checking by the real world.” The real world Korn is talking about is how wood reacts to his tools, but maybe he’s starting to sound like what we think of as software craftsmanship; we use tools and methods like devops, TDD, small increments, and etc. these days… maybe as an industry of creators we’re getting closer to craftsmanship — or maybe that’s just the tooling and not the true point of view.

Do you agree? Maybe? No… yes?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.