Time Management and Productivity Tips for Developers
A few weeks ago, I published a post about Soft skills every developer should have. I’d like to focus on one of them today: ** organization** and to some extent productivity. It’s an essential skill to have for many reasons:
- You are on time. Being late is annoying, especially for those who are on time.
- You know what to do and you gain time. If you don’t, you may forget tasks such as replying to someone or working on your side-projects bug.
- You are less stressed. Do you know that person who promises everyone they will get back to them but always forget it? Who’s constantly busy? Who has a million side projects? That seems on the edge of a burn-out? Chances are there’s a lack of organization there. Organization means you know how to manage your time. That includes saying no to others, delegating tasks, and dedicating time to some tasks
- You are trustworthy. You are organized, so we know that you'll do it on time if we give you this particular task. And if that’s not the case, we know you’ll warn us way before the due date.
Just before giving you the tips, here are some notes:
- This article is primarily meant for developers (as I’m one of them), but I’m pretty sure you’ll find value in it if you’re not a dev.
- The tips I’m going to give you below work for me. It might not be the case for you! Try some of them, see what works, and apply them if that’s the case. Don’t blindly follow the tips if you don’t find them efficient.
- In any case, I’m saying you should be over-organized. It’s even worse if you spend your time organizing your life! I’m just giving you some techniques that take nearly no time but yet boosts your productivity.
- Unleash your focus mode by using the Pomodoro technique.
- Learn to say no to others and prioritize tasks.
- Read your emails once or twice a day. You’ll save time.
- Cut all distractions. No slack, no messages. Just you and your task.
- Use a to-do list and know what to do every day.
- Keep mindless tasks to do in case you don’t feel productive.
- Work on what you love and allocate some time to it.
- Take breaks. There are important for both your work and health.
🍅 Use the Pomodoro technique
OK. This may be a famous one, and there are reasons for that. This technique is truly efficient. It consists of choosing a particular task, cutting distractions, focusing on it for 25 minutes, taking a 5-minutes break after work, and repeating it until you’ve completed the task. Every 4 sets (we call them pomodoros), you can take a longer break. It has many advantages:
- The fact of launching a timer and cutting distractions trigger your focus mode. I know it sounds silly, but I do not feel like I’m fully focused if I don't do that. Having this counter makes me think: "These next 25 minutes will be allocated to this bug fix only. No Twitter. No talking. Just this bug fix.".
- You are single-tasking instead of multi-tasking. Multi-tasking gives you the illusion of being a task-killer, a productivity super-hero, but it’s not the case. In reality, you lose focus and are producing poor work.
- You take breaks, which are important for your work. Humans are not good at being focused for a long period.
⚠️ Doing a Pomodoro doesn’t mean you have to complete a task by the end of the 25 minutes. It means you deeply focus on a task for 25 minutes. It’s up to you to choose the number of pomodoros associated to the task.
🙅♂️ Learn to say no
Ironically, I write this because I still don’t succeed in saying no to others. But I’m fixing this. Here is a fact: not doing things takes less time than doing things. So, learn to say no. You don’t have to do every single thing we ask you. You want to spend most of your time in things that matter to you, that get you closer to your goals. Being in meetings half of your time as a developer may not be the smartest thing to do. However, say no in a diplomatic way.
Another thing: leave your ego aside when we ask you to do something. It’s OK to be busy and not to have time to do additional tasks.
🔥 Each time we ask you something you don’t want to do, ask your interlocutor if that’s urgent and if you’re the only one able to do the task. It’ll usually make them think about what they’re asking you. With a bit of luck, they’ll figure out another way to do their task.
⚠️ Don’t say no to everything. Be smart about this. You should say no when you already have a lot of work ongoing and when the work we ask you can be rescheduled or done by a less busy person.
✉️ Read emails once or twice a day
This one has been a great time-saver for me. I used to mechanically read my emails every 15 minutes before. Not only I repeatedly lost focus by doing this, but I also wasted my time by checking useless emails or even an empty inbox. To spend less time on this, read your emails once or twice a day, during one or multiples pomodoros if you have plenty of mails. For example, I read them twice: when I arrive at work and in the afternoon. If I receive mail outside of these slots, I just ignore them.
However, if a mail is really urgent, you can respond to it during your Pomodoro break. The goal here is not to lose focus. Coding is hard and requires focus, creativity, and problem-solving skills. So don’t be distracted by this useless newsletter or this particular person who still doesn't understand the difference between the button Reply and Reply All.
🔕 Cut all distractions
This is linked to the Pomodoro technique. While you work, it’s important to cut all distractions. Indeed, we live in an era where it’s ** tough to stay focused because of distractions**: personal messages, Slack, Twitter, Facebook, etc. The worse in this is that all of this is instantaneous, so it makes us feel like everything’s urgent while it’s not. Receiving a notification interrupt our tasks and makes us lose precious minutes, especially when we’re debugging:
"Cannot read property of undefined… What’s happening? Here I make my async call, my variable is properly initialized. Let me just console.log that… That’s interesting. Let me… OH, a slack message, what does it say? Ah, nothing important. So where was I? Cannot read property of undefined..."
That happened to me, and it probably happened to you. So quit Slack and all social media apps and toggle airplane mode while you focus.
But what about persons who interrupt you physically, you might think. You know, that person who says "Hey, I sent you a message. Did you see it?". Well, let them know you’re focused, and you’ll see that later in a respectful way: "I’m working on complex tasks, and I need to focus on completing them. Is it OK for you if we see that later in the day?."
🔥 If you don’t want to be constantly interrupted, let people know you’re focused by putting your headphones on, defining a Slack status or just by letting a small sign on your desk saying Focused.
📝 Use a to-do list
It may be unnecessary for you, but I personally use a to-do list app to organize my work and some extent, my life. There are two main reasons why I use one:
- I don’t forget anything
- I always know what I have to do
Here’s how I use my to-do list (inspired mainly by the Systemist workflow) :
- If I can do a task in less than 5 minutes, I do it right now (except responding to an email or a message. I batch them to be more efficient). Otherwise, I write it down in an inbox list.
- Whenever I have time (once a day), I ** prioritize my tasks** using The Eisenhower Matrix. It allows me to know what I should do now, what I should do later, if I even should do a task or delegate it. Then I move these to-dos in the right list (work, personal, code, learning) and prioritize them.
- Every night, before going to bed, I check my to-do list and decide which tasks I’ll do the next day by moving them to the Tomorrow list.
- The next day, I check my Today list and I don’t even have to think about what I have to do. I just take them one by one and try to complete them all.
🔥 I insist on capturing every single task you can’t do right now and prioritizing them later. You may be amazed the next time we’ll brag about your organization skills when all you did was writing down your tasks.
🧠 Do mindless tasks when feeling unproductive
Humans are not perfect, though. Sometimes you’re just not productive. You feel tired. You are staring at your screen and wondering why you ate so much at lunchtime. Then, you can’t do anything, you can’t think, and you’re feeling like you’re wasting your time. That’s perfectly normal, and it happens to every one of us. So what to do in these situations? In my case, that’s when I’ll do what I call my mindless tasks, that is to say, tasks where I don’t have to think. For example, when I respond to my mails or when I need to code something that requires very little attention and that I can almost do automatically.
⚠️ Sometimes (even often), all you need to do is to take a break. I do my mindless tasks when I’m on an unproductive day.
🔥 Create a mindless task list and place it in the ones you know you can do without thinking. At the moment you’re feeling unproductive, do them.
⏱ Allocate time for what you love to work on
With the amount of work we have to do, it’s pretty easy to get lost and forget to spend some time on your favorite side-project, for example. There’s a simple way to fix that situation: allow yourself to work on whatever you love a certain amount of time. For example, I like to write articles, build new apps, contribute to open-source, and discovering new technologies. Then, every morning I work an hour (sometimes more) on my task of the moment (writing a new article, following a course, etc.).
🔥 Stick to these routines and make sure you do it consistently. It’s important to work on what you love. Otherwise, you’ll likely get sick of what you do every day. Oh, and make sure everyone respects the fact that you’re taking this time for yourself.
🌴 Breaks are important
This is another tip I have a hard time applying. This advice is both for me and you: take breaks.
When you’re doing a Pomodoro, take a real break once it’s finished: stretch, grab a cup of coffee, or a glass of water. Don’t stay in front of your computer or launch the next Pomodoro. Take a real break. When you have days off, enjoy them and don’t work during these days. I’m kind of a workaholic, and I used to work all week, including weekends. I was surprised that I was sometimes really tired. "You work all day, and you don’t take days off. What a surprise!" you might think. You're right. Now, I take breaks during work, I don’t work on Sunday, and I’m feeling way more productive even if I work less.