July 20–24, 2015
Portland, OR

Coding in the FLOW: Structuring your development session to promote a state of flow

Caskey Dickson (Microsoft)
4:10pm–4:50pm Wednesday, 07/22/2015
Craft D135/136
Average rating: ***..
(3.50, 18 ratings)
Slides:   1-PDF    external link

Prerequisite Knowledge

Any software engineering experience will be helpful as this is about tuning your personal development model to maximize your own performance.


Flow, also know as zone, is the mental state of operation in which a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. As software developers we occasionally get to experience that glorious state of productivity where we are in the zone, time flies by, and features come flowing out of us.

It turns out that you can actually structure your working environment and coding session to actively encourage your mind to slip into the state of flow. This is as simple as ensuring that your task structure and development cycle match the well-identified prerequisites to entering this state. By breaking your work up, and structuring it using common well-known software development practices, you can achieve more and longer states of flow while getting work done and feeling accomplished.

This talk will discuss the prerequisites for flow, established development techniques that actively encourage flow, encouraging maintenance of flow, and how to encourage states of team flow where your whole group is getting things done. This talk does not evangelize or encourage specific development techniques; rather it shows which aspects of established practices encourage flow and which actively detract from flow, so that you can choose how to prioritize your personal flow over process.

Photo of Caskey Dickson

Caskey Dickson


Caskey Dickson is a site reliability engineer/software engineer at Google, where he works on infrastructure systems writing and maintaining services that operate at Google scale. Caskey has worked in online service development and system administration since 1995. Before he arrived at Google in 2010, he was a senior developer at Symantec, wrote software for various internet startups such as CitySearch, Cars Direct, and WeddingChannel, ran a consulting company for several years, and even spent a half decade teaching undergraduate and graduate computer science at Loyola Marymount University. He has an undergraduate degree in computer science, a master’s degree in systems engineering, and an MBA from Loyola Marymount.

Comments on this page are now closed.


Picture of Caskey Dickson
Caskey Dickson
07/26/2015 3:12pm PDT

To those who keep commenting asking for the slides, they are at the top of this page.

Darryl Martin
07/26/2015 3:02pm PDT

I found the slides at https://docs.google.com/presentation/d/1LEEyN8tKzKu7aIGbRFMZzxDqqwvvXKH-FMmcSYjjpn0/pub?slide=id.p3

Ryan Hartlage
07/22/2015 12:47pm PDT

Hey Caskey, great talk and I’m sorry there wasn’t time to finish. Can you post your slides somewhere so that we can imagine the end of your talk?