235. Flow State

December 21, 2021

Flow or being in a flow state is something that is defined by Wikipedia as what happens when a “person performing some activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity.” Today we are joined by Sophie Creutz and Raymond Lam to discuss flow, a subject quite adjacent to some of the topics we’ve discussed recently on the podcast. In this episode, we talk about what flow is, what being in a flow state feels like, the nine components of flow, and the four different flow profiles. We also discuss how a software developer can achieve flow and some of the different things you can do to help yourself get into that flow state. Tune in for all this and much more!


Key Points From This Episode:

  • What flow is and what it feels like to be in a flow state. 
  • Wikipedia’s definition of flow. 
  • The nine components of flow.
  • Why uncertainty is an enemy of flow. 
  • The National Institute of Health’s definition of flow: the merging of action and awareness. 
  • The loss of the feeling of self-consciousness associated with flow.
  • How a software developer can achieve flow with the example of TDD.
  • The sense of personal control over the situation required to achieve flow.
  • The distorted sense of time associated with flow and how this relates to casinos. 
  • The importance of a high level of concentration and how pairing can help with that.
  • The delicate balance between hyper focus and flow. 
  • The addictive nature of flow and whether or not we should be concerned about this.
  • The quiz you can do to determine your flow profile.
  • And much more!


If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.

Apple Podcasts Spotify

Transcript for Episode 235. Flow


[00:00:01] MN: Hello, and welcome to The Rabbit Hole, the definitive developers’ podcast, living large in New York. I’m your host, Michael Nunez. Our co-host today –

[00:00:09] DA: Dave Anderson.

[00:00:11] MN: And our regular guest.

[00:00:13] SC: Sophie Creutz.

[00:00:14] MN: And our esteemed guest.

[00:00:16] RL: Raymond Lam.

[00:00:18] MN: Today, we’ll be talking about the flow wolf.

[00:00:24] DA: It’s International Dan Brown Day to Ambigram 2012, December 2nd.

[00:00:33] MN: Yeah. Have you flipped that bad, boy? You got the same –

[00:00:39] DA: Pulling back the curtain, the evergreen curtain. But today, we’re talking about flow, which is very adjacent to a lot of topics that we’ve talked about previously on the podcast, like pair programming, like kind of your workstation, and pretty much everything to do with being a programmer. But I don’t think we’ve actually talked about what flow is and how you can get there, what different kinds of ways you can get there. What does flow mean to you guys?

[00:01:07] SC: Right, and what does it feel like to be in a flow state?

[00:01:11] MN: I will say, I saw a very beautiful description of what flow is outside of programming. For anyone who has not seen the movie Soul, I would suggest you watch that movie. Oh, the main character, I forget the name of the main character. But when the guy mentioned his love for jazz, and now as he like, goes into the ether and loses himself in program and music composition. I like was like, “Oh, I know what that is” in the sense of going into flow of programming. Very, very interesting.

[00:01:46] DA: Right. Your soul like rises above your body, and you’re like typing and there’s like jazz notes shooting out of your keyboard.

[00:01:56] MN: Something like that maybe, I’m not sure, but I thought that it was really –

[00:02:01] SC: So you know.

[00:02:02] MN: I thought that that was like a really cool way of explaining it in another form or industry that I’m not too familiar with, because I don’t play jazz like as a career, but it was really, really cool to see that.

[00:02:15] DA: Yeah. I love that. There is like a connection with music as well, like programming. It happens. Music, also, like with practice, I think you can get there if it’s muscle memory and whatnot. What about you guys?

[00:02:33] SC: It’s funny that you mentioned jazz as a career?

[00:02:37] MN: I mean, hey, it’s hard stuff. Jazz is cool. I would do it. New York probably has a seat for it.

[00:02:43]SC: It’s a calling, and I think that’s what the flow state relates to, right? Like it’s a calling. It’s something that you’re drawn to for reasons that don’t even necessarily make effable sense. I guess the word is ineffable here.

[00:02:57] MN: I’ll use the Wikipedia section. I’ll read this, but then I’m going to have to have someone name the person who coined the phrase flow state. But flow state, also know as being in the zone, is the mental state in which a person performing some activity is fully immersed in a feeling of energized, focused, full-involvement and enjoyment in the process of the activity.

