DEV Community

Cover image for Why I Use The Pomodoro Technique
Tony Cimaglia
Tony Cimaglia

Posted on • Updated on • Originally published at


Why I Use The Pomodoro Technique

The Pomodoro Technique

The Pomodoro Technique was invented by Francesco Cirillo. It's an
incredibly simple concept:

  • Start a 25 minute timer.
  • Work for 25 minutes straight with no distractions.
  • Stop for a few minutes and do something else.
  • Work again for 25 minutes
  • Repeat this cycle, and after 4 sessions of work, take a longer break.

That's it. There are tons of articles and books about the subject, most of which are going to overcomplicate everything. Can you imagine reading an entire book about setting a timer?

Why Did I Start Using This Method?

I've never had trouble focusing on tasks or paying attention to anything in my entire life. However, when the pandemic entered full swing, I found myself unable to get ANYTHING done. I was working from home with an active, loud 10 month old who just started walking. I kept changing the room my office was located in and shuffling the layout around. Even once the office was settled, I was consumed with anxiety about everything that was going on in the world. So, how did adhering to this system help me?

Staying on Track

I can't count how many times I've started a task, seen something in the code, and transitioned into doing something COMPLETELY DIFFERENT. To avoid this, I started to write down exactly what I'm working on or trying to accomplish before I start a timer:

  • "Create model, view, and controller for sign up screen."
  • "Write the logic to conditionally render check-out screen text."

I'm not a robot, so I still get lost in the sauce. Now though, I only lose a maximum of 25 minutes when it happens.

Measurable Productivity

About two thirds of my time at my current job is spent writing code. If I actually spend that portion of my day coding, and I get through around 10 cycles, I've had a fairly productive shift. It's not a perfect measure. Some days are spent in meetings, exchanging emails, or working on things that don't make sense to break up into time blocks. Tracking the cycles has at least allowed me to put something quantifiable behind what an average, productive day looks like.


Setting a timer really helps keeps me on task. I might check a text message to make sure it's not urgent. I might even reflexively check twitter. But I remember that I'm in the middle of a cycle and I get back on track. There's almost never a message or tweet that can't wait 25 minutes.

Finding Better Solutions

People solve problems with the slow-thinking portion of their brains. If I work for long stretches without pausing however, it becomes easy to slip into fast-brain thinking. That results in me writing code without thinking up front about what the best solution might be. When I break up my work flow, I'm able to think slowly for the entire cycle, and I'm usually able to come up with better ideas.

Solving Problems When I Take Breaks

Sometimes I get so hellbent on trying to fix something I become tunnel-visioned in my approach to trying to solve the problem. Whatever path I started down is the path I continue down until the task is done. However, if I break up my workflow and take a minute to breathe, I'll often come up with a much better solution to the problem at hand.

It's Not For Everyone

I know a lot of people who like to get into the zone and code for hours as time flies by. After working in restaurants for a decade and having my entire shift whiz past me in the blink of an eye, I really enjoy a slower, more deliberate approach to my work. If you're more like me, give the method a try for a week and see how you like it.

Let me know if you decide to give it a shot @TonyCimaglia.

Top comments (9)

_bkern profile image

For me what works is not always doing this. I absolutely love this technique but I use it on as needed basis. When I realize I am struggling with getting to work or distracted etc -> then I start doing these. Some days are better and I find I can just do my thing then other times I absolutely need this. Its such a great tool - nice writeup.

tonycimaglia profile image
Tony Cimaglia

Thanks, Barry!

siwaphatpg profile image
Aum Siwaphat

I used this method too like you.
But currently, I improve a bit by giving a longer period of time.
I specify what time I will rest, check message, email.
I'm a person who gets losing concentrate problem and the Pomodoro is useful.

tonycimaglia profile image
Tony Cimaglia

I do know some people that like to work for 30 or 45 minutes. It's nice because it can be so flexible / tailored to what works for you.

codemouse92 profile image
Jason C. McDonald

I live by this technique! I find it also merges really well with the Bullet Journal technique.

tonycimaglia profile image
Tony Cimaglia

I've heard of bullet journaling in a few podcasts, but it's not something I've ever looked into. I'll have to check it out!

codemouse92 profile image
Jason C. McDonald

Indeed. It is excellent! (Read the book if you can, it's really insightful.)

I really need to do an article on how I merge Pomodoro and Bullet Journaling, as the particular combination is my own original technique. In short, I put underscores next to tasks to mark planned Pomodoros, and then I mark them with a checkmark for completed, a slash / for voided, and an X (through the actual underscore, not above it) for "didn't need". I also put a + under the line if I added it after-the-fact, as opposed to pre-planning.

For all distractions, I use the bullet journaling syntax on a piece of scratch paper to mark random thoughts and tasks. After the Pomodoro, I go through these and transfer them to my Bullet Journal if needs be.

bobbyiliev profile image
Bobby Iliev

Great post! Well done! 🙌

I actually recorded a 25 mins Work with me video that you could use as a timer:

tonycimaglia profile image
Tony Cimaglia

Love the shark. I'm pretty partial to my analog kitchen timer at the moment, but I'll keep this in mind 🦈

An Animated Guide to Node.js Event Loop

>> Check out this classic DEV post <<