The importance of flow state for developers

developer experience   health   development   fast flow   software delivery metrics  

Explore DDD workshop, April 14-15, 2025, Denver - Designing microservices: responsibilities, APIs and collaborations. Early bird discount ends March 7th. Learn more and enroll.


The importance of flow state for developers

Flow state, or to be more precise, ample opportunities for flow state, is one of the three elements of a great Developer Experience (aka. DevEx).

Great Developer Experience

In this article, I will:

  • Explain the concept of flow state
  • Explore why it’s important
  • Describe the obstacles to flow that are all too prevalent in the modern world
  • Discuss what you can do to increase opportunities for flow

What is flow state?

To quote Wikipedia:

Flow in positive psychology, also known colloquially as being in the zone or locked in, is the mental state in which a person performing some activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity.

Flow is not a new concept. While I first read about it in the 1990 book Flow by the psychologist Mihály Csíkszentmihályi, he actually first wrote about the concept in 1975.


Why is it important?

Flow is important because, to quote DevEX: What Actually Drives Productivity:

Frequent experiences of flow state at work lead to higher productivity, innovation, and employee development. Similarly, studies have shown that developers who enjoy their work perform better and produce higher-quality products. Interruptions and delays—which relate to the feedback loops dimension—are important factors that hinder a developer’s ability to experience flow state. Other factors include maintaining autonomy over work structure, having clear team and project goals, and engaging in stimulating and challenging tasks.

In short, enabling flow for developers boosts productivity, quality, and overall job satisfaction.

Obstacles to flow state

Sadly, the modern world presents many obstacles to achieving and maintaining flow.

Constant interruptions

Constant interruptions are a major obstacle to flow. It often requires fifteen to twenty-five minutes—or sometimes even longer—of uninterrupted work to become fully immersed in a task. This means that the key elements of the modern work environment - constant notifications, phone calls, messages, endless meetings and a noisy open-plan office - make it difficult to find the large blocks of focused time necessary to enter and maintain flow.

Smartphones

Smartphones are especially problematic. Not only do they actively interrupt you with alerts, but they also passively tempt you will “infinity pools” of distraction such as social media feeds.

Slow feedback loops

Problems the other elements of the DevEx triangle are also obstacles to flow. Slow feedback loops, such as slow development tools, can interrupt flow. For example, if you have to wait for more than 10 seconds for a tool to complete an action, you can lose your train of thought and struggle to regain your focus. It’s important for a work environment to have fast feedback loops to enable flow.

High cognitive load

A work environment that is unnecessarily complex and has a high cognitive load can also prevent flow. On the one hand, tasks need to be challenging to engage your full attention. Yet tasks that are too challenging - i.e., have excessive cognitive load - can be too stressful and prevent flow. It’s important for a work environment to have a minimal accidental cognitive load to enable flow.

Action items for flow

It’s essential to recognize that creating an environment that enables flow is both an individual and a collective endeavor. There are practical steps you can take personally, such as managing your own notifications and environment. Engineering leaders also play a critical role in creating conditions that enable every team member to experience flow. Let’s start with the personal action items.

Personal action items

On a personal level, you should eliminate as many distractions as possible. Turn off unnecessary notifications on every device you use for work and consider placing your phone in another room. Also, consider setting specific times for checking email and social media. These simple steps can significantly reduce the temptations that pull you out of a productive flow.

Two great books that I’ve found useful are:

Of course, there is only so much that you can do as an individual since your organizations’ policies and practices also play a significant role in enabling or preventing flow.

Action items for engineering leaders

For engineering leaders, the challenge is to cultivate an environment that supports flow for every team member. Periodic DevEx surveys should assess how well your organization is doing in enabling flow.

According to DevEX: What Actually Drives Productivity

To improve DevEx, teams and organizations should focus on creating the optimal conditions for flow state. Disruptions should be minimized by clustering meetings, avoiding unplanned work, and batching help requests. Leaders should also recognize that flow state depends on creating positive team cultures that give developers autonomy and opportunities to work on fulfilling challenges.

In particular, improving the other elements of DevEx - accelerating feedback loops and reducing cognitive load - has the added bonus of enabling flow.

Need help with accelerating software delivery?

I’m available to help your organization improve agility and competitiveness through better software architecture: training workshops, architecture reviews, etc.

Learn more about how I can help


developer experience   health   development   fast flow   software delivery metrics  


Copyright © 2025 Chris Richardson • All rights reserved • Supported by Kong.

About Microservices.io

Microservices.io is brought to you by Chris Richardson. Experienced software architect, author of POJOs in Action, the creator of the original CloudFoundry.com, and the author of Microservices patterns.

ASK CHRIS

?

Got a question about microservices?

Fill in this form. If I can, I'll write a blog post that answers your question.

NEED HELP?

I help organizations improve agility and competitiveness through better software architecture.

Learn more about my consulting engagements, and training workshops.

LEARN about microservices

Chris offers numerous other resources for learning the microservice architecture.

Get the book: Microservices Patterns

Read Chris Richardson's book:

Example microservices applications

Want to see an example? Check out Chris Richardson's example applications. See code

Virtual bootcamp: Distributed data patterns in a microservice architecture

My virtual bootcamp, distributed data patterns in a microservice architecture, is now open for enrollment!

It covers the key distributed data management patterns including Saga, API Composition, and CQRS.

It consists of video lectures, code labs, and a weekly ask-me-anything video conference repeated in multiple timezones.

The regular price is $395/person but use coupon NTOQTWTO to sign up for $95 (valid until February 17th, 2025). There are deeper discounts for buying multiple seats.

Learn more

Learn how to create a service template and microservice chassis

Take a look at my Manning LiveProject that teaches you how to develop a service template and microservice chassis.

Signup for the newsletter


BUILD microservices

Ready to start using the microservice architecture?

Consulting services

Engage Chris to create a microservices adoption roadmap and help you define your microservice architecture,


The Eventuate platform

Use the Eventuate.io platform to tackle distributed data management challenges in your microservices architecture.

Eventuate is Chris's latest startup. It makes it easy to use the Saga pattern to manage transactions and the CQRS pattern to implement queries.


Join the microservices google group