The "Doh!" Moment


Have you ever worked on a problem and kept working on it and working on it until you knew you'd created a solution to the problem that was completely defensible and utterly wrong? Don't worry, it happens to a lot of smart people. You think and think and think and think and come up with the absolutely elegant, smart solution that involves creating the perfect piece of infrastructure. Then your neighbor points out that a piece of chewing gum and two pennies would have worked more quickly and less expensively.


Yes, overengineering is common among us smart people. (Ed note: Has anyone else noticed that we need an international emoticon for irony?) The smarter we are, the more likely it seems we are to overengineer. Until you get to the really smart people, who are typically the ones offering you the chewing gum and pennies. (The brilliant people look at the solution proposed by the smart people and figure out how to implement it only using the same chewing gum and pennies that the very smart people offered thereby solving both the simple and general cases with no incremental effort.)


But I'm not just talking about overengineering. I'm talking about knowing that you're overengineering even as you're doing it. When that happens to me, I try to find a really smart person and I say, "I'm overengineering this."


Thursday I had the Moment of Recognition that I was overengineering. I was looking for a way to make Visual Studio work better with online community resources, like extracting source code from forum questions and things like that. I had a bundle of ideas just like that, ranging from one developer for a week to a team of fifty working for two years. Even I recognized the telltale signs of overengineering. 


I booked 30 minutes with Scott Guthrie. In about 5 minutes he'd pointed out that it would make a lot more sense just to get everyone in our division to spend a couple of hours a week answering forum questions and marking the occasional article as very useful or the occasional question as a FAQ. Or hire someone to write some more samples and starter kits. Not precisely zero cost, but it has the benefit a) requiring no code to be written and b) getting the division out answering questions.


Sometimes when it's a nail, just hit it with a hammer.

Comments (6)
  1. orcmid says:

    I noticed somewhere around mid-career that knowing too much about computers and software allowed me to do really painful things.  I took way too much time and persisted on problems long beyond there would every be any pay-back for the effort.  A sane person would give up, pay someone to do it, find another product, or otherwise not go overboard to overcome the foibles of a perverse system and end up surrendering anyhow.

    Thanks for the Scott Guthrie link.  That’s fun too.

    More samples and starter kits.  You betcha.

  2. talk about over-engineering!! we already *have* an international emoticon for irony… 😉

    or am i missing your irony? 🙂

    I may not be smart enough to get it

  3. The chewing gum and pennies are a work-around, not a solution.  They aren’t supported by the Software Developer, and voids all warranties.  

  4. orcmid says:

    "I may not be smart enough to get it." Socratic irony?

    I’m not sure about ";)" (wink emoticon).  Is that what you were thinking, James?

    And now I’m not sure that "irony" applies, or that it needs a symbol in "Yes, overengineering is common among us smart people."

    It reminds me of something said to me by a spouse once: "Sometimes, you are too smart for your own good."  I see how that applies.  Is there irony in that?

  5. johnmont says:

    The very idea that you need a symbol to point out irony was intended to be ironic. The difference between sarcasm and irony is that sarcasm is obvious and irony isn’t. In speaking, sarcasm is generally accompanied by a change in voice and a facial expression, as in, "Oh, *that’s* a brilliant idea." Now compare that with Jeeves telling Bertie Wooster, "Brilliant, sir."

    In other words, I was intending to be ironic about being ironic by being sarcastic. Now isn’t that ironic?

  6. johnmont says:

    Chewing gum and pennies are a solution if the problem is sufficiently scoped. I’m pretty sure I could get a variety of mechanical devices working properly for a few minutes with only those two things. If I were McGyver I could probably create an atom bomb.  

Comments are closed.

Skip to main content