(Productivity for Programmers) => f(energy_levels, interruptions, focus)

(Productivity for Programmers) => f(energy_levels, interruptions, focus)

Simple and Quick tips that work !

I consider myself(now) productive at work. Maybe not in my side projects as i continue procrastinating my start-up ideas. But i think i have learnt three main things that we can focus as developers to be productive and not stress ourselves out because of we have no time(at work) or we cannot accomplish our tasks.

image.png

Tip #1: Find out your energy levels during the day !

Let's say we have two co-workers X and Y. And you notice that X is always arrive tired to the first meeting and report his tasks with apathy. And in the other hand Y is super energized in the morning. He even goes to the gym 6am. And report her tasks with enthusiasm.

So you as an observer will think that X is not a team player or does not like the meetings. And Y is super star and always ready.

But despite these simple observations both of them deliver their tasks on time. So one day you stay late at work and notice that X is there and with headphones on and working all his tickets with even a smile on his face !. And Y is just leaving the office as she cannot focus any longer in job related stuff and is going to the cinema.

Thus this scenario is an over-simplification of something i'm sure has a scientific explanation and several papers about it.

So lets put this scenario in a graph:

image.png

I think point is clear now. So what is the tip ?

If you are a team member:

Know when you feel your energy levels are up or down. So you can plan your day accordingly. For example: the tasks that you need to focus and do lot of thinking/coding just schedule them in a slot where your energy leves are up. And in the other side; tasks that do not require focus or big intellectual effort when you have low energy levels.

if you are a team lead:

Analyze each member of your team and know his/her energy levels so you can know in advance when to schedule meetings. And more importantly: give freedom/space to early birds and night owls.

Tip #2: Everybody hate Interruptions !

I think this tip can be explained quickly with a meme:

image.png

Programming is mainly a creative task. But of course there is the hollywood myth that programmers are typing all day in some black console with green font.

When in reality we are just sit thinking and staring to the void almost all day. Therefore if we need this kind of concentration. Imagine being interrupted all the time ? or when you want to start/continue/finish your feature or task. It would be impossible. Multitasking is a myth but i wont talk about it in this post(or other i think ;) )

So what is the tip ?

General tips:

  • Block in your calendar focus time. This is a must if you want to avoid interruptions. So let's say you can separate 4 hours on monday 10-12pm and 4-6pm. In these blocks of time you will only focus in the task that you want to finish and nothing else.

  • Pause notifications for a period of time. For example in slack:

image.png

  • Put your phone in "do not disturb mode" or in the Iphone you can use "focus Mode".

If you are a team member:

Respect other people's time.

if you are a team lead:

Respect other people's time.

Tip #3: Focus on what matters to you and the company(yours or someone else) !

Let's say you followed tips #1 and #2. You have block your calendar and your energy levels are up !. So what task should i start ?

There is a book called "The effective Engineer"(you should read it if you like this post) that defines a formula for leverage:

image.png

Using this formula is key to know what tasks you should focus.

So lets say:

Invest a lot of time in a task that will have little or no impact => Low ROI

Invest a lot of time in a task that will have great impact => ROI

Invest little time in a task that will have great impact => High ROI

Basically the tip is invest your valuable time in tasks that will generate an impact not only for the company but also for your reputation and visibility.

And that's it ! I hope it helps to someone who is having trouble being productive at work when doing software !

--LGTM

References:

amazon.com/Effective-Engineer-Engineering-D..