Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

How to manage time like Senior Developers

It’s widely known that one of the main differences between senior and junior
developers resides in soft skills. And one of the most important is time management.
Time management allows you to improve your performance. If you manage your
time wisely you will add value exponentially to the company.
In other words, you can be the developer with the best technical skills but if you
don’t know when to do a quick fix or when to do a big refactor you are losing time
and thus money. This is why, in my humble opinion, time management is a game
changer for software developers.
In this article, we will cover some basics of time management, specifically for
software developers.

Identify important and urgent tasks


First thing first, you need to know what tasks are important and what are urgent.
You can lean on the Eisenhower Matrix to analyze your tasks and evaluate their
urgency.
To use this matrix you should sort the task into different quadrants depending on
how urgent and important is a particular task. You should put into “Do” quadrant
tasks that have a clear deadline or a big impact. Inside the “Decide” quadrant you will
put tasks with some impact but not a clear deadline, more focused on long-term
success. The “Delete” quadrant will have tasks that are not needed at all. Inside the
“Delegate” quadrant you should put tasks that should be done but don’t require a
specific team member or set of skills to be done.
The Eisenhower matrix won’t solve all your problems but it’s a good way to
ensure the tasks you are struggling with are worth the effort.
If you hesitate when you are putting a lot of effort into a particular task you just
need to verify if the task is inside the “Do” quadrant, then you are doing great. If it’s
inside the “Delete” quadrant, leave it right now because you are wasting your time. If
the task is inside the “Delegate” or “Decide” quadrant, just ask your tech lead to verify
you are the best team member to develop this task.

Plan ahead your tasks


When you are beginning a new task you can start coding and expect there won’t
be any problems or analyze the task and split it into different steps.
Just analyze the different strategies to refactor code, implement the task, whatever
thing you need. Then create a list with different steps, diagrams and all documentation
you need before starting to develop.
You don’t need to create books and books of documentation or diagrams, it’s
more about simulating how you will develop the task to try to spot any major issue
upfront.
As you get more seniority this exercise will be more natural so you don’t need to
create any documentation, diagram, or write down every aspect. You will learn how to
do it keeping the documentation to a minimum.
Avoid multitasking
Don’t multitask, never!
Multitasking is a time sink, I cannot stress it more.
When people refer to multitasking, they usually think about doing several tasks at
the same time like in parallel processing. In real life, it doesn’t work as you may think.
Usually, it involves a lot of context switching because you cannot handle several tasks
in real parallel at the same time.
If you know a little about context switching is one of the worst things ever and it
reduces your performance exponentially because it comes with a penalty in time.
When you switch from one task to another you should remember everything you were
doing and to do it you need some time.
It means you are going to dedicate more time to finishing the task just because you
need to do several reminders when changing your focus between tasks.
Instead of doing several things at the same time, focus your effort on finishing an
open task and try to reduce multitasking as much as possible.

Use timeboxing for recurrent tasks


Another useful tip for recurrent tasks is to use the timeboxing technique.
The timeboxing technique is about setting a specific amount of time for a
particular task. Instead of using an infinite amount of time, you put a restricted amount
of time into this task and no more than that.
This technique’s really useful to avoid wasting time and encourages you to focus
on important things because you won’t put more time and effort into a task than is
needed.
You can use timeboxing for recurrent tasks like code review, email responses,
training, etc. For example, you can reserve a slot in the first hours of the day to do
code reviews, you can use one hour after lunch to answer emails, etc.

Learn when to ask for help


In this article, we are talking about how to get the most out of our time from a
developer perspective. Basically, if you can be sure you are doing your assigned tasks
the fastest and better you can I’m sure you are doing great.
Sometimes you will find some roadblocks or you will have some doubts when
developing some tasks. In this case, you have two options: you can try to solve all
problems on your own, or you can ask for help from your tech lead or a teammate.
It might sound obvious but asking for help is not easy for many people so they
spent a lot of hours fighting problems that could be solved in a matter of minutes if
they had asked for help.

Time management techniques


Now that you know some tips to improve time management with a focus on your
day-to-day as a software developer it’s time to get some info about time management
in general.
All time management techniques focus on two main things: stay focused for a
period of time and create habits around this topic.
Summary:
The article describes the importance of time management for software developers
and provides some useful tips for managing time effectively. It highlights the
significance of identifying important and urgent tasks using the Eisenhower Matrix,
planning ahead of tasks, avoiding multitasking, using timeboxing technique for
recurrent tasks, and learning when to ask for help.
The author points out the need for software developers to develop good time
management skills to add value exponentially to their companies. In addition, the
author claims that time management is one of the most essential soft skills to become
a senior developer.
The text explains the main reason why it is really useful - it allows you to stay
focused on tasks that matter the most for the company so you can be sure you are
adding a lot of value.
Overall, the article offers practical advice for software developers to manage their
time efficiently and become more productive in their work.

You might also like