Flow is the process that happens when no deliberate control of attention is necessary for a mental task.
In the film the Social Network, this is depicted as a desirable state for a programmer.
What is the flow zone?
The flow state allows us to shut down the controller instance in our brain. Everything seems to go smoothly. We experience that effortful tasks can make fun.
This emotional experience comes from a rise of dopamine and endorphins in your brain.
Some conditions are beneficial to arrive at the flow zone
- being engaged in an effortful task
- having a good mood or a happy life episode
- low on depression
- knowledge novices compared to experts
- high faith in intuition
- if they are (made to feel) powerful
In short, a young graduate with an inflated ego in charge of a small team or an important task will quickly arrive in the flow zone.
A mid-career engineer that has deep experience faced several setbacks at work, and just divorced is less likely to be in the flow zone.
If we experience flow together, we usually have the best time. Often this happens at perfect parties. Sometimes it can happen at work. Startups are among those workplaces where flow is the most common.
We all wish we were the young graduate again, working with his fellow beginners on a remarkable piece of technology. The world seemed limitless back then.
Flow is terrible for the holistic approach.
But did you ever work on a piece in flow mode and eventually recognize that you were doing a micro-optimization and completely lacked the big picture?
The controller in us keeps track of the big picture and what each of our actions adds to it. If we shut it off, we do what seems to be a very reasonable next step. Sometimes this next step leads us in the wrong direction.
If you are in a big office, you also face another problem. Interruptions of the zone are experienced as an annoyance. This comes done to a reduction of hormone release. While the exact processes are not yet fully understood, it is clear that the severe decline of endorphin release is experienced as an adverse event.
These negative emotions are undoubtedly destructive for you. It can also permanently affect your relationship to your coworkers. Their usually well-intended attempt to communicate with you provoked a negative feeling within you. Your cold response evoked a negative emotion in them and will lead to fewer communication attempts in the future.
What is better than flow to be a successful engineer?
Uncle Bob writes about his experience with Flow in “Clean Coder.”
He highly warns us to enter the flow zone unprepared. We certainly will write better and faster code but often fail to consider external requirements for our code.
Later adaptions to the code will be necessary, potentially wrecking the beautiful flow code we created.
He recommends doing frequent breaks and switching activities to reactivate the internal controller.
At the same time, he suggests pair programming as pairing would not allow flow.
This point does not entirely convince me. Two engineers who understand each other well and work in tandem can be so fixed on their solution that they forget the big picture. This is backed up by the evidence that two individuals can also arrive in the flow zone.
What is your opinion? Looking forward to your comment or mail.