Tales of the Rampant Coyote

Adventures in Indie Gaming!

The Debugging Gumshoe

Posted by Rampant Coyote on August 24, 2017

Every once in a while, it occurs to me just how insane software development is as a profession. Especially when it comes to debugging software – which I find is generally about half the job. It pretty much comes down to:

  • Here’s a complete mystery
  • Here’s the deadline to solve it!

Much of the time, it’s not too terrible. You can just about solve the mystery like Sherlock Holmes, in his parlor, when he looks at the prospective client and immediately deduces what happened. The observed behavior and a solid understanding of where that behavior comes from plus a bit of intuition borne of experience yields a guess with about 80% accuracy. You use a couple of tools to verify the problem and the fix, and you’re done.

Other times, it’s a bit more challenging, and sleuthing out the clues to try and figure out exactly what is happening is most of the battle. Being able to reproduce it is key. Eventually, the puzzle pieces fall into place. (Note: Here is the reason to have really good testers… they not only find the problems, but find most of the key information the software sleuth needs to fix it. Good testing departments are notoriously underrated in the software industry.)

But then you get these real crazy ones, the ones that would make Sherlock announce, “The game is afoot!” The ones that are not easily repeatable or observable. The ones that are really bad, but inconsistent, and leave little trace of what caused them. The ones you can’t actually be 100% sure you fixed, EVER, but you hope that if nobody has encountered it again in two weeks of trying to reproduce it, maybe the customer won’t discover it in the first 15 minutes by accident.

And when you succeed, at last, your only real reward… besides keeping your job and getting more mysteries and more deadlines dumped in your lap… is to maybe describe to a peer what you accomplished, and have them maybe understand one little iota of what you did, and maybe… just maybe… get that look in their eye that says, “Holy crap, how did you figure that out?!?!?” Because we’ve all been there.

Then it’s on to the next mystery, the next bug in your list, and you’ve got to make up time on the schedule because of that “perfect murder” you spent all your time solving. And you hope it’s not another one like the last one, because you really aren’t entirely sure how the heck you stumbled upon the solution last time.

That’s the life of the debugging gumshoe… the software detective.

Filed Under: Programming - Comments: Comments are off for this article

Comments are closed.