Read this classic illustration of Flow a long time ago, here is the audio version of it basically.


https://www.wnyc.org/story/may-wu-wei-be-you/



Excerpt: "Trying Not To Try"
In a famous story from ancient Chinese philosophy, Butcher Ding has been called upon to play his part in a traditional religious ceremony. The ritual, to consecrate a newly cast bronze bell, requires the butcher to sacrifice an ox in a public space, with the ruler and a large crowd looking on. The still-smoking bell is brought fresh from the foundry and cooled with the blood of the sacrificial animal—a procedure that demands precise timing and perfectly smooth execution. Butcher Ding is up to the task, dismembering the massive animal with effortless grace: “At every touch of his hand, every bending of his shoulder, every step of his feet, every thrust of his knee—swish! swoosh! He guided his blade along with a whoosh, and all was in perfect tune.” Ding’s body and blade move in such perfect harmony that a seemingly mundane task is turned into an artistic performance. When questioned later by Lord Wenhui, the village master, about his incredible skill, Butcher Ding explains, “What I, your humble servant, care about is the Way [Dao].” He then launches into an explanation of what it feels like to perform in such a state of perfect ease:
 
Excellent topic for a thread.

I make use of flow when I'm programming. It's the reason I needed to buy expensive noise cancelling headphones (that work ended up paying for) and why I spend time curating music I can use that will help me get in this state (without distracting me too much with the lyrics or whatever)

What are your experiences with flow?

Essentially I've figured out that as a programmer.. the best way to build and maintain complex systems is to let your brain soak up all the knowledge first. You have to understand everything conceptually on some level. Your brain is capable of storing concepts and you just have to essentially query it while you work through problems. So if you are working on some big system you designed 5 years ago, that has seen work by other programmers, if you are working out a new feature you've been asked to build.. and there are potential impacts all over the place, including maybe even other interconnected systems.. the best way to get things done is to first understand all these things on some level, and spend the time building all that up in your brain first. Store it away by really understanding it. Don't memorize, just understand. If it's a system you designed 5 years ago, you will have to refresh your understanding of the codebase and the abstract structures of data and whatever. That's always the first step

The next stage in this process is to sit down and spend the time getting into flow. So.. In my case that means putting on my headphones, the appropriate music, and then spending a half an hour just sort of teasing the code. Reading through it, doing a touch-up there, maybe indenting a function, writing a comment. A half an hour into this or so, or maybe 20 minutes, and you start really feeling the system and can maybe get into that state of flow. If your objective is to build some new functionality that impacts things all over the place, or solve some confusing bug.. if you have one of those days of great flow.. and you have taken the time to understand everything properly beforehand.. the code can just flow out of you and you pump out a lot of work in a short amount of time.

One such example is when I sat down to look at a problem we were having with a system at work. My job was to migrate this system 3 times a year, which meant creating a new database, rolling over any needed data, updating the rules for the new term, and making sure that it works properly. This time around the rollover work was annoying for one reason or another.

I was in a positive state of mind and just felt motivated to build a completely new system that will make my life a lot easier going forward. It was 9pm, I put on some music, indulged in some indulgences to ease my mind into the task, and got to work. For 12 hours I sat there pumping out code and building a completely new system. It was pretty incredible. It included scripts that migrated all data from the old system and put it in the new format. It meant that instead of 3 times a year of me doing this, the system would now do it for me. There was also a completely new interface. Usually building a system like this would take a week, but I just did it overnight, and by 9am was writing everyone an email with instructions on how to use the new system. So yeah, I crammed testing in there too. I just felt so connected to all the data and algorithms, and during development could push any bug aside easily. Usually when you're building something new bugs come up you spend ripping your hair out over. Just unexpected stuff. But when you're in the zone and you're building it all at once, almost any problem falling your way, your brain will just give you a solution, if that makes sense. Contrast this with your boss messaging you to fix a problem with some system you haven't looked at in months, it might take you days to solve that same problem.

