My Tools for Developer Productivity

Everyone wants to be productive in what they do. The same is true for Software Developers.

Being productive results in quality work in optimal time and effort.

There are numerous tools and tips suggested all over the web for being a productive developer. Even numerous self-help books were written on how to be optimal in the day-to-day job. By no means, I can claim that I am an expert in developer productivity. However, I got benefited from a few techniques that I think can be of help to others, as well. Following are tools and techniques which I use on a regular basis, which I find useful in optimizing my day's job.

Yoga (योग)

Usually, my day starts with an hour of Yoga and Pranayama exercises. Yoga and Pranayama are fundamental in supporting my day's job and life, in general. Yoga has a wider meaning and scope, however here I am referring to physical exercises and postures with general health benefits.

For example, Surya Namaskara (Sun salutations) helps in keeping the whole body fit and especially the spinal cord and back.

SuryaNamaskar

All yogic postures follow particular rules of breathing. The dedicated discipline of Yoga that focuses on breathing is Pranayama. I can't stress enough how much Pranayama techniques have been helpful to me. It helped me to focus and have clarity of thoughts. I remember doing Pranayama just before the interview, when I am debugging a complex issue, during covid lockdowns to keep my sanity, etc. Kapalabhati and Anuloma Viloma are the notable Pranayama. 5-10 mins of Anuloma Viloma calms down the mind instantly.

Benefits of Anulom Vilom Pranayama and How to do it - 7pranayama.com It is better to start doing Yoga with an expert guidance.

Tasks for the Day

At the beginning of the day, I usually list the tasks for the day in a to-do app. I use Microsoft ToDo but you can use any tool of your choice. This helps me in organizing my day. Of course, every day is not an ideal day. We usually come across unexpected and so-called priority tasks. Then, we need to adjust our day accordingly. However, listing the tasks for the day is a better way to start the workday rather than with a blank mind with no idea of the day's agenda.

Pomodoro

On a given day, we may have to accomplish 'n' number of tasks. They may be of varying priority. Focus is the key to accomplishing any task. How do we focus on a task? It is found that a normal human mind can focus on a task for a maximum of 25 mins. Anything done beyond 25 mins in a session may not be productive. Hence, it is recommended to perform a task for 25 mins. Then take a short break of 5 mins. Again, continue the task for 25 mins with a short break of 5 mins. Like this, after 4 sessions of 25 mins separated by short breaks, take a long break of 15-30 mins. This type of timing of tasks is called the Pomodoro technique.

The Pomodoro Technique: How to Boost Your Team's Productivity • Asana

During 25 mins of the Pomodoro session, you are focused on your task avoiding all interruptions. Before starting a session, ensure that all possible interruptions like browser/mobile notifications, chat notifications are turned off. I use Pomodoro Tracker to track my Pomodoro sessions.

Kaizen

Suppose we have some big project or task to be completed. How do we approach it? Most of the time, the thought of the big and complexity of the task makes us procrastinate and avoid starting the task itself. Japanese business productivity technique called Kaizen has proven to be of immense help in starting and being consistent with the given task. According to Kaizen, start any task with simple and the smallest part of it. Suppose you want to take an online course for your certification. On the first day, start with as small as one Pomodoro session (25 mins). Continue the same for some more days and after increase the time to two Pomodoro sessions. Another example could be if you want to finish a big book, start with the intention of reading just the first paragraph. Unknowingly, you will find that you are liking the subject of your task and enter into a state of focus and flow.

Daily tiny efforts bring about focus and flow into our task. As we progress in the task, it also boosts confidence in the subconscious mind.

Taking Notes

After reading a book or watching a video course, I try to put the learnings into notes in my own words. This seemingly simple exercise has a deep impact on our learning and refining understanding of the topic. Concepts that we thought understood, get refined while taking notes. Often need to visit the learning material again to clear my understanding. I have come to this conclusion "Learning done without taking notes is simply a waste of time and energy". I wish I knew about it during my student time, better late than never.

image.png

I often use Obsidian as my note-taking tool. Sometimes, I also use pen/paper for my note-taking exercises.

Last but not the least, at the end of business hours, do not forget to sign off from work email and chat accounts. Otherwise, constant notifications of mail and messages, keep consuming your attention leading to anxiety and stress. After business hours, it's time for self, family, and friends, it's time to get refreshed and recharged which in turn reflects on our next day's work.


These are the techniques that I use frequently. However, I need to go a long way in developer productivity, and hence, I am constantly looking for better tools and techniques.

Let me know your experience with the above productivity tools and what other techniques you apply for your job.