The cost of a shouldertap
I’ve more than doubled my productivity recently, without giving anything up.
I’m working a few projects at the moment, both at work and at home. I’ll keep hush on the many work things. At home I’m working on a small game, using bevy in the rust language. I’m trying to write some here. There is also fitness, music practice and house projects. However the most important thing in my life is supporting and spending time with my heavily pregnant partner. She will be bringing our beautiful daughter into the world.
I thoroughly enjoy having a lot of things going on, but time management and focus are becoming very important for me.
Struggling with too many distractions is a new problem for me, and that’s the reason for this post. When working in an office there is a widely understood rule that a shoulder tap is costly to a developers focus, so if you do you better have a good reason for not scheduling a meeting. People know that a shoulder tap has a tangible cost. Multiply that cost if that developer has headphones on and their fingers are flying at light speed with vim open.
I can’t count the amount of times I’ve walked halfway to someones desk, only to hesitate, and then walk back to solve the problem on my own. Yet I’ve found working from home is that this cost is completley hidden.
But! What I’ve also realised is that I can fully control all shoulder taps that come to me in electronic form. I’ve easily doubled my productivity after realising this.
The first thing I did was figure out what I wanted to let distract me at any time. That’s only 2 things. When a website is down, and when my partner contacts me. So I amped up those notification settings. Every single message/event, I want to know.
The next thing I did was mute everything else. All other slack: no alerts. All email: no alerts. I’ve gotten rid of all push-based shoulder taps. I choose when I get shoulder tapped. Okay except for phone calls. Though I have my number on a do-not-call list for marketers.
The other important piece is planning my time. I start every day by setting goals for the day, roughly allocating time for each goal, checking if its all achievable, and strategically inserting blocks in between goals for communication, walks, eating. Tricking my gorilla brain essentially. Me finish task, me banana.
The results of this have been incredible. I finish the things I start much more often. I write code for longer periods. And I’m more reachable, not less!
The time I devote to checking my various channels is much more relaxing because there is no opportunity cost. And I often have extra time to be more proactive with communicating with other people. Reaching out, giving updates, setting up catchups.
Everyone struggles with asynchronous/multithreading development. Why try to emulate it with your own brain.