flow
DESCRIPTION
A lighthearted presentation on the psychological phenomenon that makes programming fun: Flow.TRANSCRIPT
FLOWThe Psychology of ProgrammingThe Psychology of ProgrammingThe Psychology of ProgrammingThe Psychology of Programming
1
Erik Ralston
BIS BoF
February 18th, 2010
What is Flow?
2
What is Flow?
A psychological state of high performance concentration
Often experienced during applied creativity (art, music, programming)
Generally a “happy” or “ecstatic” state for the participant
Identified by Mihaly Csíkszentmihályi
(me-HIGH chick-sent-me-HIGH-ee)(me-HIGH chick-sent-me-HIGH-ee)
Characterized by absentmindedness
Merging of action and awareness
Narrowing of external perception
Loss of time perception
3
Who uses flow?
Athletes – Sports psychology is about combining mental and physical technique to achieve flow.
4
Who uses flow?
Musicians – Sight-reading and improvisational performance rely on merged thought and action.
5
Who uses flow?
Game Designers – Flow provides the positive emotions associated with game experiences.
6
Who uses flow?
Martial Artists – Mushin – “No Mind” – Chinese word for zen-like mental state in combat and practice
7
What is like FLOW (but not)?Fascination – The total perception of only a single stimulus
8
What is like FLOW (but not)?Highway Hypnosis – The mental state achieved during driving (or other tasks) releasing the conscious mind from repetition
9
What is like FLOW (but not)?Mania – A psychotic state of racing thought
Stems from dysfunction in the brain
Bi-Polar patients “enjoy” mania
Manic individuals often stop taking
10
Manic individuals often stop taking drugs in order to return to “the high”
How do I “Use The FLOW”?
To a certain extent, flow is about overwhelming the mind
Immersive – Activity must be intense and multi-faceted
Automaticity – Details of actions are sub-conscious
Instant Gratification – Feedback is immediate
Incremental progress is immediately perceptibleIncremental progress is immediately perceptible
Familiarity – Do it using a language & technology you know
Comfort – Good ergonomics, personalized surroundings, and full stomach
Listen to music
11
The Flow Channel
12
Experience & Flow
13
Flow Channel & Learning
14
What stops FLOW?
Confusion (No Control) - I don’t know why or what I am doing
Coercion (No Control) – I don’t WANT to do what I’m doing
Frustration (No Rewards) – What I do doesn’t help!
Boredom (No Challenge) – One tunes out during menial tasks, they don’t flow!they don’t flow!
15
How does FLOW help programming?
Connects coding to happiness; making it exciting not boring
Integrates thinking and coding into one mental process
Allows intuitive parts of brain to manage complexityAllows intuitive parts of brain to manage complexity
16
Addicted to Flow
Flow causes “workaholics” and video game addiction
Drugs seek to replicate what Flow does naturally
Do not choose Flow instead of life
17
How does PNNL promote FLOW?
Policies for employee engagement
Control - “At work, do your opinions seem to count”
Challenge - “In the last year, have you had opportunities to learn and grow?”
Reward (Extrinsic) – “In the last seven days, have you Reward (Extrinsic) – “In the last seven days, have you received recognition or praise for doing good work?”
Reward (Intrinsic) - “At work, do you have the opportunity to do what you do best every day?”
18
Questions?
19
THANK YOU!And May The Flow Be With You
20