Home > Point2 - Process and People > Homer Simpson’s Guide to Software Development

Homer Simpson’s Guide to Software Development

March 2, 2010

Homer SimpsonFor some time during my early development career, I would get great satisfaction from coding an intricate and sophisticated solution to a problem. Complicated problems yield complicated solutions, don’t they? That sense of a job well done, looking at a nested recursive, highly optimised algorithm that would fill three pages but get the job done super fast.

Then I’d go home and relax, with the knowledge that I’d really earned my wage that day. I’d kick back, relax and watch my all time favourite show, The Simpsons. The perfect end to a perfect days coding.

Over time, I’ve begun to change my outlook in many ways. One of the most significant ways as far as my software development career is concerned though, is that I have become the Homer Simpson of software development.

This is all a little cryptic, so let me explain. During the multitude of Simpson’s episodes, Homer has spoken several pearls of wisdom. The one I hold dearest to is “If something is hard to do, it’s not worth doing at all”. This is my mantra when coding, as my coworkers will grumpily attest. When writing code, if I start seeing that it is getting complicated, or I try explaining it, and find it hard to verbalise, then the code is wrong. I’ve come to see complexity as a sign that I’ve gone wrong.

Another Homer gem, ‘You tried your best and you failed miserably. The lesson is, never try’. I see this as another statement that if you have to work really hard to code the task you are working on, and you are stuck elbow deep in code with no idea how to get past the current hurdle, then give up! You are almost always going the wrong way.

Software that is hard to write is also hard to understand, maintain, extend etc. I have come to love that eureka moment when I spot the obvious answer to the seemingly hard problem. The simpler the solution, the happier it makes me. This means that I could expect any member of the development team to be able to look at the solution I’ve implemented, quickly understand what it is doing and why, and then be able to add features to it.

So, Homer Simpson, thanks for being a great mentor.

By: Chris Tarttelin

Advertisements
  1. James H
    April 5, 2010 at 11:10 AM

    I couldn’t agree more. A simple elegant solution trumps ‘an intricate and sophisticated solution’ everytime!

    Finding a simple solution to a complex problem has to be one of the most rewarding things IT person (developers included) can do. One of my favorite things to do is replace a complex, error prone process with a simple, robust solution that never fails.

    Excellent post, keep ’em coming!

  2. June 26, 2010 at 11:05 PM

    Never heard anyone put it that way before but you make a good point. I find the simplest solution is usually best.

    You reminded me of the episode where he makes an internet company. Ah good old Homer. http://www.hulu.com/watch/31949/the-simpsons-internet-king

  1. March 5, 2010 at 12:29 PM
Comments are closed.
%d bloggers like this: