Deep Work: 3 Ways to Maintain Coding Flow

jkane By John Kane

7 August 2017 // Tips and tricks

"Deep Work" is a new term, but it's one everyone understands. It's maintaining a work structure where you're spending most of your time working in a flow state, or "in the zone". You are focused and at your most productive, working as though it's the only thing in the world.

 

"In positive psychology, flow, also known as zone, is the mental state of operation in which a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. In essence, flow is characterized by complete absorption in what one does."

- Mihaly Csikszentmihalyi

 

So, if there's "Deep" work, is there "Shallow" work?

Of course! Shallow work is what you're doing when you're jumping between small tasks, or delegating to other people. It's still important but it's easier to make happen. Deep work often takes a bit of time and effort to get going.

Getting into the flow isn't luck. It's a well studied topic. Either in game design or sports science, it boils down to three basic things.

 

1) Have clear goals

Having a clear endpoint in mind gives you a direction. You can push yourself to reach it. Bashing away at a large project without a clear direction is a sure way to get lost.

 

2) Short feedback loops

Break down those big goals into small, granular tasks. Having a list of 20 small tasks means each one is a doable chunk, at the end of which you feel good for finishing. This energy builds, until you end up spending the whole day feeling successful.

 

3) Work at your skill level

People enjoy a challenge. If there's no challenge whatsoever, it's easy to drift off and get distracted. If it's too hard, it can be easy to give up. This isn't to say "don't do it". Know when to ask for help if things are too hard, and know when to delegate when things are getting too easy.

 

There's four main approaches to structuring deep work.

It's important to experiment and find the one that's right for you:

The monastic approach

Shutting off from the world completely. No TV, no phones, nothing until it's done. This is not feasible for most people but it can work for some.

The bimodal approach 

Every day, dedicate a solid block of time (most of the workday) to locking yourself away and working without interruption.

The rhythmic approach 

Similar to Pomodoros, blocking out regular units of time with breaks spaced out through the day.

The journalistic approach 

Not for everyone, but works well if you have a busy/chaotic schedule. Any time you find yourself with "free" time, shut yourself off and dedicate yourself to deep work.

 

Let's get to work!

Maintaining a habit of deep work is hard. But there's a lot of little things you can do to make it easier:

Set yourself up to succeed and prepare before launching in. Remember:

  1. Have clear goals
  2. Short feedback loops
  3. Work at your skill level

Reduce distractions. Close tabs, wear noise-cancelling headphones, close all those extra tabs. Turn off notifications and anything that might interrupt you. You're here to work.

Structure your time.
Spend some time experimenting with the four different approaches above and figure out what works best for you.

Learn to say no.
That interruption can wait until you've finished that small task. It's okay to tell people you can't be interrupted right now.

Schedule a set time for shallow work.
Either at the end of the day as a cool-down, or at the start of the day when you're getting in the groove. Put all the small housekeeping jobs in one place and don't let them interrupt you when you're trying to work deeply.

When you're working, you're working. When you're done, you're done.
Downtime helps you recharge. Don't feel guilty about needing that break.

Have a shutdown ritual at the end of the day.
Put everything away so you can come back with renewed focus.


For more information about Deep Work, check out the book - Deep Work: Rules for Focused Success in a Distracted World by Cal Newport

jkane By John Kane

Tagged: programming

Other people also read...

fastfive with Sarah

fastfive with Sarah

Get to know our team with our fastfive series. This week we see what Sarah has to say. more...

5 reasons every developer should watch Black Mirror

5 reasons every developer should watch Black Mirror

In an industry so focussed on forward-thinking and positivity, what makes this one of the most important shows for anyone who works in tech? more...

The importance of moderation

The importance of moderation

As the saying goes, 'all publicity is good publicity', but, do you really want to test it? Let's look at how it can go wrong and what you can do about it. more...