Off with the Digital Distractions!
As a programmer, it's important to have long uninterrupted stretches of time to focus on complex tasks. When working on a difficult task, I often have a lot of "context" in my head, kind of a house of cards. An interruption will cause the cards to come tumbling down. It can take 20 minutes or more to get back in the zone after an interruption, which is a serious hit to productivity, especially considering the source of potential distractions has exploded in recent years. Ever since the ubiquity of smart phones and social media, these digital interruptions have become a normal part of everyone's day. In this post, I'll share a few things you can do to minimize these, and get your focus back.
1. Phone: Notifications
Go to your phone's Notification Settings, go over each app, and unless it's something critical, turn off all Banner, Sound, and Badge notifications. If there's an option to display the Banner on the lock screen, disable that. Otherwise even if your phone is locked, the notification will tempt you to open it. I find the Badge notifications (that orange circled number overlaid on app icons) especially devious, there's something so compelling about seeing, for example a number 3 on the Twitter app icon and wanting to know who's engaged with you. I cannot stress this strongly enough, unless it's part of your job to engage with social media, turn off all social media notifications. And of course, any Sound emanating from your phone will make whatever else you're working on seem less important than responding to the phone.
I'm not including screenshots of how to do this as the details will vary depending on the phone. To find the steps for your phone, use your favorite search engine to search for example
iPhone 11 disable notifications or
Samsung Galaxy Note 20 disable notifications.
Depending on your situation, you may need to leave some of these on, for example, Phone and SMS in case a family member needs to reach you at work if it's an emergency, see next section for how to optimize this.
Of course, if you're on call and your team uses Pager Duty, you'll have to leave those notifications on.
2. Phone: Custom Contacts Tones
For myself, the only two apps for which notifications are enabled are Phone and SMS, but even this can be limited. For each contact that is important to me such as family and close friends (i.e. will accept an interruption while at work), I set a custom unique SMS and Ringtone sound per contact. This way if the phone does make a sound, I can distinguish if it's someone in my circle and should answer. All others can wait until my next break. The details for how to do this will vary by phone and version, query your favorite search engine for example
iPhone 11 contact ringtone or
Samsung Galaxy Note 20 contact sms tone. At first, you may forget who you set to which tone, but over time, you'll start to associate the tones with the most important people in your life.
3. Phone: Block Unknown Callers
This feature is a relatively new arrival to iPhone, and has been around for a long time on Android. Once enabled, only phone calls from people in your contacts will be allowed through. Calls from people not in your contacts will go straight to voicemail. You will be notified about the missed caller. This is a great way to filter out all those annoying spammy calls like those duct cleaning people, and the "you owe money on your taxes" scams.
One downside to this is if you're expecting a delivery, when they call to notify that they're on the way, you'll miss the call. So far the only way I've found around this is to remember to disable the block around the hours when delivery is expected. For some people this may be a one-off event (eg: a furniture delivery) and not a big deal, but if you regularly expect deliveries (eg: groceries), it can be annoying. Since I always enter expected deliveries in my calendar, what would be great is if the phone could scan the calendar for a keyword such as "delivery", then temporarily lift the block during the hours indicated in the calendar entry. If any phone manufacturer is reading this, please consider this feature request.
4. Phone: Do not Disturb Mode
An alternative to turning off notifications per app is to set your phone on Do Not Disturb mode during specific hours when you really need to focus. If your focus hours are the same each day, this mode can also be scheduled so that you don't need to remember to turn it on and off each day. However, this will block everything, including Phone and SMS which may or may not work for you. One way around this is to designate some of your contacts as Emergency, or to set them as exceptions to the Do Not Disturb mode. This way if someone in your exception list needs to contact you, they'll get through. One small bug I found with this on my older iPhone model, is that it will make the exception contacts come through via Sound ringtone, even when I've got the phone set to buzz. This can make a lot of people mad at you at the movie theatre, so buyer beware with this option!
5. Phone: Airplane Mode
This is the nuclear option - block absolutely everything, no exceptions. This could be an ok option for those who really struggle to focus and no one needs to reach them for any emergencies. I'm not aware if this mode can be scheduled so you'd have to remember to turn it back on when you're no longer incommunicado. Personally, I find this a little too heavy handed, and would constantly forget to disable it.
6. Laptop: Slack
Digital disruptions are not limited to the phone, your work laptop can also be a source of these. The biggest culprit here is Slack (or Teams if you're a Microsoft shop). By default, you'll get a banner and sound notification for every message posted on every channel you're part of, in addition to DMs. The first thing I do when configuring a new work laptop, is to disable ALL sounds from Slack, and disable all notifications except for DMs. I'll also mute less critical channels like social/news/classified etc, and just check them periodically, for example on a lunch break.
7. Laptop: Email
Whether you use Outlook or Gmail or any other email client, go to the notification settings and turn off all alerts. Outlook and Gmail for example, will both show desktop notifications that will fade or slide in from top or bottom right corner of the screen - turn this off. Most email these days is from bots (Jira notifications, newsletters, etc.) and not critical. My theory is if someone at work needs to reach me urgently, they'll DM me on Slack, so no reason to have email notifications on. I usually check my email first thing when I logon in the morning, and then again around a lunch break. This way it doesn't cause any context switches.
If you've been losing productivity due to digital distractions, I hope trying some of these tips will help you. Just one final word of caution - before doing any of these, especially the work related apps, check with your manager on expectations around communication. For example, if you receive an email, are you expected to reply within an hour? The next day? How about a Slack message in a team channel? In my opinion, the ideal is a company that values asynchronous communication but from my experience, this has been the exception rather than the rule.