Work for twenty-five minutes minimising distractions then, take a five-minute break. After 4 sessions, take a fifteen-minute break. Repeat.
I’m using the same technique right now, let me explain.
Work for twenty-five minutes
Twenty-five minutes (one Pomodoro) is about the most that we can concentrate on a single task before getting distracted or frustrated.
Keep track of how long is left using a timer. This can be used to hold yourself accountable. It also lets you know how long until you earn a break.
If you get interrupted, stop the timer and start it again when you resume programming.
I find that using a clock does not keep me as accountable as a timer.
I noticed during university lectures that I would always look at the clock when it was at twenty-five minutes past. I would take less in and zone out after.
… minimising distractions
We want to minimise distractions. This is because of how long it takes to get back into the zone after a “context switch“.
Context switching is something that you may have heard of to in relation to processors. We do this too.
We perform a context switch when we see a notification, get a tap on the shoulder, or start listening to someone else’s conversation.
There is research to suggest that it takes five or more minutes to get back into the zone (also known as flow state) after a context switch.
You should look into how to temporarily disable notifications on your development machine and your smartphone. Do not disturb mode is a fantastic feature that addresses this.
Apps are designed to be addictive. They use the same techniques that casinos in forming addictions to keep you scrolling and seeing ads.
I keep my phone in my desk drawer or my bag when I’m programming.
Vibrate mode is not enough. When you feel that buzz or hear that ding, you will have an uncontrollableurge to know who has sent you a notification and before you know it, you’ll be out of the zone.
I keep my notebook beside me when I’m “doing Pomodori”.
When I start thinking about other things that I need to do, related or otherwise I write it down so that my head is only focusing on what I want to get done now.
Music and headphones
I recommend getting yourself a comfortable set of headphones. I use noise cancelling headphones, specifically the Bose QuietComfort 35.
Headphones really help keep me in the zone. They block out unnecessary distractions such as conversations when I’m working on a problem.
Try and avoid music that has lyrics. When I’m programming, the only words I should be hearing are those of my inner thoughts as I read the code.
I find electronic music is best as it has a fast beat and often has no lyrics. Classical music is quite good for this too.
There is research to suggest that you can only do one visual and auditory task at a time. When programming, the visual task is interpreting syntax highlighting and identifying shapes of code. The auditory task is reading the code.
I have found that in a workplace environment, earlier in the morning is the best time to get a block of work done.
Human multitasking is, for the most part, a myth. One of my managers once told me: “You can do one thing well, or two two things badly”.
Co-workers and clients
We do not write code in isolation.
If someone comes over to talk or for help you can stop, no need to be impolite. Remember to stop your timer.
It can help to spread the word that you are using this technique. You could share this blog post to help explain.
If you really can’t stop to talk, explain that you will get back to them in x amount of minutes. Make a note in your notebook and go immediately to them afterwards.
I have found that work, earlier in the morning is the best time to get a productive block of work done.
… then take a five-minute break
You should try to take the break right away. This can be hard to get used to at first. This is because you spent the first 10-15 minutes to get into the flow state and your timer is telling you to stop.
My advice is to write down in your notebook what you are going to do once you come back. You could also leave a
// comment in your code.
Set a timer to make sure you come back to work right away. The break is your reward for completing the session.
It’s really good to leave your desk if possible.
If you are furnished with a standing desk, you may want to go between standing and sitting between Pomodori. Some pair programmers switch drivers between Pomodori.
How to spend your Pomodoro breaks:
Plan your breaks like you plan your Pomodori, for example:
- Speak to the person who wanted your help / get help for something you noted down
- Check and reply to emails, messages or calls
- Make yourself a cup of tea or coffee or refill your water
- Do what you normally do when procrastinating except this time, you’re in control
After 4 sessions, take a fifteen-minute break
This is a good time to get back to phone calls and long emails that require some thought.
Honestly, it’s very rare that I end up getting this. I did when I was studying at university. This helps to prevent burn out as a result of focusing so hard.
If all has gone to plan, you should have completed a solid 2 hours of work so this break is definitely justifiable.
After the 15 minute break, you can do another set.
If you are going to give this a go, bookmark this post and leave a comment to let me know how you got on. I’d love to hear from you. What did you find and what did not work so well?