Tips for effective work as a software developer

During a software developer’s daily work, we unconsciously develop habbits that can be productive or disruptive. The pack of our habbits results in how effective during the day we are. To become better at things we do, it is worth to take a look which of our daily routines are valuable and which can be replaced by better ones. Here are tips that work for me:

1. Stop starting, start finishing
Those well-known from Agile culture words seems to be obvious, but in practice I really often figure out that I try to do too much things at the same time. It’s good to remember that the task that is done even in 99% is still not done. Those words also seems to be an opposite to popular saying: „Starting is the hardest part”. I would say starting is rather easy, but finishing a task with confidence that you don’t have to think about it anymore – this is the thoughest part.

2. Avoid multitasking
Multitasking in software developer’s work is in fact constant task swtiching. Changing context from one task to another is not free of costs, especially with complex tasks. We need to spend some time to recall all the details and place in code where we ended our work. According to American Psychological Association: „(…) even brief mental blocks created by shifting between tasks can cost as much as 40 percent of someone’s productive time”. On the other side, sometimes we cannot do much about being stuck in the middle of the task – we wait for some information from others, it’s time to go home or there are other blockers. To minimialize time needed to get back into task’s context, I try to:

a) Leave the task in state where all parts of this particular task are done. For example, when you are working on some website form with 5 input fields, leave the task with 2 fully working input fields and 3 untouched.
b) Leave some comments that will point you what you should remember when you get back to this work, so you will find what should be done at the very begining.
c) Leave tasks with just one not passing unit test. When you will get back to it, you will immediately know on which part you should focus and what needs to be done.

3. Learn to say no
According to two previous points, it is crucial to not work on too many tasks simultaneously and focus on accomplishing current work. But in real live we are facing situations where somebody (usually our manager or superior) is asking us to do unexpected task and to interrupt our work. According to Michał Bartyzel, you can answer like this:

I understand that is important for you. Currently I’m working on and than I plan to do . Which one should I postpone / resign to do your task?

When it comes to deciding what work will not be done, people usually think twice before they change your tasks’ order or find out that their task is not so important.

4. Task of the day
There are days when there is so much happening in the work that you end the day with feeling that nothing is done. To fight against it, everyday before leaving your office assign to yourself one, the most important task for the next day. Do your best to focus on it on next day, no matter what will be happening. You will end next day with feeling that at least this one thing was done.

5. Tame disruptors
E-mails, phone calls, mettings, callegaues, your boss – all of those can disrupt you and take away your deep focus state. Every work environment is different but it is worth to consider how to avoid disruption. Do you really need to take a look immediately at recieved e-mail or you can wait with it until you end your current part of a work? Maybe you can mute your phone and call back during some brake? If someone is disrupting you when you are fully focus on your work, maybe just ask to talk with him later – until your task will be done?

6. Take a look on your habbits and constantly improve
Improving effectivness is constant process and you need to think what habits make you not so effecient as you would like to be and think what you can do with it. It sounds trivially, but you will see that as soon as you start thinking about it, you will notice how small improvements will affect your daily work.

Reference:
1. Bartyzel, Michał. Getting Things Programmed. Droga do efektywności.
2. Duhigg, Charles. The Power of Habit: Why We Do What We Do in Life and Business.
3. Multitasking: Switching costs. Link: http://www.apa.org/research/action/multitask.aspx