Top 5 productivity tips for software engineering

Software engineering is a job that requires a lot of focus. However, it is always hard to allocate a continguous block of time for us to focus due to other responsbilities and obligations. On the rare chance that we do find ourselves a moment to focus, it is very important for us to be as productive as possible during that short period. Here are my 5 top tips for productivity:

Finish active tasks before starting new ones.

I used to be a big victim of this. I used to always have 5-10 code branches active and when I close tasks, it would usually be in batches. You would expect this to be very productive, but it was actually not because every time I had to update a branch, I had to go through the pain of context switching. It also made me very bad at updating certain tasks because I was focused on another task. As a result, the quality of code sometimes suffered and it would take longer to close out a task.

Nowadays as a general rule of thumb, I try to only work on at most 2-3 tasks at a time and actively follow up and try to close them out as soon as possible. This has actually improved my throughput as well as my mental state. It is much better to close out an issue than to have several open ones still standing.

Limit the number browser tabs

Are you the type of person to have 100+ chrome tabs active? If you are, it might be a good time to trim that number down. Having too many windows and/or tabs open can easily overwhelming your cognition. The new tab group feature is super useful for this exact purpose. Of course your mileage may vary, but I personally would try not to go above 5 chrome tabs/tab groups per browser window. To make sure I don't lose important tabs, I would organize them into my bookmarks to easily find them the next time I need them.

Avoid having too many short time gaps in your schedule

Whether we are coding or designing a new system, it is very important have continguous blocks of time that let us focus without being interrupted. Our worst enemies are the 30 minutes time gap between meetings. To work around this, I would always batch meetings, interviews, and other miscellaneous work items into as few days as possible, leaving me more days with longer time block to focus on coding and designing. Some companies also have no meeting days, which are great for getting work done. The earlier you do this, the more effective it will be.

Organize your work email

Are you the type of person to read only from your email inbox? Do you ever get frustrated trying to filter through an inbox mixed with pull requests, comments, announcements, bot notification, and etc?

If you do, maybe it is time to change that. If you use outlook, you should spend some time setting up and running rules. Rules are actions that can help act as a filtering system for your inbox. For example, I would set up a rule to filter any pull requests and comments into a dedicated folder. Same for notifications. I want to leave my inbox for the important announcements.

Never work on exhausting tasks after work hours.

I admit that I used to be one of those people that would push code at midnight, which was well beyond my typical working hours. There could be many reasons why someone would do this, such as meeting close deadlines. Another reason could be due to having random lightbulb moments. For me, sometimes it is impossible for me to sleep peacefully once the light bulb moment goes off because I can't stop thinking about it. It creates a sense of urgency that I must do it now or I'll forget this idea. To work around this mentality, I have adopted a habit of writing my ideas down as notes or remainders for tomorrow. It could be as easy as writing it down on my phone or a direct message to my own Slack handle. This allows me to easily pick up that idea on the next day of work without losing much momentum. It allows me to get a peaceful night of sleep.

Conclusion

Our brain is amazing at processing lots of information, but the amount of information displayed to us at once could still be overwhelming. These productivity tips are not exhaustive, but the intention is to help reduce the amount of cognitive overhead that you might be currently experiencing.