Nine: Troubleshooting

I called this post the 'art' of troubleshooting, but I'm not sure if it should instead be considered a science. The way I troubleshoot certainly cannot be considered an art at all, unless you consider a massive amount of open, unmanaged tabs to be artwork.

I began the process of troubleshooting when I played my first Pokemon game. I received Pokemon Diamond and tried to play it, but got stuck in the very first room. For an embarrassingly long amount of time, my character walked around his bedroom without much idea of where to go next. I decided to take a big step: Google where to go. I was no older than around six, so I desperately needed to figure out how to play this game (my parents were unfortunately of no use). Google saved me, and I left that bedroom triumphant.

This began the motif of my troubleshooting experience. It relies on two truths that I have encountered through troubleshooting any one problem in my life.

  1. Truth 1. Someone has had that issue before.
  2. Truth 2. The issue is solved, and it exists on the internet, somewhere.
These two pillars have never failed me. Whenever I have encountered an issue, I can always count on the fact that somewhere, somehow, the solution exists; I just have to find it.

Troubleshooting is absolutely a learned trait. Your will to keep trying to find a solution is exponentially related to your probability of finding the solution. As I troubleshooted more and more in life (see: when I began coding), I became better and better at finding solutions. Troubleshooting, in this sense, is a sort of freedom, because you don't have to rely on anyone else. You can approach and fix any one problem you have, so long as you can parse through the great encyclopedia of answers and find the right one. It might take minutes, hours, or days, but every problem has a solution. That is, unless you're the first to have the issue, but I haven't had that privilege yet.

The great thing about troubleshooting is that troubleshooting anything helps you troubleshoot everything. Once you get more and more experience, you have more of a drive to continue prodding at a problem until you get the answer you needed. I recently cloned my drive that dual booted Arch and Windows, and without the side of me that looked at Google to find the way out of my bedroom in Pokemon, I would never have been able to solve the millions of problems that stemmed from that damn disk cloning software.

I'm writing this because I feel as if many people see troubleshooting as a chore, or a bother, or a reason to avoid a technology or something new. To me, that is sad, because it is in troubleshooting something that you can appreciate the thing further. If you prefer a world in which error codes never get thrown, screens don't turn black after logging in, and semicolons are never forgotten, I do not blame you whatsoever. But for me, troubleshooting is a (dosed in moderation) wonderful way to learn, grow, and explore. Whether it be exiting your bedroom in Pokemon or reinstalling the systemd bootloader, successful troubleshooting empowers you to relentlessly try and search until you have righted a wrong that personally impacted your life. You don't need to wait on someone, or hope that they don't make your problem worse, or get angry at them because they couldn't fix it, or depend on them for any issues that come up. Everything depends on you: failures, successes, strategies, anger, trying, retrying, retrying again, etc. The answers of every problem that you ever had, are having now, and will ever have, are in your palm, waiting to be picked at by your growing toolbox of troubleshooting experience. Maybe troubleshooting is in fact an art.