Blake Smith

create. code. learn.


solve the problem by doing nothing

You’ve hit a road block. You’ve been banging your head away at the problem for some time and you don’t know how you’re going to get yourself out of the sticky mess. Fatigue starts to set in as you’ve been fighting the fire for hours, and this road block refuses to budge. It just stands there in your way, content for you to continue to mash your fingers on the keyboard forever. You keep telling yourself, “This is a computer, it HAS to be logical, why isn’t my logical mind able to figure this one out?”.

The truth of the matter is, we often don’t behave with a clear and logical mind. We jump into the solution before we’ve even begun to diagnose the problem. I often struggle with discomfort when I see a computer problem that I don’t immediately have the answers for. Unfortunately, when jumping to fix a problem quickly, often the only things I’m using for references are the past problems that seem like this one. But what happens when the problem you’re working on solving now doesn’t neatly fit the description of the past? It may look like the same dilema, but it’s really just a wolf in sheeps clothing. A masquerade, and a good one too.

The first step when you come to something like this is being able to identify that you have a different problem. Go slowly. Hurrying the matter will only make things worse, like pulling harder on a knot of tangled kite line. When you encounter a new problem like this, don’t continue to hit the nail harder - find a new way to drive the nail.

So you’re up against this problem, you’ve been working away at it for hours with no luck. What do you do next? Walk away. Clear your head. Do something completely different. Do nothing. You’ve already dived too deep in your mental stack to find the solution you desire. Now it’s time to return to the surface. Go back to the entry point of your brain by pushing the problem aside. Don’t worry, it’ll be there when you return. And when you return, you’ll be able to approach it from an entirely different mental state. You’ll see the problem from an angle that was never even visible from the rabbit hole you had your head stuck so deeply inside to begin with.

Sometimes the best things we can do as software developers is to step away from the keyboard. Managers don’t like this, because it looks like we’re not working. A good manager will recognize that your mental health is important to maintaining your sharp mental prowess. We’re humans after all; It’s in our nature for our minds to wander. Let your mind wander. Take a walk, go have a big cup of cold water and stare out the window for awhile. Letting your mind drift can be the best way of figuring out a tough problem. No matter what work environment you’re in, there’s something you can do to clear your head.

As people who rely so heavily on our brains to carry the quality of our work, we often lose track of the importance of keeping it in good mental health. To solve a tough problem, remember to relax and step away from the keyboard. You’ll find you do your best work when thinking nothing about computers at all.

about the author

Blake Smith is a Principal Software Engineer at Sprout Social.