Troubleshooting (the Terrible "T")

Troubleshooting (the Terrible
Chad Heinle profile picture

By Chad Heinle, VP Consulting Services

Categories: Learn

Troubleshooting, or the thing that happens after you hear someone mutter “What the…”

Anything that is created, be it physical or virtual, has the possibility of not working the first time around (or not working after a great amount of time has passed). Determining what broke and how to fix it is the ever elusive art of troubleshooting, which can be a laborious process. Here are a few tips to keep a level head and emerge victorious in your troubleshooting quest.

Tip 1: Keep it simple

Troubleshooting certainly can take a while and can become quite frustrating when trying to track down an issue or multiple issues. The first thing to remember is to keep things simple, at least to kick off the process. Think about it: when your computer doesn’t start, should you start replacing components or check to make sure it’s plugged in?  If you immediately jump past the simple explanation (see Occam’s Razor) you could be spending a lot of resources on something that could have been fixed quickly and easily. Even long-time pros can make simple mistakes [citation needed] which are easy to discount during the troubleshooting process.

Tip 2: Work in sections

While working on a large and complex project, this is an easy tip to remember: work in sections, make sure they all work individually and then try joining them all together piece by piece. Problems start to creep in when it’s a smaller project that you’ve done time and time again. When you don’t assure all of the pieces of the puzzle are working individually, you’ll have a much more difficult time figuring out why your end result isn’t behaving as expected.

Tip 3: Troubleshoot in sections

This can be particularly helpful when troubleshooting and trying to narrow down your issue. Figuring out exactly where something went wrong can take some time, especially if you start at the top and work your way down, so why not remove entire elements to determine if what you’re building is working to a point? If you write a 200 lines of JavaScript code and at the end it’s not working correctly – comment out the bottom half to see if the top half is working, and vice versa. You may have to substitute values for variables or functions, but then you know if it starts working for variables you enter statically, something may be wrong with the variable you’re generating dynamically.

Tip 4: Don’t forget your tools

This is another area that you might spend too much time on simply because you think you may know what the issue is immediately. How many times have I said “Oh, I know what would cause that…” only to waste 20 minutes re-reading my code and not finding the issue? It’s more than I’d like to admit. How many times have you said the same thing to yourself only to end up in the same boat? How do I know that time was a waste? I know because as soon as I run my code through a debugger or write out elements to a console or log file, I find out I misspelled a variable, or didn’t return an element, or something else that requires a total of a few keystrokes to resolve.

We’re only human

In the end, we’re all human and even the best humans are capable of making mistakes. We need to constantly remind ourselves to keep things simple and break down the work to troubleshoot effectively because it’s easy to look past the simplest explanations. One last tip: if you’re still stuck after following these tips remember you can phone a friend or ask the audience – there’s a lot of smart people out in this world.