Almin's Blog

Developer productivity (part 2)

☕️ 6 min read

In this part I will talk more about the tools and workflows I use to be more productive daily. It should be good advice generally and not just for devs.

Second Brain

For me, the main thing is beaing able to store and find information as fast as possible. You just can’t have evertyhing memorized - I mostly use Notion as my “Second brain”. With Second brain, the goal is to have Knowledge that will probably never change(eg. bash commands, git commands) and Knowledge that may take you a while to re-learn (eg. How to setup a dockerfile) always on hand. To achieve this I’ve made a Note taking system which helps me achieve this task and looks like this:

Here I can see evertyhing important in one overview. I’ve made 4 categories

  • Daily thing I’m updating
  • Work related pages
  • Goals and Plans - where I keep track of longerm and shorterm Plans
  • Todo - just a simple todo list to remind me of important tasks

This is the bread and butter of my “second brain”. Lets say I’m in my “Work notebook”, I usually update this daily since I use this to write notes about and for work, set timestamps for meetings and in general document issues or problems that arrise during development. I really like to have a small log of things I’ve done daily to come back to. When there is something new I’m working on, lets say a feature that uses a third party library or service, I can use the Engineering wiki section of my notion setup where I write down steps to initialize the library or setup a service. So in the future me, or a colleague, does the same we do not have to loose the time again googling and tinkering about everything. We can use my notes and check what I have done last time and get up to speed fast. So there is one benefit of offloading things.

Besides work, the other sections provide some pages where I track some personal things, which for this I think is not that important.

I personally use notion for this but to be honest you can use a paper if you want to it really makes no difference.

Pomodoro with a twist

Pomodoro is a well known method of work, where you set a timer for 20–25 minutes - work for the time and then make a small 5 to 10 minute break. Well, for me personally that is an awesome approach to distraction free work. I do use a pomodoro timer (Link) with the values set to 1h of work time and then 5 minutes of break. As a developer you need a bit more time to get into a task and start working productively (at least for me).

However I like to combine pomodoro with a Daily Highlight tactic.

Daily Higlighting (From the book - Make Time), like the name implies, is just a way to select 1 or more Daily Highlights but with the intention of finishing it. In the words of the book:

Asking yourself “What’s going to be the highlight of my day?” ensures that you spend time on what matters most to you and don’t lose the entire day reacting to other people’s priorities.

It is nothing more than a way to Prioritize tasks and focus on it. Not alwys can we achieve that of course and sometimes there are random things which distract us, but you can always use the next day to redo the daily highlight. It does not matter when you do it it matters that you do it.

More info and nad maybe better explanation can be found here

Distraction avoidence (or at least try)

One of the hardest things, especially now with home office, is to work distraction free. Some of the things I use to avoid distraction:

  • Distraction Journal - Suprisingly this helped me personally a lot. The idea is when I’m focusing on my work and there comes a distraction to mind like, google something, shop for something etc. I take a notebook and just write it down. Any thoughts or impulses which distract are written down and saved up for later when my pomodoro is over.
  • Zenmode - I usually use zenmode in VSCode when I need concetnration and focus on a task.
  • Limit the internet connection or even block it - For me its a bit of overkill but I’ve seen people doing this too since they can not control themselves on twitter :D
  • Mute or Do not disturb mode on smartphones - This is something I always do when I need to focus, set my phone on Do Not Disturb. It is one of the worst distraction, for me at least, is the phone and the dopamine rush when I scroll my instagram feed.

Energize

When working for a few hours and trying to get as distraction free as possible, you can get fatigued. Eventually we will need to get some energy back to continue. When you don’t take care of your body, your brain can’t do its job. Some tactics to energize and keep energized (besides drinking a lot of coffee), is Keep it moving. Try to exercise about 20 minutes a day - which should be enough to keep the blood pumping, also Cook dinner, take the stairs just inconvinience yourself at random tasks daily.

Also food plays a big role with energy levels, I myself try to do the Intermittent fasting (16:8) and just eat when I’m in my 8 hour eating zone. Eat Real food - non-processed ingredients such as plants, nuts, fish, and meat. Keep snacks to a minimum if you do need to snack almonds, walnuts, fruits.

Step away from the screen

Often times as a dev you can get stuck on a problem, and it happened a 100x to me, where I just look at the screan like a zombine and have no idea what is happening. That day I go home, come back to work, and magically solve the problem in 15 minutes. I think a lot of people can relate to me. So a nice tip for when you are stuck - Walk away. Just go away from the problem for a bit and refresh your brain and look at the problem again. If not immdiately wait until tomorrow or make a nap and check it again.

Reflect

The last producvitity tip I will share is Reflection or Reviews at the end of the day. This is something I started to do recently and is maybe the best thing I added to my daily routine. The idea is after a work day or even at night, you do a small reflection of what you did that day. If you have written notes - go quickly over them, read them sort them even filter them out if needed. Usually you will get new ideas and new insights in your work and your workflows. If you are using the highlighting method, you check if you did your highlight or not, reflect if you could have done it better or if you have failed why did you fail. For me reflection has given me a great insight on how to improve my workflow, by tweaking the pomodoro timer and setting better daily hihglights.

Give it time and use the notes to track and tweak your approach. These steps are just ones that helped me by informing and gathering information over the years. I would encourage anyone to try and find their “best” way of being productive. Find what keeps you going.