Most of us are easily distracted. It's very tempting to check email, browse your Twitter feed, or poke around on Reddit. Over time, I've found that you can still do all of those things, you just have to timebox them. The biggest productivity boost I've found actually has nothing to do with programming.
The Pomodoro Technique
You may have heard of The Pomodoro Technique. It's been around since the 1980's. The name is the Italian word for tomato - and apparently the first physical timers made for this technique were kitchen timers shaped like tomatoes. But, enough history. Let's talk about how it can help you.
Get an app
I've tried a few different ones both on my phone and my laptop. Out of them, my favorite is called Timer - Personal Time Manager. You can compile it yourself, or grab it from the App Store.
Work for 25 minutes
Some people like to make their initial session a planning section, but I already know the first thing I want to work on each day, so I just hop right to it.
Here's the hard part - force yourself to shut down email, Twitter, or anything else thats not work and might distract you. Concentrate on your task for 25 minutes. Trust me, its enough time to get in the zone and crank away. When your time is up, your app will tell you you're done. You're ready for a break! Just resist the urge to plow through and keep working.
Take a 5 minute break
One your 25 minute work cycle is up you get a 5 minute break. During my 5 minute break, I do a few things. I will check email and see if anything is really important that I need to address. I'll catch up on Twitter, saving anything that looks interesting to Instapaper for later reading. I'll also walk around a bit, which I highly, highly recommend. A little movement a few times an hour works wonders. Again, your app will tell you when the break is up and ask if you're ready for the next work cycle.
Feel free to change anything else you want, but try to use the default break settings. Lots of research went into the suggested times, and I'm willing to bet their reasons for choosing a timeframe are better than mine.
Repeat this cycle 4 times
On the fourth cycle of timers and breaks, your 5 minute break turns into a 10 minute break. During this break, I try to go get a snack, water, or coffee, and like before I walk around a bit. I will also catch up on email or twitter, or maybe read an article I saved during one of my previous breaks.
After the long break, congratulate yourself. You've just gone through 2 hours and 5 minutes of your day and maintained intense concentration while doing it.
Take a lunch!
I can't even count how many developers I know that either do not take lunch or do so at their desks while continuing to work. Once you see how much you can accomplish in the first 4 hours of your day, I'll bet you can afford to take some time to sit and relax away from the machine. Please do this!
Try to not work more than 8 hours
It's very hard sometimes for us as programmers to stop working. Again, you should be making a lot of progress and shouldn't have any trouble put your work to rest until the next morning.
Don't try to fit a minimum number of Pomodoros per day
Sometimes, things come up. Maybe you have meetings to go to (though let's hope those are limited), or maybe you're just having an off day. It's ok, and it happens.
Always find ways to improve
Our entire industry revolves around learning and staying up-to-date. Leveling up is all about taking small, consistent steps in order to improve your craft. And sometimes, those steps don't have anything to do with code. If you've reached a plateau, want to increase your productivity, or find yourself easily distracted, give Pomodoro a try. Let me know if it helps you!
Learned something new?
Get my best development advice (almost) every week, right in your inbox.Join Level Up