Over the past 15 years I’ve been likened to both Sherlock Holmes and House. Clients are interested in my ability to look at a complex system that isn’t working right, find where and when things went wrong, and then fix the problem. How do I do it? I have refined my technique by building on the lessons learned in basic problem solving that I honed with training in Computer Science.
While I disagree strongly with the premise that everyone should know how to proficiently write computer code, it is important to understand the basics of how computers and programs work. Do I intend to teach you how to fix everything yourself? No, but if you want to learn more I’ll help. Do I intend to provide you with a solid framework of understanding and a toolbox to help you describe issues, learn to identify triggers, and help you to identify the best tool/person to resolving the problem? Yes.
Welcome to my series Think Through IT. After beginning with a review of the basics about computers, programming, and software, I plan to step through case studies of various issues and show how I went about solving the problem and finding a solution. In working through the examples, in time I hope to teach how I established the cause, eliminated contributing factors, and arrived at a solution.
By showing my approach to problem solving, in this series I hope to help you learn how to identify issues, potential causes, and potential solutions by using as few fancy tools (and words) as possible.
As Allen Downey wrote in Think Python How to Think Like a Computer Scientist, I’m not alone in such honored company as Mr Holmes
In some ways, debugging is like detective work. You are confronted with clues, and you have to infer the processes and events that led to the results you see.
Debugging is also like an experimental science. Once you have an idea about what is going wrong, you modify your program and try again. If your hypothesis was correct, then you can predict the result of the modification, and you take a step closer to a working program. If your hypothesis was wrong, you have to come up with a new one. As Sherlock Holmes pointed out, “When you have eliminated the impossible, whatever remains, however improbable, must be the truth.” (A. Conan Doyle, The Sign of Four) (Version 2.0.10, page 4)
I hope you’ll join me as we explore how to Think Through IT together.