As a programmer, how productive I am is for the greater part defined by the environment I’m working in. Over the years I’ve worked in places that really understood this and I’ve worked in places where they didn’t had a clue.

Since early 2010 I’ve been working from home. It’s the first time I’ve actually done this for such an extensive period of time, but finally I could work in peace and would no longer be interrupted by the environment that was supposed to support me.

At least, that is what I thought. Unfortunately it didn’t really worked out that way. The greatest enemy of all programmers reared it’s ugly head: Procrastination.

After months of trying to get to grips with this I finally found out what worked best for me. For me this happened to be a strict regime. This how my typical work day is divided in chunks of hours:

06:00 – 07:00 Wake up, breakfast, shower & getting dressed
07:00 – 11:00 Work
11:00 – 13:00 Break
13:00 – 17:00 Work
17:00 onwards Free time

This schedule gives me a solid 8 hours worth of work with plenty of time for a decent break in the middle AND spare time at the end of the day to do what ever I want to do. The schedule is important because it defines what hours I should be spending on work. This is good because if something random pops in my head such as “How do you do this or that with MongoDB?“, rather than to act on it with impulse and start tinkering with MongoDB I look at the clock which tells me I have another 2 hours to go, I make note of my thoughts and continue working. If after those 2 hours I’m still interested in perusing my thoughts, I will have time to do so.

Another thing that works for me, besides the schedule, is that the day before, I make a list of what I will be working on the next day. To me this is key to avoid procrastination, having a todo list where I can tick things off. It also allows me to start thinking about certain problems the day before so that by the time I sit down at the keyboard it’s mostly a matter of typing things in (mostly).

When you look at my schedule you might find the 2 hour lunch break exceptionally long but I found that I need a decent break in the middle. I can’t work 4 hours solid, shove a sandwich down my throat and then do another 4 hours. The 2 hour break might seem long but for me it gives me enough time to relax a bit, have a phone call with people I work with, respond to a few emails or go for a walk.

After having done this for a while I can see, or more likely feel, that the quality of the hours I spend working have really increased. I feel less distracted by the things around me and I have a lot more focus on the things I need to accomplish that day. Rather than spending 15 hours messing about I’ve done 8 hours of solid work instead.

This entry was posted in Productivity. Bookmark the permalink. Both comments and trackbacks are currently closed.