Implementing Deep Work strategies as a Software Engineer

24 Jun 2023

“To succeed, produce the absolute best stuff you are capable of producing.”

Recently, I read the book Deep Work, which I found very helpful. As a software engineer, my work consists of a fair amount of communication with my team, but in my day, I also need time to focus on the job assigned to me. From day one, one of the major problems I have been facing is finding time to do good quality work. These are some techniques I learned from Deep Work that has helped me to be most productive.

Structure your day

It is essential to have a structure to your day. Notifications, be they Slack or email, are distracting. Every day in the morning, when I sit at my desk, I aim to -

  1. Produce the best quality work that I can.
  2. Learn something new by the end of the day.

I must focus on the most important things to achieve these goals daily.

Before I begin my day, I select the three most important priorities. First, I block out the Focus time for the task requiring undivided, undisturbed, and teeth-gritting concentration. This block is primarily from 2 - 4 hours long. This is my deep work time.

Next, I look at my calendar once these tasks are prioritized to see my meetings. I schedule tasks of replying to emails, slack notifications, and doing code reviews 30 minutes before and after these meetings. This is my shallow work time.

Once that is done, I find time to schedule the remaining two priorities, with at least 1 - 2 hours of block for each task.

Focus on Deep Work

“You have a finite amount of willpower that becomes depleted as you use it.”

The section above talked about how I structure my day for maximum productivity. Let’s dive deeper into the Deep Work schedule of my day. As stated above, my deep work schedule lasts 2 - 4 hours. This is the time I spend only on the things that require focus. Here are the few things I do to create that -

Set Focus Time on my calendar. This helps my peers know not to schedule a meeting during this time unless urgent. In case something critical comes up, I reschedule my day accordingly.

Set Focus time on Slack and silence all notifications. Nothing breaks concentration faster than a message popping up while you are in a flow state. To avoid this, I set focus time on Slack as well. This helps my peers know that I am in deep focus mode and will respond to their messages after this time.

Set the phone on DND mode. To remove any distractions during this time. I put my phone on DND and only allow urgent notifications.

Set up a dedicated workspace. I have a home office. This is the only space I do any deep work from. This helps my brain to concentrate when I am in a designated area. So, as soon as I enter this space, my brain goes into work mode.

Block out noise pollution. I use noise-canceling headphones to block out any disturbing sounds during this time. Lo-Fi music or any instrumental music helps in concentrating.

Shut down at a designated time. I usually shut down my work at 5:00 or 5:30 pm unless there is a deadline my team is working towards. By that time, because of the focus block, I am typically tired enough that my brain is not functioning at its best. And after this time, I spend time with my family or relax, which is also essential to produce the best possible work the next day. Before I shut down for the day, I do a few things to ensure my mind does not go to the leftover tasks.

  • I make a note of any tasks that are dependent on today’s task.
  • I leave breadcrumbs to follow when I return to the task at hand the next day, like leaving notes for myself and the next steps.

Once everything is done, I shut down my laptop and leave the workspace for the day.

Keep shallow work to the minimum.

Shallow work, as defined in the book, is -

“Noncognitively demanding, logistical-style tasks often performed while distracted. These efforts tend to not create much new value in the world and are easy to replicate.”

I try to keep the shallow work to a minimum. For any work that fits the definition of shallow work, I try to do it when I am distracted, because of a meeting, or for any other reason. I also try not to take up much shallow work unless necessary.

I quantify the depth of the tasks. Using the Deep Work method, I try to quantify the quality of work using this question - “How long would it take (in months) to train a smart recent college graduate with no specialized training in my field to complete this task?”. Once that is done, I select the top two to three tasks for the day.

I put more effort into the emails and Slack messages that I send. I try not to ask ambiguous questions. For example, “Should we go with Option A or B?”. If the person responds with a “yes” or a “no,” we still won’t have our answer. This means there will be more messages back and forth for clarification.

Neither do I leave all the hard work for another person. For example - “I think we should go with option A. Thoughts?”.

Instead, I phrase my messages to help people understand my question. Like so, -

There are two options for us here.
Option A - XYZ.
Option B - ABC.

I like Option A  because of the following reasons -
1. Reason 1
2. Reason 2

Do you agree with this assessment?

Conclusion

For years, I struggled to concentrate and focus on things that mattered. Doing shallow work would give me a false sense of accomplishment, but it was not helping my growth. Your mind grows ONLY when you struggle cognitively with a problem, with (as Cal Newport mentions in Deep Work) teeth-gritting concentration. And it is not easy to find that kind of focus in the distracted world. The techniques I have shared above have helped me push my boundaries daily. And at the end of the day, I feel accomplished and ready to leave work behind to focus on other aspects of my life. My sincere hope in writing this blog is that it would help anyone struggling with the same problems I did and allow them to succeed by producing the absolute best stuff they can.