People see me as an efficient and productive developer, but as many people I am very easily distracted and this productivity is only the visible outcome of an internal war that has been spaning several decacades.
If you also find yourself struggling with guilt of not getting things done fast enough, I hope some of this may help you in your fight.
Sleep well
Super cheesy I know. So much to do, not enough time in the day, right? What years of sleep deprivation taught me is that “nothing good ever got done after 22:00”.
Go to sleep on a decent time, (I didn’t say early, because I’m unable to go to sleep early myself) and treat you a good 7-8h of sleep per day. Do it for a few days, and witness yourself getting super powers:
- you will remember what you read more vividly (e.g. while reading documentation)
- your ideas will flow faster and clearer
- your attention to details will rise up (e.g. preventing typos)
Get a few sleep-less days, and you’ll get back in the constant haze of brain numbness, not remembering what you were doing 10 minutes ago, staring at your screen blankly, your idea well dry as hell.
Procrastination as a red flag
Society likes to point fingers at slackers and procrastinators, while it seems two very different beasts to me.
Over the years, I identified a few activities as things I would always postpone:
- social activities such as making business phone calls
- paperwork
- writing documentation
- providing negative feedback to people
Anything else I would gladly do, but I couldn’t be bothered to do any item on my todo list, and no amount of reminders was motivating me.
Then I realized they all shared some similarities:
- they were mandatory
- they made me uncomfortable
Mandatory, obviously, otherwise I would have just scratched them off from my todo and it would have been the end of the story.
But uncomfortable? I’m a serious introvert, so people-related activities take me a lot of energy to deal with, and often leave me exhausted. I also suffer from dyscalculia, and this has made my life complicated at many levels, including accounting and invoicing, and all paperwork that includes numbers in general. Finally, writing documentation using frameworks like sphinx involves a lot of time-consuming setup and were not fun at all.
How to deal with these then? Well, I have to do achieve the goals, but maybe the means are wrong:
- phone calls and hard discussions have to be made, but I don’t have to do them all in a row. I need to recover some of my “people” energy in between calls, and stop when my energy is low
- I hired an assistant to do my paperwork for me
- I moved from full-fledged documentation to just writing a README in Markdown, for which I see immediate results without having to re-compile the project and deal with ToC warnings
When the guilt is gone, only remain pain points that you need to address so you can move on being efficient again. Procrastination was just the red flag to show you something was off.
Remove distractions
I was raised doing my homework next to the TV, then moved on to listening to songs while studying, and my memorisation skills were terrible back then. I would remember everything from class, but couldn’t work straight back home. Then one day I decided I needed extra focus on something, dropped the headphones and remained in total silence while working. I was able to get in the zone, and focus for longer stretches, with less mistakes, and less daydreaming.
Since then, whenever I’m doing something that requires just a bit of concentration, I just remain in total silence, and it makes all the difference from even music droning in the background, etc.
I also disabled all notifications on my computer and my phone, because I figured out they would properly screw up my focus and get me out of the zone constantly. My phone only now rings for actual phone calls, but otherwise I can forget about the rest of the world for as long as I want while I’m working, and whatever I’m doing has my complete attention for as long as needed.
Make sure you also inform your family, room mates, etc. that you need concentration, since they might be used to bug you all the time and not understand (or not take it seriously) any restriction you could put in place. Remind them that when you’re at work, you’re not in a good setting for being social.
Practice your will
I think that’s where most people give up. When you find yourself being distracted, it’s important to regain control of yourself and push through it. Don’t guilt-trip yourself to “do your job”, but encourage yourself “ok, I just need to re-focus for the next 2 minutes to get back in the zone”. Before you figure it out, you’re focused again.
Start from the cheese
One tip that I often give to aspiring developers, is to start from the end goal and reconstruct your way to there. Instead of starting from the problem definition, start from the expected outcome, and walk backward, asking yourself, ok, to get to step Z, I will need output of Y, then Y need output from X, and X needs output from V and W, … all the way to A, the problem definition.
This is very easy to put in place when you do TDD, you just describe your desired output as your assertions, then walk backwards to your original inputs.
Fine your productive times of the day
We all have our routine, but also tiles during the day when our energy is more suited to different activities. For me:
- Morning is for meetings, reports, simple code reviews, emails
- Lunch break is for lunch, keeping up with news, watching shows on Netflix
- Afternoon is for uninterrupted work, creative activities or complex code reviews
- Dinner is for family time
- Evening is for learning, playing with new technology, or just playing games
It’s because I’m usually waking up late, so morning flies by, and I’m not fully awake before lunch. Afternoon can stretch until early night if I need to get something out of my system,and I know I can’t sleep well if I’m not done with my ideas, this is why I’m putting learning at the end of the day.
This is my routine because this is how I live and feel good. You need to figure out when you have the best energy for each activity in your routine and even if it’s unusual, go for it.
All work and no play …
As you may have understood, work takes up a large part of my day, often overflowing over the weekend. At some point, even enjoyable activities get me cranky for no reason, and I contemplate switching careers.
Obviously in these days, my productivity is a flat zero.
Know yourself
At the end of the day, these are just personal reflections from many years of living and working with attention deficit. I’m not a doctor, I didn’t read anything about the topic, I’m just describing how I work around this myself, and how I managed to both use my hyper-focus as a booster, and reduce the amount of distractions through the day. I hope this may help anyone in the same situation, in any case you are not alone