April 2nd 2007
Engineering as an art
Well as most of you found out, 2007 Release 2 was released today. Due to some longer hours pulled last week, and even into the weekend, I took today off to relax. That means Cocoa got to play a lot today, and I took a nap (a rare experience — I only take naps when I’m *really* tired). I’ll post a formal update about that tomorrow.
I’ve been listening to the book iWoz in which Steve Wozniak, cofounder of Apple, describes his experiences, pranks, and projects that influenced him starting from even an early age throughout his life as an engineer. It’s a great book, and I just finished it. What I wasn’t expecting was the conclusion to the book. I would love to quote the entire thing, but I’ll settle for a smaller nugget that I felt really identified what I feel writing code is like. My apologies in advance to Steve and his publisher, because I’m sure the punctuation doesn’t match. But hey, I transcribed from the audiobook
Why do I say that engineers are like artists? Engineers often strive to do things more perfectly than even they think is possible. Every tiny part or line of code has to have a reason, and the approach has to be direct, short, and fast. We build small software and hardware components and group them into larger ones. We know how to route electrons through resistors and transistors to make logic gates. We combine a few gates to make a register. We combine many registers to make an even larger one. We combine logic gates to make adders, and we combine adders to create others that can be used to create an entire computer. We write tiny bits of code to turn things on and off.
We build upon and build upon and build upon, just like a painter would with colors on a paintbrush, or a composer would with musical notes. And it’s this reach for perfection — this striving to put everything together so perfectly in a way no one has done before, that makes an engineer or anyone else a true artist. Most people don’t think of an engineer as an artist, probably, because people tend to associate engineers just with the things we create. But those things wouldn’t work, they wouldn’t be elegant, or beautiful, or anything else, without the engineer carefully thinking it out. Thinking how to create the best possible end result with the fewest number of components. That’s sophistication.
In my entire life I’ve only seen about one in twenty engineers who really exemplify that artistic perfection. So it’s pretty rare to make your engineering an art, but that’s how it should be done.
I was very touched recently by a scene in a movie called “Walk the Line.” In it, a producer tells Johnny Cash to play a song the way he would if that one song could save the whole world. That line summed up of what I look for when I talk about art — in engineering or in anything.
He goes on with further insight that really struck home with me. I thoroughly enjoyed the book, and with a conclusion like that it’s a truly inspirational book. It’s incredible to think back and realize the types of insights that were required in days before the personal computer industry was born. Additionally, he clears up some oft-cited Apple misconceptions that I never realized were incorrect. This book is a great read for anyone even remotely interested in computers, but definitely more-so for developers like us. While he does a great job of “dumbing” it down to reach a broader audience, it’s not done in a way that prevented me from enjoying it.
Comments Off