How did you learn your debugging skills?

From: Esther Schindler (esther_at_bitranch.com)
Date: 06/28/04


Date: 27 Jun 2004 18:44:42 -0700

Hi, folks. It's me again, writing yet another article (does she ever
STOP?) and looking for input from real programmers. (That would be
_you_.)

I'm writing my quarterly column for Software Test & Performance
magazine (those fine folks at http://stpmag.com ), this time about
"best practices" in debugging. Okay, okay, I'm not keen on the "best
practices" term either; it sounds like the sort of expression used by
middle managers who jingle the change in their pockets. What I'm going
for, though, is the "rules you live by" when it comes to debugging.
The essential guidance. That is, after a long frustrating weekend
spent looking for a bug, when you finally find it you say to yourself,
"I'm such an idiot. If only I'd remembered [xyz], I'd have found that
defect a lot sooner." What's XYZ, for you?

I'll give you a fer-instance. Many years ago, my husband worked with a
programmer who started in the industry in 1963. Mike's advice, which
sounds "well DUH" until you realize how often you lose track of it, is
"If you can't find the bug, you're looking in the wrong place."

A related question is... how did you learn the debugging skills you
have? Are you self-taught, or did you learn in school or by some sort
of apprenticeship? How do you improve your debugging skills, and in
what way do you judge how good you are at finding bugs? And coming
back around to that "best practices" stuff: when you show younger
programmers how to debug, what are the techniques you're most likely
to teach them?

If I may quote you, please let me know your real name, company, and
title, even if it's by personal e-mail (I'm at esther@bitranch.com).

Esther Schindler
contributing editor, SD Times and Software Test & Performance