Inspired Workers

August 30, 2012

There is a trend with my posts about software design where I write a lot about how it is a creative process. This is largely because for years, software design was considered to be busy work, and I take extreme issue with that philosophy. I find producing consistently effective software designs to be a very difficult task, and I deeply respect those who are good at it. I also find that those who are good at it have in common that they are all inspired workers.

For me, inspiration is absolutely critical to effectively designing elegant software, and for that reason, I place a high level of importance on my ability to consistently find inspiration. Of course, this can, at times, be nearly impossible. Maybe I’m having a bad day, or I’m distracted because of other things happening in my life that are taking psychological priority. Who knows — maybe I’m just burned out. The net effect is the same: in these mindsets, I am an ineffective engineer. That does not mean that I can’t complete user stories or fix bugs in this mindset. I still retain the intellectual ability to come up with a solution, but it probably won’t be on you want to maintain. This is an important distinction that I think could use a lot more recognition in our industry: an uninspired engineer is an ineffective engineer. If this is true, then an engineer who is regularly uninspired has a big problem on their hands.

If you’re like me, you should constantly be evaluating whether you’re in an adequately inspired state of mind to be able to design elegant solutions to your problems. If you’re finding it difficult to articulate your solution, get up from your computer. Read a book, or look into the distance and take a breather. Get something to drink and listen to some music. Do your best to take your mind completely off of software in general. This is an extremely important trait of consistently effective engineers: knowing how to maximize the amount of time that they’re inspired, and knowing how to walk the fuck away when they’re not.

Settings

John is a serial conversationalist who spends entirely too much time engulfed in problem domains he knows nothing about and has no earthly business trying to learn. He can occasionally be found at your local coffee shop writing algorithms and trying to think deep thoughts.