Super.NET Blog, Dawg

Words on the brave, crazy path towards a ubiquitous .NET client model.

Developers Win! is now Super.NET. Learn More

Software as a Craft

This is an article on the topic of philosophy in software, business, and life.

In the philosophy that is described here, it proposes that software development is a craft, much like wood working, pottery, beer, or – as this section later calls out – jewelry.

You Can’t Spell Craft without Art

I’m a bit of a stickler and sucker for words. I enjoy anagrams and things of that nature. If you take the letters a-r-t out of craft, you end up with cf, which doesn’t make any sense. Not to me, at least.

Craft means building something with both heart and art.

Nonetheless, having this notion of being a “craftsperson” got me to go online and found this nice discussion. The takeaway – as with anything that involves many human beings and their resulting points of view – is that there are several ways of looking at craft. For the purposes of this discussion, craft means building something with both heart and art.

More Jeweler, Less One Person Band

When I lived in the Seattle area, I would walk by a jeweler on my way to the gym for my daily workout. I was always impressed with how intent he was in his activities, and it was easy to draw a comparison to how his intensity is a lot like a software developer when they are “in the zone.”

The intensity of a jeweler is very much like a software designer

In my worldview, the jeweler is very much the “symbol” I envision when I describe software as being a craft: you have a student who is intently studying and working with their tools upon their gems and stones in pursuit of perfection, which are then, in turn, sold to provide elegance and further meaning into the world.

Conversely, taken from a typical business perspective, it always seems the goal here is to turn every developer into a one person band. Their proud, all-to-common mantra of “a jack of all trades, master of none,” seems to be a game of sorts to quote during job interviews and descriptions.

The problem here, of course, is that you soon have an entire team or even group of one person bands and getting them all to work together to produce a cogent, coherent product is exactly like what you would expect when you envision such a sight and subsequent sound.

When You Know HTML5, and CSS and PHP and JavaScript and C# and Java and ...(When You Know HTML5, and CSS and PHP and JavaScript and C# and Java and …)

You might note that in my “clown” video above if played actually doesn’t sound too bad, and you are not wrong. Pausing a bit further here, this is not placing judgement on which approach is better, but simply expressing an ideal personal style and to delineate the difference in the two approaches. I think we have plenty of one person bands in our world. My desire is to see more jewelers, and that is the type of culture that I will be aiming for in establishing this project.

Additionally, it is also worth noting that the “clown” can be seen as an appropriate symbol for the workplace environment, whereby symbolizing the need to entertain and connect with others in the context of producing adequate revenues to sustain growth for the company for which they work. As previously mentioned, this is not meant to say that this is “good” or “bad,” but simply meant as an observation in the type of style that is currently employed within our ecosystem.