Talk Through The Block, And Other Tips For Getting Your Brain Unstuck
A giant rubber duck swam through my hometown in 2013. Photo by Remy Porter.
My past jobs involved a lot of tech support- not just the stereotypical “Is your machine plugged in?” fare, but also talking with developers about their code, how they could fine-tune performance and make the best use of the APIs I supported.
One of my all-time favorite users (for real- no sarcasm) called me up frequently concerning an especially painful application that fell under my purview. She, herself, was no slouch at this app. Every once in a while, though, she was stumped about where to find a menu option, or how to hone an advanced function to suit her needs.
She was one of my favorites because she’d explain her issue… then 9 times out of 10, come up with a her own resolution as she was talking with me. I wouldn’t have to do anything but listen, and we both hung up happy.
This is a classic example of rubber duck debugging. Don’t ask me how it works, but oftentimes just explaining the problem you’re having out loud- even to an inanimate object, or someone who doesn’t understand the technical details- organizes the data differently in your brain, leading you around the block. It’s good for more than programming and software. You can talk yourself into answering all kinds of questions- how to handle a difficult coworker, where to take the plot of a story, how to solve a math problem.
Of course, it’s also great if the rubber duck does understand whatever you’re working on. I help my spouse with programming by throwing out intelligent (I hope) troubleshooting suggestions and questions about what might be causing a particular bug. He, in turn, uses his fiction and improv skills to get me past dreaded bouts of writer’s block.
What if you’ve poured your heart out, and you’re still stuck? Here are some other thoughts on getting beyond blocks:
Take a break.
Bashing your head against the same wall for hours won’t help. Get up and go do something else without stewing on the problem at all. Work on a different part of the program, throw on a video game, or take a quick walk through the neighborhood. The length of your break varies based on whether you’re staring at a deadline or other obligations, but even just a few minutes’ distraction can get your brain off of old thought patterns and approaches that aren’t working.
Don’t fall into despair.
For some people, getting stuck leads to nasty feelings of frustration and inadequacy. Fortunately, it’s possible to change the way you look at problems. Rather than tragedies to be avoided, blocks can be challenges or puzzles- temporary obstacles that don’t reflect upon your ability. If you’re driving and see a pothole up ahead, do you turn around and beat yourself up for being a bad driver? Hopefully not- instead, you take action to avoid the pothole safely (or, if you live in Pittsburgh, you plow on because any evasive maneuver will land you in an even larger sinkhole). Remind yourself of obstacles you’ve tackled in the past. You’ll get through this one, too.
Change your scenery.
When you return to the issue, switch up as much as you can in your working environment. Take your laptop to another room (or outside), try using a notebook, listen to different music, type in a different font… The idea is to trick your brain into thinking this is a novel situation, which may in turn tease out some novel thinking.
Take time out to brainstorm.
Sometimes you need to step back and list possibilities. For instance: what are all the pieces of information you need from the user to duplicate their issue? What are some different objects that could be in the room where your scene is taking place? I’ve written about some brainstorming techniques before that may be of help.
Don’t give up.
You may not have a choice to quit- if you’re at work, you’d better write that code or resolve that issue- but if your project is optional, the temptation to quit climbs awfully high during these low points. Don’t give in. Once you get around this block, you’ll be that much more resilient, creative, and confident for it- and your next block will be that much easier to conquer.
What advice do you have for getting past mental blocks? Drop me a line in the comments!