Published on

Reaching A Flow State

Blog Artwork
Authors
  • avatar
    Name
    Shane Cable
    Twitter

Daily Flow Techniques

If you are wondering what the term 'flow' means, the easiest thing for me to do is to direct you to a Wikipedia article. So here you go.

For me, the feeling of being in a state of hyperfocus and flowing through code is very fulfilling and is one of the main reasons I love what I do, day in, day out. It's not uncommon for me to be so immersed in what I am doing that others around me will have to pretend to be air traffic controllers to get my attention and snap me out of my flow state.

It's genuinely like being at one with the task & code at hand and by the time I've finished, the entire day has gone.

Here's some tips & daily things I do to help reach that incredibly productive state of being.

  1. Eat food & drink

Stomach rumbling is not allowed. The mind and body can't be thinking about food or drink, it's a distraction you don't want.

  1. Your phone is the enemy

Put the phone face down. Turn it on silent & do not disturb. Throw it out the window 1. It's a distraction you don't need.

  1. Set boundaries on Slack/Meet/Some form of chit chat

This is one I don't do but is probably a good idea. Update your status to let others you are trying to focus. Or do what I do and ignore every message you get from people. 2

  1. Provide structure to your goals

Understand a solid basis of what you need to do. Ensure you have a superb user story or task description to go off.

Break that story down into smaller dev tasks to visualise what needs to happen. Half the battle is preparation and understanding what you need to do before you start doing it.

  1. Be comfortable in your IDE

Whether it's VS Code, Visual Studio, Atom, Notepad, Microsoft Excel, you need to understand how to navigate efficiently through your environment when it comes to debugging, hot reloading, logging, refactoring, find & replacing.

To the point where it's like driving a car or riding a bike, it's now muscle memory for you and you don't need to even think about it.

In terms of reading code and my setup when it comes to theming and what I find appealing, I use New Moon Theme by Tania Rascia for VS Code & my Hyper terminal. For Android Studio, I use One Dark Theme.

  1. Music

I spend the majority of my coding life with headphones on. I love music. It's also the primary way I get into a flow state, by blocking out the sound around me and listening to Spotify.

When it comes to music to actually listen to, lo-fi is for nice chilled sessions.

Find your favourite genre to listen to. Mine is heavy metal or metalcore. There is something about the aggressive noise that drowns out everything for me.

Some of my best work has been done thanks to Slipknot.

  1. Iterative code testing

Part of why I think I zone out and get 'into' the groove of coding is how I constantly cycle between development and testing.

I will write a few lines then test. Works? Move on. Doesn't? Try something else. Test it. Works? Move on. Doesn't? Try something else.

By iterating and building in a repetitive development process, it becomes hypnotic. Then I snap out of it and 3 hours has gone by.

Find a work pattern that works for you and aids your development, not hinders it.

  1. Don't break your concentration

Some articles on the web about achieving flow state say things like the pomodoro technique helps. I don't buy it and it doesn't do anything for me.

I want to be immersed in my work, not timing myself against a ticking clock and taking breaks on a schedule. I'll try to stay in focus for as long as possible, no breaks.

This might not work for you so look up some techniques like pomodoro if you haven't heard of them before.

That's all I've got for you in this blog post, so you can go back to doing something else now. 👋

Footnotes

  1. Don't do that.

  2. Don't do that either.