How to optimize your workday for productivity as a programmer

Can we simplify the work schedule to make time for the most important work and the admin tasks?

A pile of pancakes
Photo by Brigitte Tohm on Unsplash

We see one pattern when we look at successful people in various disciplines. They all had a predefined block of time for working. No matter what they were doing and what kind of success they achieved, some portion of the day was designed for work.

Of course, the work differs. Professional athletes spend their working hours running, swimming, and practicing elements of their game. Authors write. Business people go through their to-do list doing whatever has to be done on that day. The work differs, but the habit of setting a predefined working time stays the same.

Should we copy the same approach? We don't even need to refer to research to prove that we should set a block of work time. How often did you think, "I would get so much done if nobody interrupted me for three hours?"

Can we make it a reality? How can we protect a block of work time from distractions and interruptions?

First, let's decide when we are going to work. For me, the best work times are 6:00-10:00 and 14:00 (2 pm) - 18:00 (6 pm). I feel best when working during those hours.

Of course, we already see the first problem. The usual working hours are 9-5. Fortunately, I work from home, so I can be flexible in my working time. Starting my eight working hours one hour earlier/later isn't a big deal. I also do freelance work, so some of my freelancing happens during my prime working hours too. Lucky me.

What if you work best between 16:00 (4 pm) - 22:00 (10 pm)? Should you look for a workplace with evening shifts or work for a company in a different timezone? Such a work arrangement may be the most optimal for some of you. However, the majority may need to stick to their second-best work time.

What about the rest of the working hours? That's our time for meetings, writing non-important emails, and doing admin work. We should spend the prime time doing the crucial tasks.

I won't repeat my advice about protecting your prime working time, so if you need hints, take a look at my texts about procrastination, task batching and dealing with distractions.

What tasks are the most important?

If you work for someone else, it's easy to decide. The other person picks the most important task - your manager, the team leader, etc. If you work on your own - the most important tasks are the ones important to your client or the ones giving you the most leverage.

Finishing work in progress has the largest leverage even if the task itself isn't crucial. After all, you decide to start the task for some reason, so it was necessary at some point.

An unfinished task gives you no leverage at all. It stresses you out to have unfinished work. Every time you look at a postponed task on a to-do list, you waste time. You can free bandwidth for more meaningful work by finishing the task.

If the task doesn't matter anymore, you can "finish" it by deciding you won't work on it anymore. It's ok too, as long as you make a decision. Keeping a task on the list because you may do it one day makes no sense.

What about planning the block of time?

Should we have a plan? Recently, I tried starting the work with an overall idea of the order of tasks and the time required to do them. I'm not a perfect estimator, so the tasks often need a little bit more (or less!) work. However, I don't rearrange my plan even if I spend more time on one task.

I start with the top leverage task first. Even if that's the only task finished on a given day, I have a decent working day anyway.

I used to make a detailed plan for the working blocks. Usually, I planned the number of pomodori required for an assignment. It was ok, but I was still underestimating the time.

Once, I tried to schedule the working day in a calendar. It was a nightmare. Don't do this. If you exceed the planned time, you must rearrange the entire day.

Finally, I found an approach that works best for me. In my plan, I decide which tasks are the most important and how much time I want to spend working overall. No estimates.

I need at least two hours. Two hours is a weird duration. Freeing two hours of your time seems like an almost impossible requirement. At the same time, you may feel that two hours aren't enough to finish any work.

You feel that way because, with your current schedule, you can't get anything done in two hours. But the time blocks are uninterrupted, distraction-free time. Working during a time block feels different. Give it a try. You won't regret.