I want all the things
As developers we have many projects on the go. Many new technologies we want to try out. Many new ways of working we want to trial. Many new concepts we need to understand. All these activities compete for our limited free time. Most likely you’ll only get a few hours of continuous time to spend across all these activities per week. So how can we focus on all these interests with limited time?
The first thing to realise is that you can’t focus on everything at the same time. You’ll never get anything done if you do. You need to chose. I’ve found that prioritising the work I do to be the simplest tool to ensure I get the most important work done. I write down the top three activities I’d like to either complete or focus on in my limited time. The way I choose my most important task is by asking the question: “Would I feel good about the time I spent working on this task if I got nothing else done?”. Then I repeat the same question for the second and third items. I do not list more than 3 items. I only focus on this small list and assume I’ll probably only get through first task. I may not even finish the first task. I have realised that I have to be okay with leaving work unfinished - if I run out of time. I turn off all social media. Then I get to work.
Enforce the gap
I take a break when I finish a task on the list. It could be small as a minute to walk around or it could be a few minutes to grab a coffee etc or it could be longer. This break marks the end of a task and prevents me from jumping from task to task mindlessly. It helps me feel like I accomplished something. It also resets my brain to make it ready for the next task. This is helpful if my three tasks vary greatly in their implementation. Eg. Maybe I am moving from some backend code to frontend design and then onto installing some infrastructure software.
Same time next week
If I run out of time to finish even the first task, I can rest assured that I spent my time wisely focusing on the most important tasks at hand at the time. As I am okay with leaving the task unfinished for now, I know that I’ll get back to it next week - if it is still one of my top three tasks. I also try to wind down any tasks I might be doing ten to fifteen minutes prior to running out of all my alloted time. This helps me to stop when I need to without working overtime or rushing to get something done which obviously needs more time. Some things take time. You can’t complete everything in a day or a week or even a month.
It’s all equal
What if I have tasks that are about equal in priority? I still choose only three. Then I split my time into three parts plus time for two breaks. I wind down each part ten to fifteen minutes prior to the end of the its alloted time. I then take a break as before. I then start the following task. This allows me to make reasonable progress across multiple tasks.