Distance Debugging Logo

I have one rule of thumb that serves me well in my general work as a developer, but also as debugger: nobody reads anything. Never. This is generally accepted wisdom among software people, with the conclusion being that you need to build software in such a way that a user could stumble through it without ever having to read a word of documentation. Overall, I think this has a detrimental effect on software because it forces interfaces to focus too heavily on certain stereotyped ways of working at the expense of a better overall task-oriented interface. However, it has become a necessary evil with the alternative being that no one will use your stuff because it's too "confusing".

As a backlash to this mindset, I have cultivated an almost obsessive tendency to read every piece of documentation that comes with things that I purchase or whenever I'm asked to look at a problem. This is a very simple trick that often makes me seem far more capable than I actually am. For example, most digital thermostats have fairly clear instructions right inside the cover about how to set the basic start and stop times, temperature, etc. But most people don't ever look at that, instead attempting to puzzle through it by randomly pressing buttons until they get where they think they need to be. Having a reputation as someone who can "figure things out", I am often asked to "decipher" someone's new themostat and get it set up for them. I start by flipping open the case and reading those tiny instructions which usually tell me everything I need to know. I then proceed to follow the directions and set the thing up, to the delight of the asking party. They say, "how did you figure it out so quickly? I couldn't get anywhere with that thing!", and unwilling to share my secret I say something like, "oh, I've seen one like this before".

Reading the available documentation is a stunningly simple yet effective technique in any debugging situation. There is often quite a bit available that no one has bothered to look at thinking that it would be tedious or a waste of time. I can't guarantee that it won't be, but you will be surprised at the nuggets of wisdom buried deep in user and administrator manuals. Even if it is not helpful for the situation at hand, the information may prove useful in the future, and it is a great habit to develop.