R. Marc Phillips
June 18, 2009
No one ever teaches a class in it, but troubleshooting problems is actually the main thing you’ll spend time on in tech jobs. It’s rarely easy, but if you follow a few rules of thumb, you’ll be able to work your way out of the thorniest code, network, or system issues while keeping a level head and making sure you don’t do any more damage. Here are some tips to keep in mind:
Make sure you’re backed up — Before you go trying anything, ask yourself this: If this all goes wrong, am I going to lose anything? Is the data on the machine you’re fixing backed up? If not, can you do that before you begin? Make sure that you always know the worst-case scenario and that you have a plan for dealing with it. If you can do that, you’ll get your troubleshooting off on the right foot.
Try the dumb stuff first — We’ve all spent hours tracking down what seemed like a super-difficult problem, only to find that a hard drive cable had gone bad or a power connector had worked itself loose. Even if you KNOW that everything’s connected or installed properly, get in the habit of checking for dumb, obvious little problem sources right away.
Ask yourself this: Would you prefer to waste 10 minutes at the beginning of every issue ruling out some very basic things, or would you rather spend an embarrassing three hours diagnosing what should have been a five-minute problem every once in a while?
Ask yourself what’s different — If you’re looking at code that worked fine yesterday and is mysteriously broken today, obviously something is different. Anything that’s changed — no matter how small — is a potential source of the problem. Did an automatic update arrive last night? Were your engineers working on a completely different piece of code that shouldn’t have touched anything in your area? Don’t rule out
Change one thing at a time — You have to come at troubleshooting like a scientist. And scientists do everything they can to isolate the variable they’re actually testing. As you’re working through a problem, limit yourself to one change at a time. That way, you’ll know which step actually fixed your problem, and you’ll be able to roll back any changes you made that had no effect.
Talk it out with someone — Sure, it’s great to be able to bring in another experienced engineer or tech if you’re stuck on a difficult issue, but you’d be surprised how effective it can be to talk to any random person about the problem. Talking an issue out forces you to put things into words, and even if the other person in the room is just there to make you feel like less of an idiot for talking to yourself, that process can help you come up with new ideas.