Chapter 6. Defining Deep Work and What It Means for Developers

Standing on the podium, Michael Phelps stares at the American flag and listens to the National Anthem after winning gold once again. After watching Phelps win 21 gold medals (at the time I'm writing this), it's natural to ask: "Was he simply born for greatness?" I don't know. Yes, his body type has helped him take advantage of physical elements of swimming.

However, there are millions of individuals with his height and wingspan who watch him at the Olympics from their couches every four years. There is no magical swimming gene that Phelps was born with. Instead, the secret to his success can be found in his discipline to a practice called deep work. Muscle Prodigy (https://www.muscleprodigy.com/michael-phelps-workout-and-diet/) research claims:

"Phelps swims minimum 80,000 meters a week, which is nearly 50 miles. He practices twice a day, sometimes more if he's training at altitude. Phelps trains for around five to six hours a day at six days a week."

If Malcom Gladwell's 10,000-hour rule is even close to being accurate, Michael Phelps surpassed this benchmark years ago.

In case you're wondering how this applies to coding, don't worry, I haven't forgotten that this is a show for developers.

Definition of deep work

As you go through these chapters, you may discover that one of my favorite books is Deep Work by Cal Newport. (The fact I referenced the book a few dozen times may given it away). So, what exactly is deep work? A dead simple explanation of deep work is:

"Deep work is the ability to focus without distraction on a cognitively demanding task."

Whether you believe that swimming is cognitively demanding or not, I believe that Phelps's example is fitting. If you have ever attempted to train with the level of intensity that Phelps does, you can attest to the mental toll that training takes. So essentially, deep work can be simplified by saying that it has the following characteristics:

  1. It's a real-world action. It's not a theoretical concept, it's something that you can practically implement.
  2. To work properly you have to eliminate 100% of your distractions.
  3. The task has to be challenging.

The deep work strategy for developers

Let's dissect the definition of deep work and build a practical strategy for how it can be implemented from a developer perspective. Let's imagine that you want to learn about the computer science topic of asymptotic analysis. If you've never heard of asymptotic analysis, don't worry, you can trust me that it qualifies as a challenging topic.

Taking action

Let's start with the fact that deep work is an action. With that in mind, you will need to make a clearly defined time slot. If you have never practice deep work studying before, I'd recommend limiting the slot to around two hours. As you'll discover deep work is a draining task. For our example, let's imagine that you have designated 9 AM to 11 AM as when you're going to study asymptotic analysis.

Removing distractions

With your time slot set, now it's time to remove any and all potential distractions. Let me be 100% explicit; this means:

  1. You cannot check your email.
  2. No phone calls. In fact, put your phone in airplane mode to ensure no one calls or text messages you.
  3. Don't even think about checking Instagram, Facebook, Twitter, or Tinder. All your swipe rights will have to wait for a few hours.

If I missed any distractions you can add them to the list. It may also help to listen to classical music to block out any potential sound distractions while you study.

Study hard and smart

Now that you have dedicated a few hours to studying asymptotic analysis and have removed all your distractions, it's finally time to get down to business. If you think that now you can simply start reading a few Wikipedia posts, I'm sorry, that won't earn you a deep work badge.

For deep work to be truly effective, it has to be difficult. If I was learning about asymptotic analysis for the first time and wanted to practice deep work while studying it, I'd take the following approach:

  1. I'd begin by reading a number of online resources on the subject.
  2. Next I'd watch an online lecture while taking notes.
  3. I would then find practice exercises where I would attempt to figure out problems from scratch.
  4. Next, I would write a blog post or record myself teaching the concept.
  5. Lastly, I would have another student or instructor review my teaching and exercises to ensure that I understood the concept properly.

Do you see how much more comprehensive this type of studying is? Even if you had never heard of asymptotic analysis before your deep work study session, you would be fluent in it after you were done.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.174.76