Learning Hack: The Pomodoro Technique

Pomodoros are a simple learning and productivity technique. We all get burnt out or spend time doing stuff that’s not really effective or valuable, right?

Take a kitchen timer (a Pomodoro timer) and set it to 25 minutes.

Work on one thing for those 25 minutes. If you’re able to do that, when the 25 minutes are up make a little X on a piece of paper, like a post-it, and take a 5 minute break where you’re NOT thinking about work. Go walk around, or drink a cup of water, or use the bathroom, or stretch a little bit.

Then decide what you’re going to work on next and do another Pomodoro.

After about four Pomodoros cycles (with 5 minute breaks in between each), you should take a longer break of 20 minutes or so.

The goal will be to hit a certain number of Pomodoros in a day, like 8 or so, and then hit that number again or more the next day.

If you get really distracted during a Pomodoro (like you end up spending a few minutes on Facebook) then the Pomodoro doesn’t count and you have to start over.

The Pomodoro Technique accomplishes a few things:

  1. It gives you an accepted relaxation / bucket time. Then you don’t feel bad taking a break. In fact, studies show that breaks are important for optimal learning and focus. If you don’t take breaks, you might not be as productive as you could be.
  2. It lets you recalibrate what you’re working on every 25 minutes. I know that for me I often get unproductive when I’m working on the same thing for a long-time because I start focusing on stuff that isn’t important but tricking myself into thinking its super important. (Have you ever found yourself spending more than 15 minutes agonizing over the formatting of a powerpoint slide?) The more often you step back and check in with the self, the more you’ll feel like you actually worked on the tasks that you were supposed to.
  3. It provides a small, but reasonable challenge for you to maintain focus. You can defer distractions to a time that is at most 25 minutes away.
  4. It sets a personal challenge for yourself. By quantifying how many Pomodoros you’ve accomplished during the day, you’ll naturally feel a desire to at least match that never the next day.
  5. You feel better at the end of the day. Most of us spend way too much time hunched at our desk and then we feel like shit at the end of the day. It’s usually because we haven’t been physically active, we didn’t drink enough water, or stretch enough throughout the day. These 5 minute breaks are perfect for that. I find that at the end of a day when I practice pomodoros, I usually feel awesome.

So how can you get started?