[00:03:25] DA: Yeah. Yeah. It’s like NBA Jam. He’s on fire or we’re on fire.

[00:03:30] MN: Yes, yeah. You’re on fire. Yeah, he’s on fire for sure. Definitely. Named by the psychologist and I hope someone else can jump in and name the person. I can’t – Csíkszentmihályi.

[00:03:46] SC: Csíkszentmihályi.

[00:03:47] MN: Yeah, there you –

[00:03:49] DA: Nice. I think, Sophie, with that pronunciation, you are taking the title of ‘Father of Flow' away from him.

[00:03:57] SC: Oh, that’s rude. I didn’t know if that was all it took.

[00:04:02] MN: You are the person –

[00:04:03] DA: That’s all it took. You just have to say his name. 

[00:04:08] SC: You just have to name it.

[00:04:11] DA: Just name it. It’s like Rumpelstiltskin.

[00:04:14] SC: Oh, yeah.

[00:04:15] MN: This person this person is responsible for like coining it and making it kind of the conversation that we’re having right now, as mentioned in the Wikipedia. The concept is not like new, but being able to put a pin on it and actually speak on it, and figure out ways to achieve the flow state is something that was coined by the ‘Father of Flow’, if you will.

[00:04:42] DA: Right. I think it’s funny that a lot of like psychological research or social psychological research is like putting a name and like defining something that’s painfully obvious almost. Where it’s like, “Okay, yeah. Of course, that’s a thing. But you know, before 1975, we had flow and we continue to have flow. But now, we can talk about like, now it’s been named and that gives you power over it.

[00:05:08] SC: It helps to have a point of reference, I guess.

[00:05:11] DA: Yeah, you can think about like what it takes to actually get there and what the components of the experience are of which there’s generally agreed that there’s nine components of flow.

[00:05:23] SC: What are the nine components.

[00:05:25] MN: Well, let’s dive into them. I think if one is going to achieve flow, I would imagine that you probably need clear goals or clear task that can be completed where you don’t have to ask anyone any questions. It’s probably like a story that you pick up. For example, you’re doing some solo work on a piece of work, you know exactly the domain and you know how to jump right in to make that change. I can’t imagine anyone going into flow if they were not sure of what they needed to do. I think that there’s some something about having clear goals that would help an individual be able to get into the zone, if you will.

[00:06:04] DA: Right. Like uncertainty is kind of like an enemy of getting into flow state. But like, if you break something down small enough, like maybe you can find some certainty in or something to shoot for in a small span of time that can help you get there. If you’re trying to do a research task, if you just ask a question, I think that can like add like a clear goal to like an uncertain question or an uncertain situation.

[00:06:31] SC: Yeah. I can foster further discussion and understanding to ask the right questions? Can I add another element of research? 

[00:06:39] DA: Sure.

[00:06:39] MN: Yeah.

[00:06:40] SC: This is from an article by NIH, which is National Institutes of Health. It’s like a scientific research study, and it describes what are the elements of flow state as the merging of action and awareness.

[00:06:54] MN: Yeah.

[00:06:54] DA: That’s pretty deep.

[00:06:56] MN: Yeah. The fact that you taking action, and you are knowing exactly the thing that you’re achieving and being focused on that.

[00:07:09] DA: Right. It’s like there’s no hesitation. You’re not kind of like, “I got to hold back here.”

[00:07:16] SC: Probably you lose the sense of like self-consciousness or even self-awareness. That’s another element here that this article lists is a loss of the feeling of self-consciousness, which could also be self-awareness, right? Like you’re not thinking about, say you’re playing the guitar, which is sometimes when I achieve [inaudible 00:07:33] too. You’re not thinking about the fact that, okay, I’m sitting on this couch in my living room, and I’m holding this guitar, and I’m holding a pick, and I’m strumming up and down. It’s just the action, right? And that’s all that you’re aware of. You’re not aware of those other things.

[00:07:50] DA: Right? I kind of mentioned that earlier, like kind of like the muscle memory of it. Where like, if you’re doing a practice, and like you’re repeating something over and over again, it can help you go into that action and not think about things so much. I think to jump ahead a little bit, to talk about how a software developer can achieve this. We talked a bunch about like TDD on the show, and I think like TDD is kind of one of those things that is a practice and gives you another one of these things, which is clear and immediate feedback. You kind of have this like muscle memory that you’re going through and getting clear feedback and just going and driving on the flow –

