Why I Don’t Use the Pomodoro Technique for Coding

The Pomodoro Technique became pretty popular in the productivity area and it is a great tool to beat procrastination and get work done. For anyone who doesn’t know what the Pomodoro Technique is: It is a time management strategy where you work in 25 minute sprints followed by a short 5 minute break. After 4 Pomodoros you break for 20-30 minutes. Rinse and repeat. I encourage everyone to give it a try if you haven’t yet. Here is a book if you want to learn more about it.

However, while it is very useful for a lot of tasks, i barely use it for programming. And the reason for that is “Flow”.

“Flow” is a state of mind that was made popular by a psychologist named Mihály Csíkszentmihályi. And yea, i totally copy pasted his name.

It describes the state of being completely immersed in your task. That state when time just flies by, you become hyper productive and feel great at the same time. When you don’t even notice that you didn’t eat or take a break in hours. 

There are tasks that are more prone to bring you into Flow (also called “the Zone”) than others. And there are tasks that can’t get you into this state at all.

Because to reach that state, difficulty and skill level have to match. If you want to know the details about that, you should read Csíkszentmihályi’s book “Flow” or google it a bit. In short, the reason why you don’t notice your bodily needs, any worries or negative thoughts is, that when challenge == skill, there is simply no brain capacity for anything of that left.

If the task is too easy, you will get bored and won’t enter the Flow state. If it’s too hard, you become too stressed and won’t enter it either. But if the difficulty is just right AND you don’t get distracted (meaning no other people interrupting you, no push notifications etc…), you will eventually get into this Zone. Oh and also you have to get some sort of immediate feedback about the progress towards your goal.

The problem with the Pomodoro Technique is, that entering the Flow state takes a while. I dont know how long exactly, but the 25 minute Pomodoro sprint would interrupt you probably around the time you enter that state.

The name of this blog and my Youtube channel is no coincidence. Coding in Flow is what i like most about programming. Because it is one of those tasks that gets you into that state pretty often and quickly. Of course it depends on what exactly you do and there are boring programming tasks, but trying to solve a coding problem, hammering text into the editor and seeing progress through the compiler or the emulator is pretty immersive and intrinsically rewarding. You have a clear goal in mind and steadily progress towards that. And the Pomodoro breaks unnecessarily interrupt that.

Flow is not just “something nice”. Its highly valuable because you perform at your best and feel amazing at the same time. It’s actually considered the most desirable state of all by some psychologists.

If you have to do a boring task, that you know won’t match your skill level, then go ahead – use the Pomodoro Technique. But if your task is immersive, challenging and you can do it without any big interruptions, then just sit down and don’t set a timer for it. Don’t plan your break at all. Just put a bottle of water on your side and go for it. You don’t need breaks every 1 or 2 hours, especially not in the morning when you’re still fresh and you won’t die if you eat half the day (it won’t even hurt you).

Try to immerse yourself in your programming task with razor-sharp focus and enjoy your time in the Zone.

I use these Bluetooth in-ear headphones with some relaxing music, to isolate myself from the world around me.

12 thoughts on “Why I Don’t Use the Pomodoro Technique for Coding”

  1. I completely agree with the flow technique over pomodora. However it seems the author is inexperienced in flow itself. For example, the author did not state how long it takes to get into “the zone” (For those experienced going “deep” its about 10 minutes of pure focus before you give in for beginners a good 20 to 30 mins). The best a person can really expect is about 4 hours max of pure concentration if you are an expert after that you need a break. Therefore I believe it would be better to use the pomodoro technique in assistance with reaching flow so adjusting the pomodoro timer to 45 minutes to 60 minutes for beginners who want to get into flow is very beneficial.

    • Thanks for the comment, that were some very interesting points! I guess it depends on how strictly you follow the official Pomodoro rules, but they are very rigorous about taking breaks. If you do the “real” Pomodoro Technique you are not allowed to keep working when the timer rings, so there is no way to stay in the zone if you get into it. Besides that, a ringing timer pushes you out of the flow state anways.

        • Yea sure that makes sense. But actually the “real” Pomodoro Technique makes it pretty clear that this is not allowed. So like most people you are doing a customized version (which is better, since the original is too strict)

    • I stopped reading at “.. the 25 minute Pomodoro sprint would interrupt you probably around the time you enter that state.”

      To make an article about the technique I feel that you have to atleast try the technique. This statement suggests that the author hasn’t.

      Have a good day!

  2. Good article. I personally am not a fan of the Pomodoro technique for precisely the reason mentioned in this article – it just doesn’t allow enough time to really get into a flow state. YCombinator co-founder Paul Graham wrote a great article on this back in 2009. He discussed the difference in schedules for makers and managers. For makers, I.e. developers, context switching is a terrible thing that actually tanks productivity. The residual effect of jumping in and out just simply doesn’t allow for the deep ‘AHA’ moments that flow state provides. Cal Newport’s term ‘Deep Work’ is similar – extended blocks of time with high-intensity focus. This is a rarity nowadays.

    http://www.paulgraham.com/makersschedule.html

  3. Although I’m a newbie coder, this observation seems intuitively correct from what I experience. I’m working through some preparation material before joining a coding Bootcamp and the suggested material is Javascript basics on https://www.freecodecamp.org/.

    From a coding perspective, going through that material does work with the Pomodoro technique because it’s mostly learning through memorisation. Once you’re versed in the language constructs and faced with solving a real-world problem using that language, you’re in a TOTALLY different mental space that isn’t a great fit for Pomodoro units of time.

    You’re basically trying to internalise both the mental model of the problem and your knowledge of the coding language at your disposal into your head so you can start mapping language constructs to solutions for the problem. Even with my limited experience I too find that getting to the stage where your brain is ready to start rapidly iterating over solutions and getting them flowing out of your head and through the keyboard takes longer than 25 minutes.

  4. I am really interested in Flow and productivity, but also in work life balance. I tried the Pomodoro technique with 25, 45, and 55 minutes but, as you have pointed put, as a developer it doesn’t work because once I am immersed I can easily go on for 6-8-12 hours of concentration.

    However, this comes at a price. Andrew Huberman (AH) (legend!) talks about several brain chemicals that work together. And I get the feeling that a LONG burst of concentration leaves my dopamine depleted.

    I think life is more than development and I am trying to find a way to have some sort of balance where I can give my 100% to my coding, and then 100% to say language/dance learning, and 100% to yoga/mobility/running, and then 100% to my social life. I personally don’t like the idea of giving my all to development and then being too depleted to enjoy other things.

    To this end, AH talks about NSDR (non-sleep deep rest) and this is something I am experimenting with (yoga nidra, meditation, quick afternoon nap) to hopefully give me a second burst to give my 100% to activities other than coding (which is related to work) – to play and have fun and and enriched life.

    • Thanks for the comment! I’ve listened to a podcast with Andrew Huberman recently and it was very interesting. I also do 45 minutes of meditation every single day without exceptions.

Comments are closed.