Craft Over Art
From Apprentice to Journeyman : Dave Hoover : Home
Comments


"I would describe programming as a craft, which is a kind of art, but not a fine art. Craft means making useful objects with perhaps decorative touches. Fine art means making things purely for their beauty." --Richard Stallman in "Art and Computer Programming" by John Littler

Context: You are being paid to build something that will solve a problem for a customer.

Problem: Although there is a proven solution available, your customer's problem represents an opportunity to do something truly fantastic, providing you with an opportunity to create something beautiful that will impress your Kindred Spirits.

Solution: Craftsmanship is built upon strong relationships. Focus on delivering value to your customer over advancing your own self-interests.

As a craftsman you are primarily building something that serves the needs of others, not indulging in artistic expression. As Laurent Bossavit put it: "For a craftsman to starve is a failure; he's supposed to earn a living at his craft." Consequently you must find ways to do your best work in ways that place your customers' interests over your own need to display skill or pad your resume. However this does not mean abandoning the minimum standards of competence provided by the software development community. Walking The Long Road means you must balance both sets of conflicting demands. If you starve because your creations are too beautiful to be delivered in the real world then you have left the craft. If your desire to do beautiful work forces you out of professional software development and away from building useful things for real people then you have left the craft.

The things we build for customers can be beautiful but must be useful. Part of the process of maturation encompassed by this pattern is developing the ability to sacrifice beauty in favour of utility if and when it becomes necessary.

Indulging in the creation of beautiful but useless artifact is not craftsmanship. A craftsman values a 50 line game that makes someone smile over a 1 million line game that pushes the frontiers of computer science but is unplayable.

Another consequence of choosing Craft Over Art is that your customers will need you to be able to produce satisfactory quality even when you don't feel like it. A craftsman is unwilling to wait until inspiration strikes before he delivers artifacts that satisfy his customers. This has both positive and negative connotations. On the one hand he is barred from the idyllic playground where other people pay him to build the things he wants. On the other hand, the craftsman and his customers have the satisfaction of knowing that they created software that provides immediate value.

Ken on craftsmanship

"Working on real problems for real people is what hones the craft, not just doing it for self-satisfaction." Ken Auer, email


Comments
Name
Email
(Kept private)
URL
Comment
(No HTML)


Home : Dave Hoover : From Apprentice to Journeyman Copyright © 2001-2012 Red Squirrel Design, Inc. All Rights Reserved.