on
Good Habits: Pomodoro Technique
Hello everyone. Let me share a productivity tip that I’ve been using for years. It’s called the Pomodoro technique. The one sentence summary is that you work in blocks of 25 minutes at a time, resting for five minutes in between. After every four Pomodoros, you can take a longer break (typically 15-20 minutes).
I’ve been using this technique since I started actually programming professionally. It’s really helped me over the last 5 years. You can read the official site documentation, as well as other blog posts on the topic, but here are my tactics on how I use it as a software developer.
The Goal
My current goals (March 2018) are to improve my software development skills (and learn Elixir/relearn Javascript), write 100 blog posts, read 50 books, and get better at the bike (increase power while losing weight).
Those are not easy tasks at all. Based on experience, I’m cooked after about 5 hours of difficult programming tasks. I can still code light tasks after, but any more than 1 hour excess of focused work would leave me drained the next day.
I’ve found that maintaining a strict schedule, guided by the Pomodoro technique’s split of focused work and rest, has allowed me to get more done in a shorter amount of time.
This is done by splitting the day into Easy and Hard activities.
- Easy: Morning Routine + Read Self-Improvement book. 2 pomos (Pomodoros).
- Hard: Study/code JavaScript/React/work on front-end (hard, since learning a new language/framework): 4 pomos.
- Easy: Eat lunch. (For the past few weeks, I’ve been eating outside, but this week, I’ve started cooking again. It’s therapeutic.) 2 pomos.
- Hard: Study/code back-end (Ruby/Elixir) programming. 4 pomos.
- Exercise: Bike. 1-2 hours. I can watch videos while on the bike, so it’s hard physically, but okay mentally.
- Medium-Hard: Writing. 1-2 pomos.
- Medium-Hard: Do a back-end task (programming something I know already, reading servers). 2 pomos.
- Easy. Evening routine, write down how I improved in coding/writing/nutrition/fitness, and plan next day.
I rinse and repeat most days. Sometimes I move the programming blocks around, but I generally try to get 10 pomos of programming each day. It’s my primary objective, after all.
I’ve found that this structure really helps me guide how I get work done.
Benefits
- Because it’s insanely hard to get all that in a day, I have to be very deliberate with things. Am I a workaholic? Potentially. Is it because I have lofty ambitions? Absolutely. I just want to make sure each days counts.
- Because of the gamified nature of wanting to get perfect days, and because I was a big-time gamer, I’m constantly paranoid of not putting in an empty day. “Hey, have I done this?”
- In the middle of the Pomodoros, I can do mini-exercises. I do squats, pushups, core exercises. I also get time to do chores such as washing dishes and putting my clothes in the laundry.
Tactics
- While I did Pomodoros before, it’s only in 2018 that I decided to keep track of each Pomodoro by putting them into a computer program.
- Keeping track of things via writing is extremely important. In 2014, when I was in a mad hunt to get a job, I logged every minute of coding practice, which resulted in me getting a job I wanted. In 2015 and 2016, I didn’t diligently update that Excel document, and so I got into some bad habits at work. I was producing, but not really performing at my highest level.
- When I got a project where I was the only back-end developer, I had higher accountability/work ownership. I created a program to help me log my productive hours. This program has been really helpful, and I was able to have a higher work performance again.
- It comes to a point where you’ll feel really bad when you put in a very low number on hours worked.
- I use the Marinara Chrome extension to start and stop the time. I can bind a keyboard shortcut to start or stop it (mine is Cmd-Shift-S).
- Freedom Blocklists are key. When I’m into those programming blocks, I activate the secondary blocklist, so essentially I’m blocked from Facebook, Instagram, Messenger, Twitter, Reddit, Youtube, Slack, and Hacker News. I think I have to take Slack out of that blocklist when I get a remote job.
- Actually listing out what you’ll be doing helps you prevent doing semi-productive things. For example, I can probably view the history of Ruby, which can be construed as productive, but it isn’t the most optimal way of moving me towards my goals.
- The evening routine is very important. You have to sort of force yourself to write down what you did that day. While I skipped this frequently at first, this was just me fooling myself because I knew that I didn’t do crap that day. Writing things down really makes you honest.
- Along with writing what happened, planning the next day also helps you offload tomorrow’s mental processing/prioritizing to today. That’s one less thing to worry about.
- If you’re burned out, then set aside blocks of time to play. I play basketball in the garage (honestly it’s just dribbling and practicing some rebounding), take a walk, and watch stand-up comedy (Bill Burr!).
Pitfalls
- It can become a time game. When you log time, are you really working? Well, it’s a results thing. In the focus phase, were you able to get something of value done? Sometimes, I spend part of the rest phase writing down what I learned in the focus phase.
- It’s okay to take off-days. You don’t have to hit all the Pomos in a day. Just focus on getting better, one pomo at a time.
Conclusion
Still thinking about this part, but I know that everyone has a routine. It might be a crappy routine (wake up, play video games, go to sleep), but it’s still a routine. I’ve found that pomos really help me put times to things and increase my sense of urgency.