Productivity killers and boosters for software engineers
The first week after the Christmas and New Year holidays is the hardest. You are rusty, slowly getting into shape for work, and less productive than usual.
So, I decided to write something about my biggest productivity killers and boosters.
Productivity killers
My biggest productivity killers are:
- Procrastination
- Interruptions and distractions
- Unexpected issues
Procrastination
Sometimes I struggle to start with tasks.
Usually, those tasks are not very fun to do. Tasks don’t have to be programming-related.
For example, I had to fill out and send a form for last year and send it to the tax administration. I prolonged that for 2 days, even tho I had a lot of free time to do it. That’s because I hate tax administration and filling out forms.
After 2 days, just after I woke up and drank my morning coffee, I told myself: “You will do it now!”.
I logged in to the tax administration web app and filled out the form. I spent less than 30 minutes doing that.
So I tortured myself for days having this task on my mind, just to finish it in 30 minutes.
The efficient formula is to say:
“Do it now!”
“Do it now!”
“Do it now!”
Every morning when you wake up, and you have this tendency to procrastinate, program your subconscious mind with this automatic command: “Do it now! Do it now! I do it now!”.
For me, the key to overcoming procrastination is to develop this sense of urgency. Be the kind of person to do things quickly.
Interruptions and distractions
In today’s world, we have a wide range of distractions. Some of them are:
- mobile phones,
- notifications,
- emails,
- slack,
- social networks,
- etc.
For my mobile phone, I always put it outside of my visual field and out of my hand’s reach when I am working. Otherwise, I have this temptation to check it.
My phone is always on silent mode, vibration for calls and that’s it.
If I miss your call, I will call later. With my phone on silent mode and outside my reach, I have resolved 90% of my distractions.
Notifications are a big distractor! When working, you will be often notified of new emails or messages that are useless or of low urgency. To get rid of those notifications, I disabled desktop/browser notifications. Emails are for non-urgent communication, so you can reply when it suits you. No need to interrupt your work to read Karen’s out-of-office notice email.
Slack is a tool that almost every company uses for communication, and boy it can get noisy. You will be in many workspaces with many channels which you have to check.
To have a good Slack experience:
- remove yourself from all the channels you don’t have to be in (eg. channel for random news, memes, etc)
- mute all channels that you can’t leave but still must be present (eg. the channel for the project you worked on before but is now transferred to another team). If they need you, they will tag you and notify you.
- use “no distraction” status and mute notifications for time blocks when you need to focus
Social networks can be a big hassle for focus. Leave your phone outside of your hand reach and visual field. Don’t open social network apps on web browsers when you are working. There is nothing important to check there. You can watch those 30 memes that your friend sent you any time after work.
Unexpected issues
No matter how much you plan your work day, you will encounter some unexpected or unplanned issues.
For example, you just started working, got into your productivity zone, and PLING. You got a message from your co-worker about some issues where they need your help.
You jump on a call, spend 30 minutes or more, and solve the problem together. Awesome! That’s your duty as a software engineer to help your colleagues.
But you also have to ensure you will have enough time to work and finish your daily tasks.
So if a call runs over your estimated time that you can spend on supporting others, you need to speak clearly. Unblock them so they can continue working on that issue and you can return to your work.
Let’s say you are working on something that’s of high urgency and importance. Then someone asks for your help. Kindly explain your situation to them. Say that you can get back to them after you finish your work. They will understand. Also, you can recommend other colleagues who might be able to help instead of you.
Rarely, but there will be unexpected bugs/issues that need urgent attention. If your production is on fire, it’s time for you to leave everything you are currently working on. You should focus on putting out the fire.
Sometimes your manager will assign you to some urgent task and you will need to stop your current work.
None of these situations are in your control but it is what it is. Suck it up and do it. Then return to your work. Make sure to mention these unexpected interruptions on daily standups. The team will then know why you weren’t able to finish your daily work.
Speaking for all these tasks, you can check the Eisenhower matrix and follow its formula:
Productivity boosters
My productivity boosters:
- the daily routine that suits me
- taking short breaks
- tools and shortcuts
Daily routine
The most important factor for a person’s productivity. We are all different about our productivity schedules. Some famous people had very different daily routines.
Pablo Picasso’s daily routine looked like this:
- 03:00 – 11:00 – sleep
- 11:00 – 15:00 – food/leisure
- 15:00 – 22:00 – creative work
- 22:00 – 23:00 – food/leisure
- 23:00 – 03:00 – creative work
Benjamin Franklin’s daily routine was like this:
- 22:00 – 05:00 – sleep
- 05:00 – 08:00 – food/leisure
- 08:00 – 12:00 – creative work
- 12:00 – 14:00 – food/leisure
- 14:00 – 18:00 – creative work
- 18:00 – 22:00 – food/leisure
Ludwig Van Beethoven’s day looked like this:
- 21:00 – 06:00 – sleep
- 06:00 – 06:30 – food/leisure
- 06:30 – 14:30 – creative work
- 14:30 – 15:30 – food/leisure
- 15:30 – 16:30 – exercise
- 16:30 – 21:00 – food/leisure
As you can see, they all had different times for creative work, sleep, exercise, and food. Some of them liked to work with the pause between creative time blocks. Others worked in a single block.
So, the best way for you to maximize your productivity is to figure out the daily routine that suits you the best.
For me, it looks like this:
- 23:00 – 07:00 – sleep
- 07:00 – 07:30 – take vitamins, skincare, morning coffee, do one Duolingo lesson
- 07:30 – 12:00 – work
- 12:00 – 13:00 – food, a short power nap (if possible)
- 13:00 – 17:00 – work
- 17:00 – 19:00 – exercise, food, leisure
- 19:00 – 22:00 – work (side hustle, blog, personal stuff)
- 22:00 – 23:00 – reading, movies, social networks
I am most productive in the morning, but as the day comes to an end, I have less focus and energy for work. That’s why I do most important things in the morning and leave the fun/attractive things for noon work.
A couple of my friends are the total opposite, they like to stay late at night and work. One of my friends recommended a routine to start working on important stuff, as soon as you wake up. No coffee, no mobile phone, nothing. Straight from bed to laptop and start working.
He says that our mind is like RAM. When you wake up, it’s empty. You fill your RAM during the day with the stuff you see, hear, feel, and do. I still have to try that one, but it’s going to be difficult without my coffee.
So figure out your optimal routine and organize your day around it.
Taking short breaks
This one is pretty simple. Take short breaks when you finish one small task.
It must be a really short break. Also, it should force you to stand up from your chair and do something. It can be anything:
- take out the trash,
- check your lunch,
- wash dishes,
- put clothes to wash/dry,
- eat some cranberries and cashews,
- play a bit with your cat/dog,
- etc.
I do this every hour or so.
When I come back from these short breaks, my mind is refreshed and I have better focus.
Tools and shortcuts
As a software engineer, you can be more productive with good tools and shortcuts.
I have seen software engineers still using a mouse. Selecting text, right-click, copy, then again mouse, right-click, paste.
So slow and clunky.
Instead, learn to use keyboard shortcuts in VS Code (or any other IDE). You will save a good amount of time and look more cool.
Some of my favorites are:
- select line –
cmd + l
- select word –
cmd + w
- copy selected text –
cmd + c
- cut selected text –
cmd + x
- duplicate selected line –
cmd + d
- comment out code selection –
cmd + /
In the beginning, it will be a bit hard, but long term this is an extremely good investment.
Every time you feel you can save time on something, search for VS Code extensions for that.
For example, you can bookmark your most used projects with Project Manager. Later, you can open the project with 2 clicks, instead of going through 8 steps every time.
There are other tools that you can use to speed you up for different things:
- Rocket – emojis
- Obsidian – notes
- Maccy – clipboard management
- Lightshot – screenshots
- BitWarden – password manager
- Excalidraw – diagrams and whiteboard
For the full list, you can check my /uses page.
Last but not least, use AI tools like ChatGPT.
Need to write that pesky regex expression? Use ChatGPT. Test the solution as it can give you bad code on the first couple of tries, rinse and repeat until it works.
Are you stuck with the problem? Write down the problem, explain every step, every edge scenario, and every limitation. Then ask ChatGPT to give you a potential solution. Iterate a few times, update your query with new information until you get the solution that works for you.
Need to write some HTML/CSS code and wanna save time? Upload a Figma screenshot of that design part to ChatGPT and let it spit the code. You will get barebones which you can refactor a bit, add some more code, and viola, you have UI for a component. This will save you time which you can spend writing business logic instead of HTML/CSS.
There you go, hope these tips will help you.
What are your biggest productivity killers and boosters?
Feel free to comment 😊
Sources: