Working in the Information Technology field really develops your problem solving skills and requires you to think logically. One of the most important steps in quickly solving a problem is to test your assumptions.
Technical errors are sometimes quite cryptic. Many problems are cryptic because you are unable to reproduce an error that was reported by a client. This uncertainty concerning a technical problem usually requires an initial educated guess. At first you might guess that there really isn’t a problem. One of the worst assumptions you can make is to assume that there is a technical problem when in fact there is just user confusion.
You might also assume that the problem is due to the web browser the client is using. If somebody is using an old browser like Netscape Communicator then they might see odd display problems that you won’t see in Internet Explorer. This is often the cause of some really perplexing JavaScript errors that you can’t track down until it dawns on you that need to look at it in another browser.
Other times it is the database that can cause confusion. If you maintain a development web site and a production web site which use separate databases then you need to be aware of the possibility that the data has become out of sync between them. A record may be missing from your production database and cause an error to be reported. If the record is not missing from your development database you won’t be able to reproduce the error. You will be initially puzzled until you question your assumption that the data is the same.
In addition to questioning your assumptions about the nature of the problem and the factors involved, it is vitally important that you do not assume the problem is solved after you correct some technical issue. You always need to test your solution to make sure the problem is really fixed. Time and again I’ve thought I’d tracked down the problem and reported it solved to the client only to have them tell me that they are still getting the error. I’ve learned that you need to verify the solution yourself before telling anyone that it is fixed. This last assumption, that you’ve fixed the problem, is the most important one to question. Test the application and make sure you don’t get the error.