Flow

Written by Azat MardanJanuary 22, 2017

Flow is a blissful state of activity in which time is distorted and reality is ignored. Programming, writing, painting are all examples of a flow.

Distractions kill flow. Emails, IMs, noise are examples of such flow killers. Each distraction not only robs you of your amazing flow time, but it also taxes the mental capacity to get back into the flow. So a 5-minute detour typically cost 15-20 minutes because it takes time to remember the last step, focus and remove residual thinking. That 30-minute call actually ate 1-1.5 hours because you stopped the flow 15 minutes prior the call at a stopping point so you are not in the middle and have plenty of time to dial in. Then you had to get back into the flow after the call which took at lest 15 minutes more. That’s a 3-4x increase which don’t account for. But that’s not the only problem with work fragmentation.

It is more exhaustive to multitask (which is a form of constant switching) than to be in the flow. Most of us had a tiresome day when we can’t name a thing we accomplished because there were meetings, calls, conversations, urgent things, emails and IMs. I feel more tired when I try (and fail) to multitask in a meeting by checking emails or taking notes.

So flow feels good, it’s more productive and produces a higher quality results (Deep Work). Good. Then why the multitasking habit is so prevalent in our day and age? I’ll blame the internet.

You see, the Internet is a network built on server client architecture. Clients, a.k.a. as browsers, make requests to remote servers to fetch information or to send it. There’s delay. The delay was way worse a decade ago. That’s why there are tabs in a browser. I noticed that I tend to open multiple webpages using “Open in a New Tab”, then start with the first while others are loading. It was saving me minutes a decade ago but now the time saved is negligible. However, I’m distracted by jumping from the content of one task to another.

For programmers, compilation time is something they utilize by multitasking. So tempting to check IM messanger while my Webpack is transpiling JavaScript! Or Maven and Java for you, Java devs. Engineers are great of optimizing after all. They try to optimize their time too… at a cost of breaking the flow. They are also very curious (as noted in Managing Humans) which makes them good at learning but prone to losing focus.

The solution is to resist to optimize the waiting time. Use the waiting time to continue to work on the same task… or just sit and stare at that rotating loading icon. I despise SMS/text messages for this because you can drag a 5-minute call into a multi-day correspondence. If you send me anything other than an address, phone number, price or your SSN, I’ll ignore you.

To add to the habit of optimizing the waiting time, there’s over-reliance on external resources like online search, documentation, colleagues and forums. Every time you need to look up something, you risk of going down the rabbit hole, getting distracted by unrelated content. If I can write a book without a research, I can do it in a few day. (In fact, I wrote ProgWriter in a day while on a internet-less train ride from Portland, Oregon to Oakland, California.)

The solution is to get all you need offline. Some email clients like Outlook allow you to switch to offline mode. The programming library APIs can be remembered after you use them a few times. Offline docs like man command, reading source code in node_modules, or Dash app are other options. If not feasible to remember something, then just leave a TK or TODO and batch up the search for a later time.

Finally, the third type of distraction is the distractions are the easiest to eliminate because they are external. Things like noise, email notifications, etc. Sitting near a ping pong table, foosball or sales team is the worst! Solution: turn do not disturb mode ON, stop working in cafes and/or office, download music without words (Spotify has music from video games), process emails instead of checking them, and let people know that you respond only once a day or even better once a week.

It might be hard to adjust at first. You might feel good about being in the flow for an hour or two. Maybe three. But then feel an urge to peek into email or news or social media. What is someone needs you? What if something important happened? Resist. It’ll go away. Take a walk in the park or around the office if needed, and get back into the flow of your task. I read somewhere that humans can only spend two to four (2-4) hours per day in an intense focus. You are a human, right? The do the important things first while your brain is still fresh and will power the strongest.

PS: I remember I was able to have a TV in the background and still work (and play) on my computer when I was younger. I am sure that I wasn’t doing as much focused and advanced work back then. My guess is that over the years of programming and meditation practice, I developed the ability to focus deeper on my work by using flow. Conclusion? The deeper your work (which requires flow) the more sensitive and damaging the distractions are.