unit and acceptance testing, automation, productivity

The Indistractable Developer

Have you ever gotten to the end of a workday exhausted but at the same time feeling like you didn't accomplish anything? You went through a lot of tasks, had a lot of conversations, yet there's little to show for. Where did all that time go? Frustrating, isn't it?

The thing is, feeling like you haven't gotten anything meaningful done is not just frustrating; it could also be dangerous for your career.

More and more tech companies clearly state that they measure their employees' performance based on the impact they have on the business. The Netflix culture memo has a section on impact: "You accomplish amazing amounts of important work. You demonstrate consistently strong performance so colleagues can rely upon you." "It's not a ladder like it is at the banks –instead, you're measured by what you've done, by taking on a larger scope, and by the real impact of your daily work," says the Facebook careers page.

Impact is directly proportional to your value with your employer and in the market. Many external factors affect the impact, such as being in a good team, a manager that "gets you," a personal life that doesn't get in the way of work. There is something entirely within our control, though, and that is the quality of our work.

The quality of our work is directly proportional to our impact. Therefore, the quality of our work is directly proportional to our value in the market.

Even if the project you are working on seems like a lost cause, you won't regret delivering to the best of your ability. You may actually increase its chances to succeed and show your team what you can do. It's still a learning opportunity. If none of that applies, at least you'll get it done faster and move on sooner.

How can we raise the quality bar of our work? In his book Deep Work, Cal Newport proposes this law of productivity:

High-Quality Work Produced = (Time Spent) x (Intensity of Focus)

To produce quality work, you need to spend time working in a state of intense focus. "Programmers need long uninterrupted periods of focus time," goes the adage.

One way to increase both the time you spend focused and its intensity is to follow the model proposed by Nir Eyal in his book Indistractable.


To be Indistractable means to be able to do what you set out to do while avoiding those things that pull you away from your goals.

Visual representation of the Indistractable model by Nir Eyal

Image sourced from this post by the author.

"Traction" are those activities that move you forward towards your objective, while distractions are those that pull you away.

The arrows in the model show how both external and internal triggers, which we'll talk about shortly, affect both distraction and traction. To maximize traction, one needs to channel as much energy as possible in the arrows that go towards it. To spend long uninterrupted time producing quality work, we need to tame both internal and external triggers so that they help with focus, not distraction.

Let's look at the four areas of the model individually, starting from the more practical ones.

Make Time for Traction

If you want to prioritize something in life, you'll have to be intentional. You'll need to make time for it. When it comes to making time for focus, your calendar is your best friend.

Eyal suggests to timebox your schedule. That is, meticulously allocate time in your calendar for all the tasks in your day, then do your best to stick to your plan.

"Keeping a timeboxed schedule is the only way to know if you are distracted; if you're not spending your time doing what you'd planned, you're off-track."

At the start of the day, or even better at the end of the previous one, look ahead and plan how you'll spend your time. Ideally, your schedule should reflect your priorities. If you want to make progress on your coding tasks, there should be a big block of time dedicated to them. But don't stop at just scheduling your work time, schedule your distractions as well.

I've found having predefined times in my calendar where to be distracted to be an excellent cure for FOMO. For example, checking the Slacks of the communities I'm part of once a day is often enough to be on top of what's happening there. The same goes for texts and emails.

Being a bit slower in responding to texts will make little difference in your social life, but it will make a huge difference in the quality and length of your focus time. To be safe, you can always let the important people in your life know that if they need to reach you urgently, they should call, not text.

Laura Vanderkam wrote extensively about the power of scheduling in her books 168 Hours: You Have More Time Than You Think and I Know How She Does It. Check them out if you want to learn how to build a successful schedule and how to start tracking your time to understand how to make the most of it.

Finally, you should schedule time in your calendar to review how you schedule time in your calendar. This meta task is a way to verify that you have been consistent with your priorities and to discover the sources of distraction that pulled you away from focus.

Hack Back External Triggers

External triggers are those interruptions coming from the outside world. The colleague tapping on your shoulder, the push notification on your phone, the new message in the group chat.

