Create distraction “speed bumps” to stay focussed

October 14th, 2021

Have you ever found yourself working away, getting lots done, and then something breaks your concentration and you find yourself doing something non-productive instead of re-focusing?

This has happened to me a lot! I found myself opening Twitter, almost on autopilot, and losing half an hour to doom scrolling before being able to get back to what I was doing.

I’ve made some simple changes to make it harder to accidentally switch focus and help me stay on target and I’d like to share them.

Why does your mind wander?

I made a point of keeping track of when I got distracted for a while to try and spot patterns. I noticed a few that keep coming up:

While doing some research for this post I came across this paper - Why does the mind wander?

When the agent’s current goal is deemed insufficiently rewarding, the cognitive control system initiates a search for a new, more rewarding goal. This search is the process of unintentional mind wandering.

When my brain does this I’d like it to wander towards something to do with my goals instead of scrolling some sort of chat or social feed.

As a developer you’ll work better if you stay focused

If you’re working on a large app then keeping everything you need in your head to make changes requires full attention. We all know how annoying it is when you’re interrupted in the middle of something by a boss or co-worker. It’s annoying when they do it to you, it should be doubly annoying when you do it to yourself!

If you’re working on a new app there are a lot of decisions to make. The requirements are usually vague or likely to change so it can be hard to be confident that you’re making the right choices. When trying to find something that will make one path a clear winner you can find yourself distracted without some speed bumps to give you time to slow down and make sure you stay focused.

If you can stay organised you can stay focused on your immediate goals, get them done, then open up Twitter, Instagram, Discord etc. and relax and enjoy them without feeling you should be doing something else. Relaxation when you’ve had a good day is as important as having the good day in the first place.

It would be great if you could just turn the internet off but we all need access to documentation, package managers, etc. to get our work done so that’s not a real option for most developers. There are apps and plugins for blocking sites but rather than have yet another app to install there are things you can do to make it easier to turn back before you go down the rabbit hole.

Some speed bump ideas

Delete apps from your phone

Not having a bunch of distracting apps on your phone all the time means you can’t pick up your phone and open one on autopilot. If you want to use a particular app then install it and delete it afterwards.

This has worked great for Instagram for me. On the pretty bad cafe wifi in the cafe I’m in now it took 40s from unlocking my phone to installing and opening Instagram. (Then five minutes to stop scrolling, dammit!). Ask yourself if there is really any time in your life where not being able to look at Instagram in under a minute will make a difference?

Log out of everything distracting on your computer

Before doing all this Twitter was just a case of typing tw into the browser and autocompleting. I use Alfred so this was only a few key strokes away. By staying logged in I would be seeing tweets before I’d thought about what I was doing.

So I setup 2FA and logged out of Twitter. This means I need to go through five screens before logging in. The home page, the choose how to login page, the username page, the password page, and finally the 2FA page. This gives me plenty of opportunity to catch myself before I lose focus. When I do have a reason to go to Twitter it doesn’t take long to get in.

Write down what you’re planning to do for the day in the morning

I’ve found this helps because you can ask yourself if what you’re doing is something you decided is important or if you’ve gone off on a tangent.

Install a feed blocker in your browser

If you have to go to Twitter or Facebook then blocking the main feed is another tactic to help stay on target. I use News Feed Eradicator for Firefox and Chrome. I haven’t found similar for Safari yet so I normally use Firefox for any potentially distracting sites. The plugin allows you to unblock the feed for a specific amount of time so you can get there when you need to.

Get your tech news from newsletters rather than the firehose

I subscribe some curated tech newsletters like Ruby Weekly and Last week in AWS. This means I don’t have to go looking to find important news in the areas I’m interested in.

I have mail rules that put these in their own folder and I read that once a week. I’ve got pretty good at staying out of that folder until I want to. Some email providers have a “snooze” option in their rules that can be handy here too. For example Fastmail lets me setup rules to snooze mail delivery until the evening or the weekend. This is great for daily emails I don’t want to delete but don’t need to know about till I’m ready for them.

This is a simple version of Luca Rossi’s How to read online that I’ve built up over the years that works for me but you could start there if you’re just setting something like this up.

Keep notes on what was happening just before you got distracted

When you do find yourself opening a distracting site on autopilot make a note on what you were doing just before. Then get back to that with a renewed focus!

Do this for a while and see if there are any patterns. You can figure out how to break the patterns and address the root causes of wanting to switch.

But what about FOMO?

One piece of internal resistance I had when I started thinking about setting up systems like these was that I’d miss out on something. Having worked this way for a while now I can safely say that it hasn’t been a problem for me in practise.

Two things helped me here. One was realising that it’s impossible to keep up with the amount of content that’s published to the internet every day. No matter what you do you’re always “missing out” on something so there’s no point worrying about it.

Another thing was experimenting as I set these systems up. Log out of Twitter for a day and then go and read everything you “missed”. Was anything that important that not reading it the next day matters? Next try a week etc. I think you’ll find, like me, that nothing turns out to that critical. If aliens invade the earth, you’ll hear without being surgically attached to the firehose all the time.

Final thoughts

By making it harder to switch to a non productive activity you make it easier to stay focused on what it is you want to achieve. This means you’re more likely to get it finished and have more time to spend on other goals or just relaxing with the nice feeling of having got a lot of stuff done.