Software Engineering is an Art Form

Here he goes again, you might be thinking, pounding his chest and asserting that creating great software is like creating any other form of art.But I’m telling you, the process of creating great software is an intellectual and creative effort, which in many ways are very similar to the process of creating great art; You’ll have to start with a more or less vague vision of where to reach. You’ll start out sketching some rough lines, like a painter, iterating over the entire canvas several times, adding details, but not too much, or too little. Just enough. Simplifying, adding, stepping back for an overview, bravely redoing and rethinking parts of it. Pursuing just the right balance. Well you know, all that funky stuff that any artist (unless named Mozart) will have to go through to achieve great and harmonious art.

So, how can we prove this assertion? We’ll have to break the problem into smaller pieces in order to provide some kind of proof. If we assert that creating great art resembles the process we go through for creating great software, it would yield that anyone with lengthy experience in one art form would have a great advantage in just about any other forms of art.

Well, I assert that too. And we have this advantage. I can prove it, and I will.

This morning there was a bottle of wine on my desk. Why? Because yesterday we made great art. Making great art sometimes requires red wine, and lots of it. Some great software engineering skills mixed with a gallon of wine (or so) — and presto! you have great art. Lo and behold, the results are below, in bold (And yes, that’s some poetry thrown into the mix, my dear friends).

(I haven’t figured out how to present an image in bold to justify my poem above. But that’s another great thing about art, and it’s called artistic freedom. And oh, don’t mind the hidden profanity in the art, artistic freedom to blame once again. Or perhaps the wine. Probably both. )

It does not stop here. We master more forms of art. And we are combining them like this and like that. We did an artful freeze in front of the art (like a ninja), to create a new level of artful experience. It’s called meta-art, and cannot fully be comprehended.

And regarding the hidden profanity. It could not be worse than the piece of code I recently stumbled upon.

  Message :: addErrorMsg ("F*** off") /* @todo : Add more profanity */

But again, software engineering being a form of art, that’s just artistic freedom. Right? Yes, that’s right.