Reducing distractions
Published on November 15, 2022.
What is the difference between good and great? A recent episode of the Modern Wisdom podcast posited that in studying human capabilities, the most interesting questions are not asking "what is the difference between bad and good?", but instead asking "what is the difference between good and great?". I'm increasingly convinced that a major component of the answer to this question when it comes to software engineering, and really any knowledge work, is the ability to reduce distractions and work with more focus, more intention, and less distraction. I'm inspired by authors and academics like Cal Newport who simultaneously manages to be a prolific academic, author, blogger, and podcaster, all while working a typical 40 hour week and making time for his family and outside interests.
How can we, as software engineers, use our time more effectively, becoming more productive? How can we increase our rate of learning and our output without working 80 hours a week?
Deep Work
One of the best ways to find time to focus on hard problems is to create scheduled, intentional Deep Work sessions. Deep Work is a term coined by Cal Newport, the author of a book of the same name. Deep Work can be defined as the ability to focus without distraction on a cognitively demanding task. These activities performed in a state of distraction-free concentration push your cognitive capabilities to their limit - allowing you to improve your skills and create immense value.
Simply put, Deep Work means working with intentional focus on one thing at a time, cutting out all other distractions to allow for deeper, uninterrupted, and more productive work. It means specifying periods in which you will not check Slack, open your email, absent mindedly check your WhatsApp messages, watch YouTube videos through one eye, or have a quick scroll through Reddit when you get bored. Deep Work, at a time when there have never been more distactions pulling us away from pushing at the boundaries of our abilities, can truly unlock vast potential for us when applied consistently and intentionally.
One objection I hear to this is that software engineering is a team activity and being responsive to colleagues is a crucial part of the job. While this is absolutely true, it is only a half truth. The full truth is that being a productive software engineer is finding a balance between your own individual contributions and coordination at the team level so that everyone at the individual and team level can contribute effectively towards the project. We often have no problem finding time for team level coordination — does anyone complain about having too few meetings? — but we do have a problem finding time for our own individual deep focus time. The solution to this is to find a balance, communicated to others, which allows us to split our time between individual focus time, and periods of more responsiveness to others.
Practically, this means setting periods of focus time in a public calendar where it is clear that you are engaged in focused work and will not be responsive to emails or Slack. In this way colleagues know that you will be unresponsive in this period, but still get an indication of when you will be free outside of these blocks. I tend to block solid 2-3 hour periods daily in my calendar, usually in the afternoon. This means that I will be able to perform collaborative work with colleagues in the morning, and then again before clocking off for the day, but in the middle I will have a solid chunk of uninterrupted time to commit to Deep Work.
Some simple tips for successful Deep Work sessions:
- Schedule in your calendar - plan your days and schedule it in advance, communicating to those you work closely with.
- Respect it. If it's in your calendar, don't move it without a good reason, and don't find easy excuses to avoid your focus time sessions.
- Take breaks! Use the Pomodoro technique to allow your mind to reset over longer periods. 25 minutes focus and 5 minute rest is a good start, but I've found it pretty easy to work up to 55 minutes focus, and 5 minutes rest.
- Set yourself tasks for your focus time. Don't enter focus time periods blindly, but set yourself goals to achieve over the course of your focus periods.
Close Slack, Email and other distractions during your focus blocks
Slack and email can be an enormous source of distraction if you allow them to be. Every context switch to check your email, response to a Slack message, quick check of your notifications causes you to lose focus on the primary object of your focus, and be forced to spend significant time regaining your focus. The solution to this is to simply turn off these sources of distraction entirely during periods of deep focus and not check them at all. When I say turn off Slack, I don't mean minimise it and leave notifications on. I don't mean turn notifications on, but leave it open in your Dock. I mean quit it entirely and don't have it open at all. Notifications are self-evidently distracting, and even having the application visibly open in your Dock can cause conscious or subconscious distraction.
Turn your phone off and keep it out of sight
Similarly to quitting Slack and email, I recommend putting your phone away during the working day. Having your phone near is a constant source of at least subconscious distraction. Turning your phone off and putting it away (in another room ideally) is a great way to remove it as even a potential source of distraction.
One caveat here - I do not have any likely obligations like children or other family obligations which might require me to always be responsive to my phone in the case of an emergency. In those cases, there are many options for minimising your phone as a source of distraction while remaining responsive to your obligations - for example using Freedom (see below) to allow only for very specific uses of your phone during certain periods.
Engineer your digital environment for focus
Much of a phone's UI is designed to keep you active and engaged with it. Notifications jump out at us pinging, buzzing, and flashing at us constantly. I'm amazed to still see so many people leave notifications on their phone or smart watch completely unfiltered, allowing anyone and any app developer to grab attention from their life at any point in time. The way to combat this is to engineer your digital environment and take back control of your attention by not allowing app developers to engineer it for you. There are a number of ways to achieve this:
- Turn off all notifications. Yes, all of them.
- Put your phone on silent or vibrate.
- Turn off notification numbers on your apps. These little red numbers next to your apps are purely there to try to get you to open the app rather than serve you as a useful feature.
- Use something like the Minimalist Phone app which hijacks your home screen and turns it into a minimalist launcher to help you use your phone in a more mindful way. Out: flashy app icons, notifications jumping out at you from everywhere, and a homescreen designed for distraction. In: a simple, functional, and even boring interface designed for you to engage with it far more intentionally.
Freedom app
Freedom is an app which allows you to schedule periods in which selected apps and websites are completely blocked from your chosen devices. iOS / Android etc having jumped on the 'time well spent' movement have implemented tools like this native to the OS, but they are so easy to bypass as to make them almost completely worthless. Freedom is very difficult if not impossible to circumvent to escape a session, making it really effective as a focus tool. I use it to block social media apps, YouTube, Reddit, news sites and more almost the entire day, leaving myself a small, timeboxed window in which to check in on these sites. It's remarkably effective in not letting you escape down some of the more addictive online rabbit holes during the day.
Use a device lock box
A slightly more extreme method of removing your phone as a source of distraction is using a device like the KSafe. These boxes allow you to lock away your device for a specified period of time, not allowing you to access it without breaking the (fairly expensive) lid. These devices are a great way to pre commit to specifically timed periods of focus. It's proven to be really useful for me to be able to lock my phone away and set a timer for a couple of hours, with the express intention of focusing on a technical design or some particular feature requiring deep focus, and pre commit to this work without the potential of my phone distracting me over the scheduled time.
Music
Music can be a really good way to get into a flow state and focus without distraction for an extended period of time. In terms of what kind of music is useful for focus, much will be personal preference, but I have found that any music with lyrics and any music I am too familiar with will prove to be more distracting than useful as a focus aid. For this reason, I really like various Lo-Fi and other instrumental playlists and artists. Here are a few of my favourites: