Abstract
Problem: How should game developers manage "flow" — the mental state of deep, efficient, uninterrupted work — when their jobs also require meetings, collaboration, and creative brainstorming?
Approach: Tim Cain draws on decades of experience as a programmer and designer to break down which tasks need flow, how much they need, and how to organize a workday around protecting flow while still being a functional team member.
Findings: Different tasks require vastly different amounts of flow. Programming (especially writing new, complex code) demands deep flow, while debugging, brainstorming, and meetings need little or none. Flow ability changes with age, varies by time of day, and must be actively managed by organizing your schedule around it.
Key insight: Know exactly which of your tasks need flow, how much, and when you flow best — then proactively organize your day around that, working with your producer to protect flow time while still making room for necessary collaboration.
What Flow Is
Flow is a mental state of deep, efficient, uninterrupted work output. Tim describes it as something you simply recognize if you've experienced it — and something nearly impossible to explain to those who haven't. Key characteristics:
- It takes time to enter — Tim needs 15–20 minutes to drop into flow, though younger Tim could manage it in a minute or two
- Interruptions destroy it instantly — once broken, flow crumbles and takes the full ramp-up time to rebuild
- Not everyone experiences it — some people have never entered a flow state and genuinely don't understand what others are describing
Different Tasks Need Different Amounts of Flow
Tim discovered through years of programming and design work that flow requirements vary dramatically:
- Writing new, complex code — needs deep flow. Tim describes coding on his space game, falling into flow after 15 minutes, then looking up to find two hours had passed with "really cool torpedo code" written
- Debugging — needs much less flow, especially when just setting breakpoints and stepping through. Interruptions during debugging aren't a big deal
- Design work — needs less flow than programming overall
- Brainstorming — actively benefits from not being in flow. Tim prefers to stay present, intuitive, and responsive to other people's ideas rather than hyperfocused
- Creative bursts — completely resist flow and planning. You can't sit down and decide "time to be funny." Ideas just arrive spontaneously
Flow Changes with Age and Time of Day
Tim notes two important patterns:
- Age matters — younger Tim entered flow much faster than older Tim. What once took a minute or two now takes 15 minutes
- Time of day matters — Tim flows best in the morning, so he schedules videos, client work, and complex coding before lunch. Afternoons are reserved for meetings, reviews, design docs, and errands
Capture Ideas When They Strike
Because creative bursts can't be planned or forced, Tim always keeps a capture method nearby:
- A physical notebook on his desk
- His phone's notes app
- Email to himself as a last resort — which has the bonus of providing a timestamped record of when the idea occurred
Making Flow Work with Teams
Tim pushes back on the common developer stance of "I never want meetings":
- Some tasks genuinely need meetings — coordination that email or Slack can't replace. Tim has never met anyone where 100% of meetings could be replaced with async communication
- Refusing all meetings is counterproductive — other people need them, and some work is simply better done face-to-face
- The solution is scheduling, not avoidance
Tim's Practical Recommendations
- Audit your tasks — identify exactly which ones need flow, how much, and for how long
- Find your flow window — determine what time of day you enter flow most easily (morning, afternoon, evening)
- Organize your day accordingly — cluster flow-dependent work in your peak window
- Work with your producer — ask them to schedule meetings outside your flow time. Say "could you schedule my meetings in the afternoon?" rather than "I don't do meetings"
- Accept some compromise — occasionally you'll need a meeting during flow time. That's the cost of working with other humans
- Minimize disruption — even when compromises are necessary, aim for the least disruptive arrangement possible
References
- Tim Cain. YouTube video. https://www.youtube.com/watch?v=0_cPr0XCtOs