In the modern office where we are constantly bombarded by meeting invitations and Teams or Slack messages throughout the day it can be hard to keep track of each and every ask or commitment.
It’s critical that you have some way to keep track of these tasks in order to alleviate the mental burden of remembering everything you need to do each day, week, month and so on.
Most software engineering teams will use some sort of a backlog to keep track of their tasks, assigning tasks to upcoming sprints to be worked on. This enables the team to keep track of each piece of work required to complete a project and enables easier discussion and collaboration.
However, it doesn’t make sense to track every single micro-task that you need to complete throughout your day in this shared team backlog. There is an extra burden to creating a task on the backlog, it needs to be presentable and detailed enough that another team mate can work on it. Most tasks you complete on a day to day basis are tasks just for you.
Microsoft To Do
Microsoft To Do is one of a million different to do apps that exist, but in my opinion it does the simple job of tracking your tasks really well. I’ll dive into some of the features I like to use the most to keep track of my work and get things done. Here is what my setup within the app looks like:
‘My Day’ page
This is the screen where I spend most of my time within the app. Every day Microsoft To Do will automatically add any tasks to this page that have a due date set to the current date. I’ll also start my morning by going through my list of tasks in each section and clicking ‘add to my day’ if I am planning to get them done today.
After doing that, I will open Teams and Outlook and go through all my messages and mails. If I identify a task that comes out of a message or mail I’ll quickly jot it down in the bottom of the My Day page and hit enter and the task is added.
The great thing about this page is if I don’t complete all the tasks added to the My Day page by the end of the day, it resets, moving all tasks back to their assigned section (new tasks added in My Day page go to ‘Tasks’ section). This prevents a situation where you have more and more tasks carried over each day which would inevitably become overwhelming. It forces you to re-assess each morning what you need to get done that day. I find this also makes me think about whether a task is still as important or urgent as it was yesterday, oftentimes resulting in deleting the task.
‘Planned’ and ‘Recurring’ sections
These sections have a fairly significant overlap. The Planned section is a ‘smart list’ which the app generates, collecting all of the tasks you have assigned due dates to. When I started using the app I initially had this section disabled. It provides a nice overview where your tasks are ordered by when they are due, also highlighting overdue tasks at the top.
I created a section specifically for recurring items so that I don’t have to scan over them each time I am picking tasks from the Tasks section. Also as I mentioned before, tasks with due dates will automatically get added to the My Day page when they are due.
‘Awaiting responses’ section
About a year ago I identified I was creating many tasks to handle communications with colleagues around specific work items. I would create tasks to ping them and follow up with them and it involved a large number of tasks being created until the item was resolved. To improve on this problem, I created a section specifically for tasks where I have taken an action and am awaiting a response from someone. I also check this list every morning when deciding what I need to work on. Maybe the person did not respond in several days and I need to follow up with them.
‘Recordings’ and ‘Learning’ sections
I think these sections are pretty self explanatory, but will cover them briefly. One result of having many meetings is that often times they clash and you can’t attend them all. If it’s important, usually someone will record the meeting. I collect these recordings in this list and try to make time to watch them on 2x speed. But as you can see, there are 25 of them currently on the list so it doesn’t get top priority in my day usually.
In my team we are lucky enough to have dedicated team learning days, I like to collect links for courses and articles for topics I want to learn about in my Learning section. When a learning day comes around and I have some time to invest in it I will work through this list to learn about the various topics that I am interested in.
‘On-call’ section
Like many engineers I participate in the maintenance of our livesite service, which also involves an on-call rotation. During this rotation you are expected to only work on tasks related to the health of the livesite. This involves a distinct set of tasks that need to be performed regularly such as monitoring the dashboards, paying attention to ticket queues and investigating customer incidents. I created a dedicated section for this to highlight its important nature. Whenever I have an upcoming rotation I turn to this list to help me prepare and perform well during the rotation.
‘Low-pri’ section
This is essentially where my tasks go to die. Whenever I perform maintenance on my task list and identify tasks that are neither urgent nor important I will move them here. Every so often I run over this list and delete tasks when I am sure they are not needed.
Before using Microsoft To Do I had a hard time keeping track of everything in my head that I needed to do to succeed at my job. I find being able to dump all these tasks in an easy to manage app frees up a lot of brain power to focus on the deep technical problems that we software engineers are faced with solving. Over time as I refined my method it has allowed me to really thrive as a software engineer. I think it’s one of those foundational building blocks you need to get right, in any role really. Once you have it you are lifted just a little bit higher in your ability to be productive and flourish.