A few weeks ago I gave a talk at the measureup.io conference. Normally when I speak at conferences, I give talks on technical topics such as jQuery or Ruby on Rails. This time, I decided to go in another direction and give a “soft skills” talk. I proposed a session called titled: “The Art of Software Development.” My session abstract started with this bit of puff:

AS A SOFTWARE DEVELOPER, I BLEND ART AND SCIENCE SO THAT USERS MAY ACHIEVE VALUE

The inspiration for this talk was the product of many of my recent editorials here in the pages of CODE Magazine. Having been editor-in-chief of this magazine for the better part of a decade, I sometimes find it difficult to “say something profound” each and every issue. What I find interesting is that when I write these motivational and inspirational style editorials, they're invigorating. The words seem to flow fluently from my brain, to my fingers, to the keyboard, to the page, and hopefully into your thought processes.

A major aspect of my discourse at the conference was why we do what we do and how our work is similar to many other creative endeavors. Let's talk about what we do for a living and why I think it's cool.

We work in an industry that deals in transferring pure thought into work product. We meet with customers, discuss their needs, and then we go off and create software with our brains, a computer, and a compiler. Essentially, we get paid to think. How cool is this? How many other industries share this same trait? Now let's take a look at some traditional artistic endeavors and see how they take rudimentary materials and turn them into work product, also known as art.

Painting

The concept of turning paint into work product has always fascinated me. One of my favorite things to do when travelling is to visit museums in each city. I've been fortunate enough to see Rembrandt's “The Night Watch” in Amsterdam, Munch's “The Scream” in Oslo and Andy Warhol's “soup cans” in Los Angeles. Painters take raw materials (paint, in this case) and turn them into work product. This work product can be as varied as there are stars in the sky. Take a look at the pictures I took at The Broad Museum in Los Angeles, California. The contrast between the Murakami, Close, and Johns paintings couldn't be more different, yet they come from the same base materials: thought, paint, and canvas.

Figure 1: Takashi Murakami's piece shows how a unified whole comes from disparate parts.
Figure 1: Takashi Murakami's piece shows how a unified whole comes from disparate parts.
Figure 2: You have to look closely to see it sometimes, but the best works make the divisions between parts seamless.
Figure 2: You have to look closely to see it sometimes, but the best works make the divisions between parts seamless.
Figure 3: Jasper Johns' rendition of the American flag exemplifies the metaphor of "from many, one."
Figure 3: Jasper Johns' rendition of the American flag exemplifies the metaphor of "from many, one."

Lego Bricks

Most of the software developers that I know love Lego bricks as both a toy and as an idea. Lego bricks are a simple toy that can be recombined into numerous constructions. We take thought, bricks, and a roadmap, and we create art.

Figure 4: Legos
Figure 4: Legos

The Film Business

As you all know, I love movies and I find that the film business has numerous parallels to software development. This industry takes stories (pure thought) and turns them into celluloid (work product). The amazing thing about this is that it generally takes multiple artists to pull off a successful film. From many, one.

Inspiring You and Me

Here's an exercise: Take a few minutes to think about any other artistic endeavors that are similar to software development. Perhaps you do something artistic, or maybe you have a long appreciation for art of a particular kind. See if you can make a correlation to software development.

Why do I want you to do this? I want to share the creative process and help you find inspiration in your software development process. GO MAKE ART!