It might seem like we don't have any control over those interruptions, but, to a degree, we do.

Here are a few ways to fight off external distractions that software developers often face:

  • You can avoid colleagues interrupting your work in the office by implementing the headphones rule, or, even better, by working from home or a library if your workplace allows it when you need to be Indistractable.
  • You can avoid notifications distracting you on your phone and computer by enabling Do Not Disturb. The cool thing about Do Not Disturb is that you can configure it to let apps with notifications you cannot afford to miss go through.
  • Put your phone where you cannot see it.
  • Install a browser extension to block social media and other distracting sites you open on auto-pilot.
  • Constantly work to keep your builds, tests, and other feedback loops as fast as possible, so that you won't be tempted to do something else while they run.

Master Internal Triggers

Whereas external triggers are those distractions coming from the outside world, internal triggers are those coming from within ourselves.

In the book, Eyal explores how evolution has built into us the need for distraction. "Our tendencies towards boredom, negativity bias, rumination, and hedonic adaptation conspire to make sure we're never satisfied for long." It's this constant dissatisfaction that is responsible for our advancement as a species. It is a powerful mechanism, but one that can backfire, preventing us from getting anything done.

The best way to master distraction is simply to accept that it's a normal behavior of our brain, then learn to deal with it from within.

I often procrastinate or get distracted when I have to do some tasks that I don't like, say pruning the Jira backlog. Needless to say, neither procrastinating nor getting distracted helps to get rid of the annoying task sooner. Eyal's practical suggestion to stay focused and tackle this annoying work is to reimagine the task.

While pruning the Jira backlog might not be the most interesting work for me, there are ways to make it a bit more so. For example, I can challenge myself to do so only using keyboard shortcuts. Or, I could timebox it for 30 minutes and see how many tickets I can go through.

If nothing seems to work to spark your interest, you can always use it as a training exercise in focus. Fighting back distractions while working on that annoying task is like a training session for your focus muscles.

Prevent Distractions with Pacts

As we've seen, being focused and Indistractable is as much a matter of keeping distractions out as it is of reigning ourselves in. The final strategy Eyal proposes is to make pacts with our future selves to fight off distractions. A pact is a precommitment we make against distraction and serves at keeping us in check.

If you still find it hard to focus on your work after implementing the previous areas of the Indistractable model, you should consider putting some pacts in place to help you.

You could, for example, implement an effort pact and make unwanted behavior more difficult to do. Make a deal with a coworker to work focused next to each other; the first one to get distracted pays lunch. If the browser extension you set up to avoid going on social media is not enough to stop you, then ask a friend to change your password and give it back to you only when the weekend comes. The added social pressure will make it harder to fall into unwanted behaviors.

In my opinion, pacts are the least concrete of the strategies. You should resolve to pacts only as a last resort. The previous three steps are much better at creating habits and an environment conducive to long term quality focus.


The problem with productivity and self-help books is that they are like diet books. A new one is published every week. Most of them provide solid advice, although sometimes it's borderline common sense –of course, you shouldn't eat a tub of ice cream a day if you want to lose weight; of course, you shouldn't check your phone every 5 minutes if you're trying to write some complicated piece of code. A productivity framework (or a diet) is only as effective as our ability to implement them.

This post contains lots of advice, definitely too much to take on in one go, and Eyal's book even more so. If you want to get started, I'd recommend you pick only one thing out of here and try it out over the next week. Just one thing. If you're successful, pick another one on top of it for the week after. If you're not successful, don't beat yourself up. Either try again or pick a different one.

Doing something, no matter how little, is better than not doing anything at all. If you agree with me that the quality of the work you produce is directly proportional to your value in the market, then any little improvement will pay off. Even more so, if you manage to stack little improvement after little improvement.

Grab yourself a copy of Indistractable to learn more about the nuances of the framework. And if you want to learn more about the value of focus and how to maintain it, Deep Work is the go-to resource.

I'd love to hear about the tactics you use to avoid distractions. Happy focused work.

Want more of these posts?

Subscribe to receive new posts in your inbox.