Thomas Lombart

Thomlom

Time management and productivity tips for developers

Hourglass

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: organisation and to some extent productivity. It’s an important skill to have for many reasons:

  • You are on time. Being late is annoying, especially for these 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-project’s 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 organisation there. Organisation 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 organised so we know that if we give you this particular task, you’ll do it on time. 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-organised. It’s even worse if you spend your time organising your life! I’m just giving you some techniques that take nearly no time but yet boosts your productivity.

TL;DR

  • Unleash your focus mode by using the Pomodoro technique.
  • Learn to say no to others and prioritise 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 everyday.
  • 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’s reasons for that. This technique is truly efficient. It consists in choosing a particular task, cutting distractions and focusing on it for 25 minutes, taking a 5-minutes break after the work, and repeating it until you’ve achieved 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 if I don’t do that, I’m not feeling like I’m fully-focused. Having this counter makes me think : “These next 25 minutes will be allocated to this bug fix and 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 time 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

It’s ironic that 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 to 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 what 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 mails every 15 minutes before. Not only I constantly lost focus by doing this, but I also wasted my time by checking useless mails 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 a mail outside of these slots, I just ignore them.

However, if a mail is really really 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 didn’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 incredibly hard 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? So here I make my async call, my variable is properly initialised, let me just console.log that… That’s interesting. Let me… OH, a slack message, what does it say? Ah nothing important. Why did they use @here for that? 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 to complete 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 not necessary for you but I personally use a to-do list app to organise my work and to 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 (largely inspired 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 in a day), I prioritise 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 todos in the right list (work, personal, code, learning) and give them a priority level.
  • 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 prioritising them later. You may be amazed the next time we’ll brag your organisation skills when all you did was to write 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 it to say, tasks where I don’t have to think. For example, that’s when I respond to my mails or when I need to code something that require 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 in 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 everyday. Oh and make sure everyone respects the fact that you’re taking this time for yourself.

🌴 Breaks are important

This is another tip I’m having a hard time to apply. 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.