You don’t know what it is, but it’s there, like a splinter in your mind, driving you mad. – Morpheus
We’ve all had a moment when we’re troubleshooting an issue and something just doesn’t feel right. Or we’ve put together a solution and it works but there’s a little voice in the back of your mind telling you that something is missing. You can’t quite put your finger on it but you know you can’t rest until you’ve figured it out.
The quote above comes from the first Matrix movie, when Morpheus is trying to explain to Thomas Anderson exactly why he feels so out of place in the world. The term actually predates that movie, having been the title of an excellent Star Wars novel. Splinter of the Mind’s Eye was released in 1978, so it’s almost as old as I am! The term describes that feeling you get when something is nagging away at you and won’t let go. I get it quite often. Sometimes I recognize a person but can’t remember who they are. Other times I can’t remember a critical step to a project. But it comes very often when I’m troubleshooting a problem and the solution is just agonizingly out of reach.
How do you combat the splinter? What can you do to overcome that feeling that will drive you crazy in short order? Here are a few things I do. Sometimes they help, sometimes they don’t. But the idea is to try and dislodge the splinter and get your thought process rolling again.
Think It Through
This is probably my favorite solution. When I’m faced with a tough problem and an elusive solution, my first step is to walk through the problem step by step. If it’s a routing loop, I talk my way through the installation of the route into the routing table. If the problem is a layer 2 issue, I think through the packet as it goes through the network. The key is that you envision every step along the way. Often our minds get distracted by an unimportant step and leave it out. By going back through and thinking of every piece you often force an overlooked concern to the surface. This can cause the splinter to move and create a new line of thinking. Perhaps that routing loop is being caused by a redistribution? Maybe you didn’t know the network used to run RIP and now is running OSPF. By imagining the packet moving through the network, you can understand where the problem can occur.
You can also speak out loud when thinking things through. I find it very useful to actually speak the words as I’m thinking. That’s because my brain runs much faster than my mouth. By forcing myself to put the thoughts into words, I can usually slow things down long enough to figure out the missing steps.
Draw It Out
If the problem is a little more nebulous, you might need a piece of paper or a whiteboard to draw things. I’m not the best artist in the world, but I know that a crude diagram of what I’m thinking about will help me visualize things in a new way. Maybe I forgot to add a piece to the drawing that fixes the issue. Other times it just helps me think about the problem. By filtering the splinter in your mind through another creative process like drawing, you can force it out in a different way. I was very fond of this at my old job when I had a wall-sized whiteboard. There’s no reason you can’t do it with a regular piece of paper though. Colored pencils or markers can also help peel apart the layers of the issue.
Forget About It
Yes, it is strange advice to just forget about a problem. But, ask yourself how many times you’ve stumbled onto the solution when you’re taking a shower or just about to fall asleep? The brain is a miraculous computer, but sometimes it has a focus problem. If you think about something for too long, you can get fatigued and lose your ability to apply critical reasoning. It’s a “forest for the trees” kind of issue.
I always made it a point when I was troubleshooting a really hard problem to walk away for a few minutes. Whether it was stepping out to get something to eat or just walking into a conference room for five minutes, I always tried to find some time to clear my mind and refocus on the situation. By thinking about a shopping list or an order form or even the batting order of the 1962 Yankees you can jar the splinter loose and create new connections. I always joked with my coworkers that the most efficient way to solve high severity issues was to install a shower in my office. They didn’t find it nearly as funny as I did.
I can’t promise that these solutions are going to fix that nagging feeling in the back of your mind. Some problems are just that tough. But when you’ve applied every bit of critical reasoning you can to an issue and you’ve reached the point where your stuck but just can’t let go, sometimes it helps to apply one of the above methods.
If you let the splinter fester in the back of your mind, you’ll constantly be asking yourself what you can do or what you need to look at to fix things. It will eventually consume you if you let it. Instead, you should look at a way to move the splinter. If you can do that you’ll sleep better at night.
Related to your talk it out idea is instead of talking to yourself, talk it over with someone. It helps if they are somewhat technical, but it’s not really required. I find just the act of explaining the problem to someone often leads to the solution presenting itself clearly. It’s like when you ask a question on IRC or Twitter and you realize the answer as you are pressing enter…
I’ve also found that taking a break (or forgetting about it, as you put it) is extremely effective. There’s something about letting a problem percolate in your subconscious for a while that Just Works™. I’ve long since lost count of the times I’ve come up with a solution in the shower, myself. It’s like an overnight batch process is delivering it’s results. 🙂
This is the sole reason I introduced a rubber ducky to my work area; so talking out loud to myself didn’t seem so strange! Great post Tom and I can definitely attest that all of these methods have worked for me at one point in time.
Great post Tom