[00:08:40] SC: Red, green refactor, yeah. That’s red, green refactor pattern. It’s a rhythm to that for sure. I’ve always enjoyed coding in that way.

[00:08:52] MN: Because there’s like a system of knowing what state you’re in, to then go and knowing what’s the next state of that, right? If you’re red, you know you have to make the test pass to go green, and then you would then go and refactor afterwards?

[00:09:07] DA: Right. Not too much. Just enough. Just getting right in the minimal amount of code, and then feeling the green feeling, and then making it beautiful, and then making it red again.

[00:09:20] MN: Right? This kind of goes over to different sets of bullets here in the components, right? Because you have a sense of personal control over the situation, because you know the state that you’re in and what to achieve in the next one. When you get that red test, and you want to make it green. That is so rewarding. It’s just the nice little feeling. Or when you do refactor, you’re like, “Yow! Is this going to pass?” I don’t know. This is a crazy refactor, let’s find out. And then you hit the play button, and then it actually passes, you’re like, “Oh, yes. I know a thing.”

[00:09:56] SC: Like I made it beautiful, but did I also cause it to fail?

[00:10:03] DA: Yeah. When you go off the rails, if you have to go off the rails, and like you’re just like doing exploration or spiking around, and you’re just making changes to the code base, willy-nilly. You can really get far away from a situation where you know what’s happening. Like if you’re spiking, you can just blow it away and try again, or whatever. It’s not that big of deal, but like, if you’re just living your life like that as a developer, without the guidance of clear, immediate feedback, and like having that kind of ratcheting sense of control that we’re getting through the cycle of writing a test, making it good, committing, refactoring, committing, just kind of slowly building up through like version control and testing.

[00:10:52] SC: So then, one question might be, how do you know when the refactor period is over and you’re going back again to the beginning of the cycle? 

[00:11:02] RL: I don’t think it’s ever over.

[00:11:07] MN: You’re always refactoring, baby.

[00:11:11] SC: No, I just mean, like, when do you write the next test?

[00:11:14] MN: I think it’s like, you can always refactor and pull things out as much as possible. But whatever makes it readable enough for the next test to write. I think it’s just like you kind of know. I think going back, you have control over when is the next test to write at the end of the day, which is good.

[00:11:33] DA: Yeah. I think with refactoring to like, it’s something that where you have your eyes on what the next change is. If that refactor that you’re going to do makes the next change easier, then that’s definitely something that you should reach for? What else do we have here? We have a distorted sense of time.

[00:11:50] MN: Wait! Are we like programming in Vegas? Is that what’s happening, where there’s no clocks around you or you just kind of go in,

[00:12:02] DA: There’s no clocks in Vegas. I didn’t know that. 

[00:12:05] SC: Are there? I mean – 

[00:12:06] RL: I think there are. Aren’t they?

[00:12:07] MN: No, I thought in the casino. I mean, in the casinos in Las Vegas. The casinos in Las Vegas, they don’t have clocks anywhere, so that you don’t know what time it is so you stay.

[00:12:18] DA: It’s just like surrounded by dinging and –

[00:12:22] MN: Bro, going into the casino –

[00:12:23] SC: You lose your sense of time, yeah.

[00:12:25] MN: Going into the casino is prime flow state, bro.

[00:12:30] DA: Oh, no! Oh, no! And then like a balance between skill level and challenge.

[00:12:36] MN: That one’s interesting.

[00:12:37] DA: Puling it. Pulling it.

[00:12:38] MN: That one’s interesting, too, right? If we talk about programming, for example. If you know the task at hand, and it’s very difficult, like you will be frustrated and be knocked out of flow. But like if it’s something that you truly know, that you could just jump in and kind of like punch them semi-colons in and make sure that the task is finished, like that will get you there for sure. Using the Las Vegas casino example, the skill level of bringing that slot hand down, bro.

[00:13:06] RL: So easy. That’s it.

[00:13:07] DA: I can do this with some dice just like –

[00:13:09] RL: Exactly.

[00:13:10] DA: Roll the dice. I got it.

[00:13:11] RL: Do a little throw. Yeah, of course.

