“Software Is An Art”

It’s a great line, isn’t it? “Software is an Art” tells us that we’re doing is Craft, that we’re Creative, our work is Unique, and we’re all snowflakes. The problem, however, is that so much of our day-to-day work in the field is just so bloody mundane, there just doesn’t seem to be all that much Craft to it, let alone Art 😡.

Think about it — so much of our work is some combination of looking stuff up on StackOverflow, adding in all the boilerplate around what we found to make sure it complies with whatever the internal guidelines are, and then adding in a metric ton of instrumentation, logging, and whatnot to deal with the inevitable late-night debugging sessions when it turns out that StackOverflow Is Not Infallible.

This isn’t entirely an accident though — the Edison quote about genius being 1% inspiration and 99% perspiration has a tremendous amount of truth to it. Even more importantly, we tend to forget that so much of what we consider “craft” is actually mind-numbingly tedious work.
Take woodworking for example — almost all of the time that is spent on building out that cool coffee table consists of mind-numbingly tedious finishing, with round after round of sanding with increasingly finer grit for days on end. Oh, don’t get me wrong, you do get to use all those fun lathes and table-saws, but really, it’s all just sanding.

Yes, there is, very definitely, a ton of Art involved in that initial 1%, when we’re figuring out how to deal with the tremendous uncertainty around the problem space, requirements, competing demands, deliverables, and deadlines. The thing about this is that, in essence, so much of what we do at this stage consists of dealing with Sparse Systems, and we have to constantly fight the urge to get everything Just Right. The resources we have are limited, the amount of territory that needs to be covered is vast, and we have to time-box our efforts. And that’s where “Software Is An Art” becomes reality — in our ability to figure out how to navigate through all this.
But most of it is still just f**king sanding tho’ 😝

(This article also appears on my blog)