My experience with flow is also that it's not easy to get into flow. The older you get, the more complex life gets, so it's harder to just forget it all and get in the zone. That's just one of many factors, of course.. You also increase in importance at the office or whatever, more people are likely to bug you and disrupt your flow.. and now with the pandemic there is also added anxiety and still the weird feeling of working from home. To get into flow you gotta be feeling great, or at least good, and sometimes that just won't happen.

In our office we had a bit of a battle to fight against an "open concept" office remodelling plan, that ended up getting scrapped (we got offices instead). Those of us who require a quiet space to work (to help us get into flow mainly) joined forces and pushed back.

I've also had problems getting in flow at work due to mental health issues, as well as an issue of a noise I kept hearing in the ceiling above me. It was starting to drive me mad, like somebody poking you every once in a while sort of thing, but instead it was constant. This is why I got the headphones.. but.. the pandemic hit and I haven't had to work from the office since then. I am sort of dreading going back there, although with these headphones it should be fine. For flow you want to be in a positive space, not a negative one. You need to feel good, like I said.

How often do you achieve it and how do you achieve it?

These days working from home it's a lot easier.. but some days if I have to watch for a package out for delivery or something I'll be sufficiently distracted as to not really get into a good flow that day. There's also the fact that my work is sort of like the wild west, where a lot of stuff is not explicitly defined, and information comes to you from weird angles or not at all, so it's harder to do that prep work to understand things so that later on your brain will just shoot you the answers.

I would say I get into flow maybe 1-3 times a week.. by that I mean a good session where I really get into it and am bopping my head a bit and just getting er done. I guess I answered the other part of the question already - I use music and an understanding of what I'm about to do.

I also use flow when I'm drawing. I find working with ASCII characters, especially the blocky ones that we tend to use in this art form, soothing. It's like playing with legos. You move blocks around and make art. So I can basically sit there, listen to music, just moving blocks around, for an hour or two. when I get into good flow I will be just using the keyboard, changing colours with key combos, moving the cursor around, applying different characters with the function keys, etc. and it just all flows. Those are the best sessions. Takes about 20-30 minutes to get into that state too, usually I will warm up by working on not the main object of my attention. I'll gravitate over to that as I get into flow. So if I have am drawing a girl's face, I might begin by improving the shaping of her shoulders first, and then as I get into more flow I move on to the harder parts, like the face and the eyes

edit: the music I use is in 2 categories. It's either techno/house with a steady beat with minimal or no lyrics. this could be deep chill house, hard techno, all sorts of trance, funky house, etc. As long as there's a steady beat and the lyrics are minimal. The other category is "catchy" music. Lyrics used to bother me, but for whatever reason really catchy music is fine. I'll sit there and groove to the melodies and code and it's fine. But if it's just random rock music then it doesn't seem to work nearly as well. By catchy music I mean for instance.. Benny Sings, Franc Moody, Jamiroquai, some Daft Punk, but it can just be some random song with a really catchy melody.. Lots of reggae fits the bill! Groovy catchy basslines, melodies, and beats. If I can groove to it and move my behind a bit and bop my head then it can be used for flow (for me)

What are you doing when you enter this state?

Programming and drawing ANSI. I think those are the only things for me, although I might also have to include hiking.

What breaks you out of it?

If I am forced to read somebody's message and it is an urgent request to do something real quick or whatever, I'll stop, reacquaint myself with that system, answer the urgent question , and then have to spend 20-30 minutes again getting back into flow. Context switching is very expensive, but nobody realizes it, even after you explain it. To be fair my boss is a lot better about this stuff these days, I am not complaining about him specifically here, just speaking generally
 
Last edited:
Music even with lyrics can help. I really like instrumental music of all sorts of genres for getting me there.
 
