jump to navigation

NOTE: The spam filter is being unusually aggressive. If you comment does not immediately appear, it has simply been placed in moderation and I will approve it as quickly as possible. Thank you for your patience.

"Murphy was an optimist!"

Overthinking the problem August 18, 2008 12:36 pm

Posted by Doug McCaughan in : Daily Life, Programming, Technology
, trackback

As a programmer, I solve problems. For my clients and myself it is important that I solve the problems as efficiently as possible with the caveat that the efficient solution must be scalable and have enough foresight as to cost effectively allow for unpredicted modifications in the future. A trap that developers fall into is overthinking the problem.

Imagine walking out of your house and realizing right as the door closed that you left your keys beside the television. Your mind races. You get all MacGyvery and start looking for a paperclip to use with your pocket knife as a makeshift lock pick. You ponder knocking out a window pane or lowering yourself down the chimney. The schemes escalate and become more elaborate. This is how a programmer overthinking the problem creates unnecessary levels of complexity which can lead to buggy code. The solution could be as simple as checking the other doors to see if one is open or getting the spare key from the neighbor. Or even more simple, doing a sanity check by confirming that the key is not in your pocket. Perhaps you didn’t even lock the door which is now the subject of your ornate plotting.

How can a programmer prevent overthinking a problem and wasting time?

Using the same techniques writers use to alleviate writer’s block can cure coder’s block. Now I must return to the problem that I overcomplicated by overthinking it.

Comments after advertisement


no comments yet - be the first?