Books for software engineers and managers



The Psychology of Optimal  Experience

by Mihaly Csikszentmihalyi

Engineering Manager,
Star Engineer

How strongly do I recommend Flow?
7 / 10

Review of Flow

Flow is kind of a long read and feels a bit academic. Over Flow, I would recommend Peak because it contains more practical applications while covering similar content.

The 7 components of  flow

Intuitively, many engineers know the feeling of flow. Csikszentmihalyi defines the components of flow, noting that they are not all required but frequently present together:

  1. We have a chance of completing the task
  2. We are able to concentrate
  3. The task has clear goals
  4. The task provides immediate feedback
  5. The performer feels removed from the worries and frustrations of everyday life
  6. The performer feels a sense of control over their actions
  7. Concern for self disappears

For me, flow represents the feeling experienced when deeply engaged in deliberate practice as presented in Peak.

The purpose of flow is to keep  flowing

Engineers love talking about optimization. Peak performance. Max throughput.

Flow introduces time to the equation. Peak performance is measured by a period of time, not a moment in time.

The longer you remain in flow, the higher your performance.

To be enjoyable, a relationship must become more  complex

Csikszentmihalyi writes, “To be enjoyable, a relationship must become more complex. To become more complex, the partners must discover new potentialities in themselves and each other–so that they can learn what thoughts and feelings, what dreams reside in their partner’s mind.”

Relationship complexity grows with feedback. Feedback doesn’t mean a performance review; it means conversation where we intentionally address difficult topics in a collaborative way.

Our most complex relationships have plenty of feedback loops. When those feedback loops go dark, the relationship is likely failing.

Jobs that resemble games are more  enjoyable

The 7 components of flow previously listed all suggest a gamified task. As an engineering manager, we have plenty of ways to gamify the development process and encourage productive behaviors.

Green and red signals on automated tests, release counts, usage metrics, and fun emoji responses in Slack are just a few examples of how I leverage gamification within my team to encourage frequent releases, customer focus, and strong communication.

Home life does not take care of  itself

Csikszentmihalyi points out that men are particularly vulnerable to believing that work needs active attention, but home life will take care of itself. Wrong.

Your personal relationship and health require the same level of dedicated effort as your work.