Fun fact: the ancient Greek term for this would be οίστρος. Which means a number of things*, but I'd hazard the guess the etymology for the mental phenomenon is tied to the term being used for ovulation.
So next time you are experiencing "flow", Hobbs, think of it as ovulating :eek:

*flies that madden animals with their buzz were also called that. But who wants to be a fly, more so if the mental animal could then be a monstrous demiurge.
You're like the dad from My Big Fat Greek Wedding :D
 
Normally I'd say "about 40 minutes into a run", but I think that's a different kind of flow (also @thetrooper ).

Work-wise, this doesn't really happen to me. Despite being a scientist, my problems are rarely taxing in the right way.
I think it did happen a few times when I had to program something longer, but that's also not often the case :dunno:.

Indeed, that's why I consistently said 'in the zone' and not 'flow'. :)

Work-wise I don't get there. Too experienced I guess. Not trying to be cocky.
 
Essentially I've figured out that as a programmer.. the best way to build and maintain complex systems is to let your brain soak up all the knowledge first. You have to understand everything conceptually on some level. Your brain is capable of storing concepts and you just have to essentially query it while you work through problems. So if you are working on some big system you designed 5 years ago, that has seen work by other programmers, if you are working out a new feature you've been asked to build.. and there are potential impacts all over the place, including maybe even other interconnected systems.. the best way to get things done is to first understand all these things on some level, and spend the time building all that up in your brain first. Store it away by really understanding it. Don't memorize, just understand. If it's a system you designed 5 years ago, you will have to refresh your understanding of the codebase and the abstract structures of data and whatever. That's always the first step

The next stage in this process is to sit down and spend the time getting into flow. So.. In my case that means putting on my headphones, the appropriate music, and then spending a half an hour just sort of teasing the code. Reading through it, doing a touch-up there, maybe indenting a function, writing a comment. A half an hour into this or so, or maybe 20 minutes, and you start really feeling the system and can maybe get into that state of flow. If your objective is to build some new functionality that impacts things all over the place, or solve some confusing bug.. if you have one of those days of great flow.. and you have taken the time to understand everything properly beforehand.. the code can just flow out of you and you pump out a lot of work in a short amount of time.

I have also experienced that once you exactly know how you are going to program it and essentially have solved the problem in your head, the code starts flowing. However, I am often stopped, because once the problem is complex enough, there will often be moments when I will go 'Oh crap, I did't think of that, how is the program supposed to behave in this edge case?'. If that happens, my brain switches to problem-solving mode and I am out of the flow.
 
I have also experienced that once you exactly know how you are going to program it and essentially have solved the problem in your head, the code starts flowing. However, I am often stopped, because once the problem is complex enough, there will often be moments when I will go 'Oh crap, I did't think of that, how is the program supposed to behave in this edge case?'. If that happens, my brain switches to problem-solving mode and I am out of the flow.

second guessing is the death of flow.
 
In our office we had a bit of a battle to fight against an "open concept" office remodelling plan, that ended up getting scrapped (we got offices instead). Those of us who require a quiet space to work (to help us get into flow mainly) joined forces and pushed back.
Wow that's awesome. I can't imagine having an office, they all got converted to open spaces and cubes long ago. And it's even becoming better understood that the switch to cube farms was a net loss of productivity even if it saved on real estate costs but businesses still won't change back. Kind of like how they all resisted remote work until a pandemic forced the issue.
I've also had problems getting in flow at work due to mental health issues, as well as an issue of a noise I kept hearing in the ceiling above me. It was starting to drive me mad, like somebody poking you every once in a while sort of thing, but instead it was constant.
I used to work in a place where they would occassionally break out a grinder and even with ear plugs and noise-cancelling headphones, the sound was so loud it filled your skull. One person I worked with broke down and cried from how loud and stressful it was and I too was badly effected. I do not do well with loud noises.

The other category is "catchy" music.
Same here! My problem is that the lyrical music I consider earworm-worthy gets boring and annoying very quick. It didn't used to be that way though, I listened to like the same 5 Nirvana songs for 2 or 3 years straight in my teens.

