Possibility and Probability

A Python programmer with a personality thinking about space exploration

16 May 2016

The importance of taking a small break

by nickadmin

[caption id=”attachment_666” align=”aligncenter” width=”744”]Dawn breaking over a mountain range as a metaphor for a small break A small break or a big one? Photo credit: https://flic.kr/p/nWDghS[/caption] Recently I was struggling with a problem in Elastic Search. I was thrashing around all over the web trying to find documentation that could help me with my problems. In the end when I finally found the answer after several days of work, I discovered I had a tab open that talk about my answer. But for some reason I completely missed this the day before when I looked at it. Why is this? There’s several factors that caused this:

  1. I was trying to “solve” multiple problems
  2. I was searching non-stop and not pausing to think about what I was reading.

Those two factors combined into a perfect storm of confusion and frustration. If I had managed to address either problem earlier, I probably would have gotten to my answers a lot faster (and with a lot less frustration!).

What problem are you trying to solve?

This is a common theme in my work: I have multiple things that need to be solved, and I try to solve them all at the same time. This approach almost never works because the human mind was not meant to multitask. (I talked about that a long time ago, and it is still true!) Look at the problems you are working on. Split them apart into separate concerns. If one problem depends on another being solved, solve them in that order. This is so vital to being successful in programming and in life: You can only do one thing at a time, so do the most important thing. And finish it. Taking the time to stop and plan out what you are going to do is well worth the time investment. If you are concerned that your boss or co-workers will not like this, then don’t tell them. This is a 5 minute exercise that no one needs to know about. An investment of 5 minutes is well worth saving an hour or more of time isn’t it?

Pause. Think. Act.

Taking action is a good thing. But taking unfocused action is terrible. It sounds counter productive, but taking a series of small breaks can help keep you focused. I’m a huge proponent of the Pomodoro Technique. It involved working for 25 minutes, and then taking a 5 minute small break AWAY FROM THE COMPUTER. That’s right, no checking Facebook or Twitter, step away from the computer and go walk around. Doing this forces me to look at my work in smaller discreet chunks. While each chunk allows me to focus in the problem at hand, it can blind you to the bigger picture. Taking a small break allows the mind to subconsciously mull over everything else going on. More often than not I’ve found that I come back from the break with new ideas on how to approach my next pomodoro. This is a form of course correction that prevents me from getting too wrapped around the axle as I work on things. Believe it or not, this is a secondary benefit of the Pomodoro: For me the main purpose is to get me up and moving so that my physical health isn’t affected by all of the sitting and typing that is involved with programming.

Conclusion: small break == better you

When I’m working with new programmers I try to encourage them to take a small break when they are working for too long. At first it will seem like they are being pulled out of the chase, but more times than not the end result is more productivity in less time. And who wouldn’t want that? I’m thinking of doing a blog post and screen cast of how I use the Pomodoro Technique in my day to day work. Leave a comment and let me know if you’d be interested in that!