I watched Jack Dorsey’s “Golden Gate Speech” today. I was seriously impressed with him, and in particular his view of software products as the output of designers.
Software is Art. I’m not just talking about designing pretty web pages either. I’m talking about code, whether it’s MC68HC11 Assembly, Dylan, Java, or even C#. I’ve struggled my entire life with the frustration of being traditionally uncreative. While I can draw a little, I’m pretty poor at just about every other traditionally creative outlet. The cards are kind of stack against me. I’m red-green color blind. I’m tone def. I can’t seem to keep a beat. I do have good balance on two wheels, but when’s the last time you heard someone say, “that was an inspired way to get down that singletrack today!”
I have a huge appreciation for human creativity and a tremendous amount of respect for artists. I don’t always like their art, but I’m always inspired by their bravery. Actually, envious would describe it better. I’m envious by their ability to think beyond what they observe and to find beauty beneath the obvious. Moreover, I’m envious of their ability to deeply understand that beauty and to materialize it through their pieces in a way that helps others understand it as well.
Macs Make Anyone Feel Creative
I switched to Macs about six years ago. I had a really talented and inspirational designer friend, Lea, who “showed me the way”. I was the typical PC guy that loved to tinker and solve problems. I didn’t realize that I wasn’t really using my computers as much as I was constantly fixing them. I finally decided to rid myself of the Microsoft plaque at home; a boycott prompted by the premature release of the Xbox 360. At that point, I had not decided if I was going to go the Linux or the OS X route.
Lea and I discussed the merits of Macs several times. She couldn’t really break through to me. Largely because of the language barrier. We were both geeks, but very different kinds of geeks. She ended the discussion one day with a seemingly absurd yet wonderfully insightful comment.
“Dave, sometimes you just need to be surrounded by beautiful things.” – Lea
Using a Mac made me feel more traditionally creative, but in all actuality I’m still not a very good photographer or videographer. However, my Mac did open me up to the wonderful world of design. Apple products are both wonderful examples of design as well as super conductors for creativity.
Software Design as Art
Early on in my career, I started to use really abstract terms in code reviews. I sounded more like an art critic to my peers than a software engineer. I would typically describe code as elegant, balanced, structured, aesthetically pleasing, and inspired. These intangible descriptions usually fell on def ears, and often lead me to think I was another wanker with a crappy computer science vocabulary. What I didn’t realize, was that I was solidifying my early intuition that software design is a highly creative pursuit, especially if you pursue software design with as much passion as I did.
Computer Science is an amazing field since it’s largely a made up affair. The realm in which our minds play is rarely observable (blinky LEDs maybe) and is always built upon previously invented constructs that are themselves recondite. They’re always inspired by natural occurrences, but then they’re distilled in order to be made useful. I mean, has anyone ever seen a B-Tree in nature. Fractals maybe, but not a fully-balanced B-Tree. And why would a dining philosophers needs so many forks to eat? Besides, who share’s forks anyhow?
Why Software Design Is Important
I mentored an intern five years ago. I really liked the guy, but I was worried for him. Our company was in the middle of a heavy period of outsourcing. All of the typical entry level engineering jobs like testing, bug fixing, and even implementation was being sent overseas. What kind of work was I going to find for this guy if he accepted a position with us?
I spent a lot of time thinking about the perils of outsourcing. It was primarily a result of our labor-intensive waterfall software development process. We had too few efficient tools, and so we spent lots of engineering hours writing and rewriting documents in Microsoft Word and even Framemaker. We couldn’t get anything done, but our army of overnight elves were making quick time of everything, albeit with a reduction in quality. I was even worrying about my own job to some degree.
I quickly realized though, that my domestic colleagues and I were still vital. We were far more creative and our innovation was unmatched. America’s frontier mentality and self-reliance makes us extremely good entrepreneurs and very good software designers. This intern was no exception. I took him out for coffee one day, away from the cubicles and and fluorescent lights. We sat down in comfy chairs with other presumptuously creative types around us and discussed the merits of software design. I gave him case after case of poorly designed code leading to bugs, misunderstandings, and creating maintenance nightmares. We talked about software design working hand-in-hand with wonderful ui design.
Hopefully he took it to heart. I hope he’s not hitting a roadblock in his current job and thinking of jumping off for an MBA with the hopes of landing a biz-dev job like so many of my other friends.