Context switching is very expensive, but nobody realizes it, even after you explain it.
True story. Also extremely frustrating when you get a boss that insists on directing your day in 15 minute increments. I have had that happen before and in retrospect I should have quit that job, it caused so much grief.
 
I used to have a lot of sessions like warpus described (incredibly well). Was often how I sustained passion projects / hobbies (like games modding). I just don't have the time to relax like that anymore. I infrequently get into some kind of "flow", but it's normally deadline-driven and not quite the same thing. It's hard to describe, but the closest I get is when I'm hopping between several "do it now" deadlines (usually escalations that find their way to me, etc) and I construct a mental flow between each task in the downtime of the previous. Like a very time-limited rota of considerably variable programming tasks. One could be tweaking a build, one could be fixing a different environment's code on the fly, and the third could be troubleshooting design for a client task. Just to give an idea of the range required.
 
Rarely have it nowadays, occasionally @ the gym, used to get it during tournament chess games (rarely) and sometimes while reading.
 
What are your experiences with flow? How often do you achieve it and how do you achieve it? What are you doing when you
I don’t know whether I am “in the zone” or “zoning out.” In both, the passage of time seems rapid and I’m eventually jolted out of it seeing that the day has passed. Maybe I also get frustrated at my own lack of knowledge, being unable to understand things that I think I should be able to understand.

This question is really difficult for me because I’m trying to diagnose when I’m most focused and productive, and I can’t think of specific conditions where this occurs. I don’t think it’s totally randomized, but whatever conditions there are aren’t immediately obvious.

I also use flow when I'm drawing. I find working with ASCII characters, especially the blocky ones that we tend to use in this art form, soothing. It's like playing with legos. You move blocks around and make art.
I think I read once about a study where two groups were given some menial task, one group given the task after playing like 20 minutes of Tetris. The Tetris-playing group outperformed the non-Tetris group, and it was suspected the game helped improve concentration.
 
I find it to be a combination of feeling good physically and being enthusiastic about the task.

So get all the side work done to clear out the subconscious.
Then a light workout while thinking about the task to get the blood flowing.
Then boom, off to the races.

A good music playlist on low volume helps to tamp down stray thoughts too.
It also drowns out minor distracting noises.


As one gets older, the physical half of feeling good gets harder.
There are also more concerns on the mind.
Flow gets more difficult to achieve I think.


It is also a little dangerous to mental health to constantly try and be "in the zone" in my opinion.

The productivity burst is great, but spending too much time thinking and being inside ones' own head can begin causing signs of depression for a day or two in my experience.
Constant reading causes the same thing.
Humans are built to be social creatures, not computers.
 
Last edited:
There is a phenomenon called Flow, where you are able to super-focus on a task you are working on to a high degree. Distractions fall away and your thoughts stop drifting as you lock-in on whatever you are doing. This state of mind is generally seen as pleasurable, if not hedonistically so. This state of mind is also commonly referred to as being 'in the zone'.

What are your experiences with flow? How often do you achieve it and how do you achieve it? What are you doing when you enter this state? What breaks you out of it?

Three methods that have worked very well for me for > 30 years.
Incessant doodling.
Small amounts of cannabis.
Prescription dexamphetamine for adult ADHD.

None of those are helpful unless you are working on a project that you really, really love. :)
 
When I'm writing a Court brief with a close deadline I often get "in the zone" whereby new ideas that I hadn't even thought of just pop into my mind... it was the same in college when I had a paper due at the last minute... the words/ideas just started flowing.
 
When I write and am left undisturbed I get there easily. It doesn't matter much what I'm writing. It is most obvious to me when I am writing 10-20 pairs of rhyming couplets and can just open my brain and the words come, but any kind of narrative driven work lets me in to it. It is a wonderful state.
 
Back
Top Bottom