Published on

A lighthearted presentation on the psychological phenomenon that makes programming fun: Flow.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. FLOW The Psychology of Programming Erik Ralston BIS BoF February 18th, 2010 1
  2. 2. What is Flow? 2
  3. 3. 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) Characterized by absentmindedness Merging of action and awareness Narrowing of external perception Loss of time perception 3
  4. 4. Who uses flow? Athletes – Sports psychology is about combining mental and physical technique to achieve flow. 4
  5. 5. Who uses flow? Musicians – Sight-reading and improvisational performance rely on merged thought and action. 5
  6. 6. Who uses flow? Game Designers – Flow provides the positive emotions associated with game experiences. 6
  7. 7. Who uses flow? Martial Artists – Mushin – “No Mind” – Chinese word for zen- like mental state in combat and practice 7
  8. 8. What is like FLOW (but not)? Fascination – The total perception of only a single stimulus 8
  9. 9. What is like FLOW (but not)? Highway Hypnosis – The mental state achieved during driving (or other tasks) releasing the conscious mind from repetition 9
  10. 10. 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 drugs in order to return to “the high” 10
  11. 11. 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 perceptible Familiarity – Do it using a language & technology you know Comfort – Good ergonomics, personalized surroundings, and full stomach Listen to music 11
  12. 12. The Flow Channel 12
  13. 13. Experience & Flow 13
  14. 14. Flow Channel & Learning 14
  15. 15. 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! 15
  16. 16. 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 complexity 16
  17. 17. 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
  18. 18. 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 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
  19. 19. Questions? 19
  20. 20. THANK YOU! And May The Flow Be With You 20