[00:13:15] DA: I can see that. Very advanced. But I think also, like with a balance of skill level, and challenge. This is something that like pair programming also really helps with, because when you’re doing pair programming, you have a diversity of experience that can kind of like even out the skill level of your little unit and keep that challenge within reach. I think also, pairing, we’ve talked about like as a tool for like concentration as well. Another component is a high level of concentration and focus. For me, I feel like pairing is something that helps me stay focused on the task.

[00:13:53] MN: Right. I think we spoke about, in a couple episodes, some people find high levels of concentration through music if you’re soloing on something or complete silence for other individuals. But that probably resonates with other – depending on how you find that level of concentration. I think it varies from person to person. But I think pairing definitely helps the majority of people, myself included. I think something I tell people all the time is, you’re less likely to check your Twitter feed if you’re pairing with someone watching you, and doing that when you should be out of task at hand. Concentration is definitely, definitely important and pairing definitely helps with that as well.

[00:14:40] SC: Some of these tools that we’ve talked about too when it comes to pairing, I think probably help pairs get into the flow state, for instance, tuple.

[00:14:47] MN: Yeah. I mean, because you share in that screen is like you’re really there. They can see all –

[00:14:53] SC: Exactly right.

[00:14:55] MN: You’re like, “Oh! I got to –”

[00:14:56] SC: [Inaudible 00:14:56] looking through like a pane of glass, right? It just feels like you’re in the same place.

[00:15:01] MN: Right. You got to turn off that WhatsApp and that signal, turn off your cryptocurrency tickers. You don’t need that when you’re pairing. Your bitcoins going to be okay, hopefully when you hear this, and that keeps you really, really focused.

[00:15:18] DA: Yeah, that’s true. There was this other article that kind of talked about this delicate balance between like hyper focus and flow, which I thought was interesting. It’s kind of another line of research where – so flow is this like highly focused state where you’re just kind of chugging through the intrinsic reward of doing a thing. But like, there’s like an interesting contrast to the state of hyper focus, which was common with people with ADHD. Sometimes, it can be kind of a balance where you don’t want to go too far. It’s good to like take frequent breaks, and kind of pace yourself. Because you don’t want to lose so much amount of your time that you’re going to end up like gambling until 3:00 AM or whatever.

[00:16:09] MN: I mean, you wouldn’t even know – you wouldn’t even know it’s 3:00 AM, bro, that said. It’s crazy in Vegas. I’ve never been – I just know that’s like a fun fact that I knew about it.

[00:16:21] DA: [Inaudible 00:16:21]

[00:16:23] SC: I have a sort of funny story about Vegas, which is that a friend of mine who’s a research scientist told me that some research scientist went to a conference in Vegas, and they were uninvited back for next year because no one gambles. None of the research scientist gambles, as they lost money.

[00:16:42] DA: Oh, no.

[00:16:43] MN: They were focused on in flow state for science.

[00:16:46] DA: For science.

[00:16:48] MN: Nothing else. Hyper focused.

[00:16:51] RL: Hyper focused.

[00:16:52] MN: Cool. If you’re going to host an event in Vegas, make sure you’re in the flow state and gambling. I think that – it’s really interesting, because we made that connection in the episode. But I think, there’s probably a lot of psychology around flow state for gamblers and why Vegas has all these things that kind of – 

[00:17:17] DA: Flow kind of is addictive. When you’re getting that dopamine hit for like coding, a good solution and things are growing, it has a reward cycle.

[00:17:28] SC: Yeah, for sure. 

[00:17:30] DA: So yeah.

[00:17:31] MN: I guess the question I would ask then is that – should we be concerned by that, the fact that flow can be addictive?

[00:17:39] RL: Too much flow?

[00:17:41] SC: I’d like to counter that with thinking about, but what makes it flow? It must have something that keeps your interest. If programming keeps your interest, then I don’t think that’s a bad thing. Flow helps you identify where there is interest, and where it’s worth putting focus.

[00:18:07] DA: Yeah, I agree. I agree. I think, also, you get paid for being a programmer, hopefully. That’s pretty cool.

[00:18:13] SC: Or whatever it is.

[00:18:16] MN: No, no. But hold on, what if – suppose we have someone who was out there. I mean, I don’t know. Suppose you are working, and you are salaried, right? But they know you are addicted to flow, you could be working 70 hours a week. And your organization could very well be taking advantage of your addiction to flow. If you’re in the flow state, we’d love to hear ways you get into flow. But if you’re doing 80 hours a week, I mean, that’s entrepreneur hustler.

