One task at a time
The first question I ask myself at the beginning of the workday is:
Was there anything left pending that you were working on yesterday?
If the answer is yes, this will become my first and most important task of the day (with certain exceptions). On the other hand, if the day before I successfully completed a Ticket, Pull Request, or Research just at the end of the day, then I go directly to the next question:
What is the next task I need to work on?
Once identified, while respecting the priority within the project, I proceed to make an estimate (if it hasn’t been made already). This will help me understand how many tasks I should include in what will become my to-do list for the day.
Once I have made the to-do list, I start working one task at a time where I apply a very basic rule: "Divide and conquer." This is how each task is divided into smaller and simpler subtasks, which I will sequentially develop one by one. The key to the success of a common workday for me is to concentrate during each subtask from start to finish, focus stubbornly and seek to finish it in the most efficient possible way.
Anything else I should focus on today?
Some days I spend some time on other tasks not directly related to a project, like courses, research, tech articles, etc. These should also be included in the to-do list.
Take a break
We are social beings by nature. Evolution has made us like this; who am I to go against it? Breaks during a workday help us to clear our minds, free ourselves of stress, and improve our work environment.
I usually take at least two breaks a day (one in the morning and one in the afternoon), go for a coffee (I prefer mocha), stretch a bit, laugh at some memes, and chat with a colleague. (Only if he is not focused!)
Handle Interruptions
When we are in the middle of a task/subtask, unforeseen situations usually arise and inevitably take us out of context. What to do when our carefully prepared to-do list is interrupted by an email, text message, call, or (terrifying) production error? Depending on the source, the required time for dealing with each one is different. For example:
Production Error: Stop everything, go to the rescue, be a hero!
Email: People do not expect you to check your email very often, much less respond immediately. So if you’re doing something important, feel free to ignore emails as they land in your inbox. Instead, have certain hours of the day scheduled to check your email or check them between tasks.
Direct Message: In this case, the person who writes you is waiting for a response in less than 5 minutes. If it’s related to work, read it carefully and understand the requirements.
Once you’ve identified the requirements (from email or DM), you should take action according to the time it will take you, in this way:
Task will take less than 5 minutes: Do it immediately, but not without first writing down where you left off in your current task, so you won’t forget where to pick back up.
Task will take between 5 and 20 minutes: Respond, letting the person know that you have received the message that you will do it as soon as you finish the task you are doing. If possible, give an estimated hour. I usually do these requirements between tasks or before/after a break.
Task will take more than 20 minutes: In this case, this requirement already becomes one more task for the day. Now you must evaluate if the priority of this task is higher than the ones you have written down for today. If so, include it in your list. You’ll probably have to remove another task — that's fine, you’ll do that one the next day. Now, if the priority of this new task is lower than what you have scheduled, tell that person that is not possible for today and that you will do it tomorrow. Usually you will receive something like "of course, no problem."
To-Do List Items
If this work methodology was useful to you, these are some of the things you would probably want to include on your daily to-do list:
- To-dos from the previous day (if any)
- New tasks
- Project Meetings
- Personal stuff
- Technical Research/Learning
Keep in mind that the tasks must always be divided into subtasks. I wish you success in your projects. Work hard and have fun!
My fellow developers here at FullStack Labs work in their own ways, but we are all highly productive and produce high-quality solutions for our clients that they love! If you like the way I work and would like to join us, please visit our Careers page. If you would like to reach us for any other reason, please contact us. We look forward to hearing from you!