Well it’s as simple as getting a timer, a piece of paper, and a pen, really. But there are a few things I’d recommend:

  • There’s an app for that. Pomodoro Timer for the iPhone is a good one. There are a lot of fancy apps out there that track all your Pomodoros and are adjustable and whatnot, but this app does all I really want. It vibrates when your 25 minutes are up, and lets you pick whether you want to take a short or a long break when that’s done.
    (My friend Jon notes that there’s a cool desktop alternative called Timer, which has a pomodoro option at this url:
  • Get a notebook, a day calendar, or even just a post-it at your desk to track your Pomodoros. This will actually be a good reminder at the start of your day that you should be doing Pomodoros in the first place.
  • While you’re at it, buy a nice pen.

Hope you enjoyed this post. Do you have a learning technique you’d like to share? Or do you think Pomodoro is a stupid idea? Post about it in the comments below.

Coding Challenge: 3 Ways to Make Sure You Finish Every Course You Start

Listen, I’ll be the first to admit I can be incredibly lazy.

If you give me five minutes to finish a project, I’ll do it in exactly five minutes.

But if you give me five months to finish the same project, I’ll take the full five months!

I’m not alone in this. Most people are not self-starters for everything they do. But people do finish certain things. Most people finish high school. Most people finish college classes. But other things we don’t finish.

Why is that? These are things that can get challenging at times, and make you wanna go:

However… I believe I’ve identified the reason for most people finishing. It’s these three things:

Social Pressure
Financial Pressure
Super Clear Goals

If you have these three things in place, there’s an enormously large chance you will finish something.

For example, if you were enrolled in some college classes, here’s the breakdown of what keeps you going:

Social Pressure:

You are EXPECTED to finish the class because your parents, your professor, your friends all expect you to. It would be embarrassing and sort of shameful to not finish. So even when things get tough, you don’t just quit… you push through.

Financial Pressure:

Someone is paying for this! Maybe it’s your parents, maybe it’s you… but someone is shelling out money for you to learn, so you have to make sure you get your value out of it. People value things far more when they pay for them.

Super Clear Goals:

This one is a huge. By simply having an exact start date, check in times, and end date… you are far more likely to finish something.

In a college class the professor will tell you:

  • WHEN the first day of class is, and the exact time.
  • WHEN the quiz is.
  • WHEN the test is, and when it takes place.
  • WHEN the final exam is, and when it takes place.

These are all super clear goals you need to hit, or else suffer in some way.

However when people undertake something like One Month Rails, they make no specific end dates, forget to add in accountability, and maybe let it slide for a while. Meaning they don’t have all three elements for completion:

  • Social Pressure
  • Financial Pressure
  • Super Clear Goals

Without these three elements, most people won’t get things done! And if your goal is to learn rails, then you need to set yourself up for success.

So how does this help us learn from One Month?

Well, I originally started One Month Rails with no luck. I actually got to Video 2 then stopped because I had other stuff happening.

(In my real life I teach people how to become copywriters, which means I’m by no means a natural coder. It also means I’ve got TONS OF OTHER THINGS that constantly require my attention.)

You probably do too.

So when I get stuck on a video explaining how to upload to GitHub, or push to Heroku, and something goes wrong… I’d immediately give up!

So let’s apply these three factors for success and create our own Coding Challenge!

This is something fun you can do with your friends — here’s how you can create your own coding challenge!

1: Social Pressure

To create social pressure you need to involve some friends. This means you can go to Facebook and type it in real quick that you want to do a Coding Challenge, like this:

You can invite people from your school, family members, blog readers, whoever. I invited my friends and email list from my copywriting business. I got a total of 29 people who signed up.

Because of those 29 people, I now felt socially pressured to finish the course on time.

I also linked them to a Google Spreadsheet where they could enter their name and track daily progress like this:

So now there’s a tracking chart we can all use to publicly keep each other accountable.

The next step was communicating with each other, which was simply done through a free Slack chat group. It was pretty simple, and people could ask questions or publicly rouse each other if we were falling behind (people were cool with it).


The financial pressure comes from when people signup to One Month Rails. Of course you have to pay some money, so you now have skin in the game!

People grumble and moan about paying for stuff… but people value things far more when they pay for them.

One of the crazy things about this challenge was that I sent people who joined a referral link from One Month. You can signup for the referral program here:

I actually made over $1,000 from the people I signed up! That was a bonus side-effect of the challenge ($1,082 to be precise):

I also charged people from my email list $100 to join the challenge. This resulted in more extra income (29 people X $100 = $2,900).

Making money was never an intent for this challenge, but it sure was a nice little bonus.


I looked at the One Month Rails schedule, and realized it was exactly 30 days.

So I set the date of the challenge as April 1st — April 30th. Exactly 30 days.

I decided that dedicating just one hour a day to learning Ruby On Rails would be doable. In fact it ended up being less than that, because some of the lessons can be completed in a few minutes.

So now everything was in place!

Social Pressure : Friends and others had joined the challenge. We had a tracking document. We had a chat group.


Financial Pressure : Everyone paid for One Month Rails.


Super Clear Goals: The starting date would be April 1st. The ending date would be April 30th.

And guess what… I ACTUALLY FINISHED IT ON APRIL 30th!!!

I had successfully built an app called NevTrest (like Pintrest) that actually worked! You can even upload Pins and Photos and Descriptions.

Even though it was pretty basic, I was immensely proud 🙂

And of course a lot of the people who did The Coding Challenge with me finished the course too. Check out one of the members emails to me after:

Hi Neville,

I got through the Coding Challenge last month. Thanks for putting it together. I’d been meaning to learn RoR for some time, but until the Challenge I kept putting it off. While I’m no expert yet, I feel like last month gave me a good foundation. Thanks again. — John Y.

Anyhow, I sincerely hope you take this advice to try and form your own Coding Challenge with your friends.

I sincerely think with the right mixture of Social Pressure, Financial Pressure, and Super Clear Goals you will set yourself up for success with One Month!