[00:18:47] DA: Please refer to episode about an energized work. Get [inaudible 00:18:52].

[00:18:53] MN: Exactly.

[00:18:54] DA: Another interesting research about flow is that there’s like not just one kind of flow that you can get into. There’s this quiz that you can take, which I mean, everybody loves a little quiz, it’s fun. You can find out like what kind of environments and activities might be best suited for you to get into flow. There’s like four different kinds, and I think a bunch of our colleagues took this test and I think not unsurprisingly, a lot of people got the deep thinker category where they’re just like, “Oh, yeah. Just like quiet things and like chilling out.”

[00:19:35] MN: Oh, yeah. I think I took it. I was like the hardcore person. I was like – what is it? The go getter. I think that –

[00:19:43] DA: Oh, the go getter from the Bronx.

[00:19:46] MN: From the Bronx, yeah. Bobby from the Bronx, go get in it, which I thought was very interesting too. There’s two other – there’s four different, I would say, types of flow that they mentioned. I know one of them is like more meditation and concentration, which sounds very foreign to me. But even when I read these nine components, I know that there are some components in this list that I cannot achieve in my own personal house. Because I’ll tell you right now, a high level of concentration with a two-year-old right outside the door could be a little difficult. It’s really, really interesting, the Flow Genome Project, as we mentioned in the quiz, that you can take the quiz at this website, talks about meditation and being in the flow of the things around it, even outside of work, which makes things a little more interesting for me.

[00:20:42] DA: Right. Yeah. I think also, like there’s the last type of flow is like social and like kind of engaging and riffing off of people. Maybe that’s something that you could tap into, the Buddha form of flow is not going to come with Gio, but maybe like a social engaging form.

[00:21:02] MN: Yeah. Definitely the social, yeah. Of course, you got to – when you pair a program with the three-year-old, I think you get a lot of work done. Gio is of the rubber duck that I get to – Like, “Oh! Come here. The line is doing this, don’t understand why. Oh! I’m hitting the wrong URI.” That’s pretty much I get every time. Gio doesn’t care. He’s just drawing on the floor and a marker on the carpet. It’s like, I’ll clean that up later. 

[00:21:32] DA: That’s a safe space too, doesn’t mind.

[00:21:34] MN: Yeah. I get to flow in that regard. Like it’s a little different of being hyper focused. My hyper focus is a little different, because I’m focusing on the environment, including the thing that I’m working on, as well the wellbeing of my son and my wife and the household and bouncing back and forth is great.

[00:21:56] DA: I feel like we had a very good social form of flow here. I really enjoyed talking with you all about this topic.

[00:22:04] SC: Yeah, same here.

[00:22:05] RL: Yeah.

[00:22:06] MN: Yeah. I mean, we’ve been flowing for a lot longer than we normally do. We all have glass in our room.

[Crosstalk 00:22:12] 

[00:22:15] MN: Those little clocks are just –

[00:22:16] RL: This is the casino right now.

[00:22:20] MN: We are definitely jumping and jiving right now as we talk about flow.

[00:22:24] SC: Here’s another use case for that alarm clock on wheels.

[00:22:27] MN: There you go.

[00:22:28] SC: Take it along with you.

[00:22:30] DA: Yeah. All right. Well, guys, I’m going to cash out of this casino. Hit it through.

[00:22:36] RL: Sounds good.

[00:22:38] MN: Cashing out the casino, that was great. Thanks, Dave.


[00:22:41] MN: Follow us now on Twitter @radiofreerabbit so we can keep the conversation going. Like what you hear? Give us a five-star review and help developers just like you find their way into The Rabbit Hole. Never miss an episode. Subscribe now however you listen to your favorite podcast.

On behalf of our producer extraordinaire, William Jeffries, and my amazing co-host, Dave Anderson, and me, your host, Michael Nunez, thanks for listening to The Rabbit Hole.


Links and Resources:

Raymond Lam 

Sophie Creutz

Michael Nunez


Wikipedia's definition of 'Flow' 

Flow Genome Project 

The Rabbit Hole on Twitter


Michael Nunez on LinkedIn

Michael Nunez on Twitter

David Anderson on LinkedIn

David Anderson on Twitter

William Jeffries on LinkedIn

William Jeffries on Twitter