SlideShare a Scribd company logo
1 of 129
Download to read offline
Janelle Klein
openmastery.org @janellekz
A Programmer’s Guide To
HUMANS
SPC
Looks okay.
Alert!
Measurements
Tools
About 10 Years Ago…
Statistical Process Control (SPC) in Semiconductor
SPC
Looks okay.
Alert!
Measurements
Tools
We shipped to production…
SPC
Looks okay.
Shutdown!
Measurements
Tools
Missing
Config Change
We shipped to production…
SPC
Measurements
Looks okay.
Alert!
Tools
We shipped to production…AGAIN
SPC
Looks okay.
Shutdown!
Measurements
Tools
We couldn’t reproduce the problem!
We shipped to production…AGAIN
SPC
Looks okay.
Shutdown!
Measurements
Tools
Six months later…
Threading
Bug
SPC
Measurements
Looks okay.
Alert!
Tools
We shipped to production…
AGAIN (3x)
SPC
Looks okay.
Shutdown!
Measurements
Tools
Memory
Leak
We shipped to production…
AGAIN (3x)
Totally my fault.
We had an AWESOME team!
We had a MOUNTAIN of automation!
We were DISCIPLINED with best practices!
+
Project FAILURE
+
We had a GREAT team!
We had a MOUNTAIN of automation!
We were DISCIPLINED with best practices!
How did we turn this around?
The Retrospective
“Our tests aren’t catching our bugs!”
Our biggest problem
“Well, if we don’t understand
a problem, we should
collect data.” “What data would help us
understand the problem?”
Technical Debt Mistakes
I thought the problem was
Technical Debt
SPC
Looks okay.
Alert!
Measurements
Tools
System Architecture
Statistical Process Control (SPC)
UI
code
Charting
Code
Beautiful
Looks okay.
Alert!
Measurements
Tools UGLY UGLY
System Architecture
Statistical Process Control (SPC)
Complex(
So*ware(
PAIN
This is what I knew...
What made development feel painful?
Unexpected
Behavior
Problem
Resolved
Tracking Painful Experience with the Code
Troubleshooting
Progress
5 hours and 18 minutes of troubleshooting...
PAINFUL
The amount of PAIN was caused by…
Likeliness(of((
Unexpected(
Behavior(
Cost(to(Troubleshoot(and(Repair(
High(Frequency(
Low(Impact(
Low(Frequency(
Low(Impact(
Low(Frequency(
High(Impact(
PAIN(
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
Semantic Mistakes
Stale Memory Mistakes
Association Mistakes
Bad Input Assumption
Tedious Change Mistakes
Copy-Edit Mistakes
Transposition Mistakes
Failed Refactor Mistakes
False Alarm
Non-Deterministic Behavior
Ambiguous Clues
Lots of Code Changes
Noisy Output
Cryptic Output
Long Execution Time
Environment Cleanup
Test Data Creation
Using Debugger
Most of the pain was caused by human factors.
What causes PAIN?
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
Non-Deterministic Behavior
Ambiguous Clues
Lots of Code Changes
Noisy Output
Cryptic Output
Long Execution Time
Environment Cleanup
Test Data Creation
Using Debugger
What causes PAIN?
Most of the pain was caused by human factors.
Semantic Mistakes
Stale Memory Mistakes
Association Mistakes
Bad Input Assumption
Tedious Change Mistakes
Copy-Edit Mistakes
Transposition Mistakes
Failed Refactor Mistakes
False Alarm
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
Non-Deterministic Behavior
Ambiguous Clues
Lots of Code Changes
Noisy Output
Cryptic Output
Long Execution Time
Environment Cleanup
Test Data Creation
Using Debugger
What causes PAIN?
Semantic Mistakes
Stale Memory Mistakes
Association Mistakes
Bad Input Assumption
Tedious Change Mistakes
Copy-Edit Mistakes
Transposition Mistakes
Failed Refactor Mistakes
False Alarm
Most of the pain was caused by human factors.
PAIN occurs during the process of
understanding and extending the software
Complex(
So*ware(
PAIN
Not the Code.
Optimize “Idea Flow”
PAIN occurs during the process of
understanding and extending the software
Complex(
So*ware(
PAIN
Not the Code.
Optimize “Idea Flow”
Data-driven
Improvement
My team spent tons of time working on
improvements that didn’t make much difference.
We had tons of automation, but the
automation didn’t catch our bugs.
My team spent tons of time working on
improvements that didn’t make much difference.
We had well-modularized code,
but it was still extremely time-consuming to troubleshoot defects.
The hard part isn’t solving the problems
it’s identifying the right problems to solve.
“What are the specific problems
that are causing the team’s pain?”
We learned how to learn together
Culture
What changed on our team?
The Fifth Discipline
The Art & Practice of the Learning Organization
Peter Senge
The Most INSPIRING Book EVER…
We learned how to learn together?
What if…
We saw the world as one big design problem?
What if…
Coding problem?
We’ve got tools for this.
Service 2Service 1
Human problem?
PANIC!
“Let’s fix these HUMAN Problems!”
A Scary Thought to Engineers
Predictably Irrational
Dan Ariely
“What if I could explain humans like code?”
Crazy Idea:
Code problems?
We’ve got tools for this.
Service 2Service 1
Humans Become an Engineering Problem
Service 2Service 1
Human Problems?
We’ve got tools for this too.
This Talk: Culture from the Inside Out
Output:
Decisions
Feedback Loop
DB
Pain Signal
Input:
Ideas
HUMAN = Decision-Making Engine
Awesome
Signal
Goal:
Minimize PAIN
Maximize AWESOME
Recognition:
How do ideas get inside our head?
Input:
Ideas
Metaphors We Live By
George Lakoff and Mark Johnson
On Intelligence
Jeff Hawkins
+
A Synthesis of the Research In…
Observe Pattern
“Do I know this pattern?”
Think of a “Concept” as a Metaphorical Shape
Observe Pattern
“Do I know this pattern?”
Think of a “Concept” as a Metaphorical Shape
“I don’t see anything.”
No Shape = No Recognition
Think of a “Concept” as a Metaphorical Shape
“Clojure”
“What is Clojure?”
Let’s say a friend asks us…
“What is Clojure?”
Let’s say a friend asks us…
Recognition is a Bottom-Up Process
Summarize
Sensory signals
“Clojure”
Brain Layer
Brain Layer
Brain Layer
Recognition FAILURE
Summarize
Sensory signals
Brain Layer
Brain Layer
Brain Layer
Eh?
“What is Clojure?”
Lisp
Functional Language
Groovy
JVM Language
Object-Oriented Language
New Shapes are Defined Relative to Old Shapes
“What is Clojure?”
Lisp
Functional Language
Groovy
JVM Language
Object-Oriented Language
Clojure!
Functional Language
JVM Language
New Shapes are Defined Relative to Old Shapes
Brain Hack #1
How can you improve your ability to
communicate with your peers and
recognize more details in your experience?
Expand your vocabulary of shapes
What Causes Unexpected
Behavior (likeliness)?
What Makes Troubleshooting
Time-Consuming (impact)?
Semantic Mistakes
Stale Memory Mistakes
Association Mistakes
Bad Input Assumption
Tedious Change Mistakes
Copy-Edit Mistakes
Transposition Mistakes
Failed Refactor Mistakes
False Alarm
Non-Deterministic Behavior
Ambiguous Clues
Lots of Code Changes
Noisy Output
Cryptic Output
Long Execution Time
Environment Cleanup
Test Data Creation
Using Debugger
Expand your vocabulary of shapes
Meaning:
How are shapes combined to create meaning?
Input:
Ideas
DB
Thing Patterns
Process Patterns
Relationship Patterns
Three Different Base Classes for “Concepts"
Base Classes for Thing Patterns
Physical Object I
Base Classes for Relationship Patterns
Directions
= Better
= Worse
Containers
In
Group
Out
Group
Human Identity
Put Things and Containers Together…
Object Identity
Empathy. Short-circuit Empathy.
Direction Metaphors Give Us Rank
Rank Objects Rank CategoriesRank People
Categorizing and ranking things is how our brains
make sense of the world
Category Types affect how we compare
In Group
Look for similarities
Out Group
Look for differences
Pre-wired to Model the In-Group
You extends from I
“I want to be just like you!”
Similarity
Seeking
My Team
We write unit tests.
We pair program.
You
Do you do
these things?
YES
Pre-wired to Model the In-Group
Pre-wired to Objectify the Out-Group
You extends from Object
“You’re nothing like me.”
Difference
Seeking
Developers
Testers
Pre-wired to Objectify the Out-Group
Testers extend from Object
“Testers are a tool for us to use.”
Smart People
Idiots
Pre-wired to Objectify the Out-Group
Idiots extend from Object
“Idiots are a tool for us to use.”
When I decide someone is “not like me”
Human Short-circuit empathy
This is why we act like assholes.
Brain Hack #2
How do you stop being an asshole?
Rewire your brain for empathy.
1. Stop and think.
Rewire your brain:
How to Stop Being an Asshole:
Similarity Seeking
Disgust
or ?
2. Choose ( )
Pity
Pre-wired to Extend Identity to Offspring
This is me. This is my baby.
“My baby is a part of me”
MyBaby extends I
Pre-wired to Extend Identity to “SoulCrafts”
This is me. This is my code.
PAIN
“Your code
sucks.”
Brain Hack #3
How do you stop feeling defensive?
Rewire your brain to disable empathy.
1. Stop and think.
Rewire your brain:
or ?
How to Stop Feeling Defensive:
Disables Empathy
PAIN
“Your code
sucks.”
2. Choose ( )
Output:
Decisions
DB
Pain Signal
Input:
Ideas
Awesome
Signal
Gut Feel:
Where do “gut feel” decisions come from?
Feeling Machine
Orbitofrontal Cortex + Lymbic System
(Summarized Body Response)
AWESOMEPAIN
Disgust
Anger
Desire
Beauty
LoveFear
Think “Fruit”
Simulate
Body Experience
Do I want “Fruit” or a “Salad”?
Not so much…
Think “Salad”
Simulate
Body Experience
Do I want “Fruit” or a “Salad”?
Fairly awesome…
Think about “Sally”
Simulate
Body Experience
Do I Like “Sally”?
Desire
Beauty
Think about “George”
Simulate
Body Experience
Do I Like “George”?
Disgust
Anger
Breakpoint
More Complex Decisions
Skip the Tests?
DELETE IT ALL!Write a Test?
Where do these feelings come from?
Base Class for Process Pattern
Journey
Beginning End
Journey: The Rollercoaster of Human Experience
Journey
Constraints
What were the challenges on the journey?
Frustration
Friction
Journey
What were the challenges on the journey?
PAIN
Journey Strategy
What were the challenges on the journey?
Victory!
This
SUCKS!
Journeys End in PAIN or AWESOME
Yay!
AWESOME!
AWESOMEPAIN
Situation Strategy Consequence
I’m on a Journey
“Journeys” are constructed of chainable parts
caused by
caused by
Consciousness
“What if?”
what if?
what if?
This
SUCKS!
I just brought down production…How do I avoid the PAIN next time?
What if I had
checked configs?
What if I had
better tests?
Brought down production
How do I avoid the PAIN next time?
caused by
caused by
what if?
what if?
I’ll do better
next time.
Consciousness
“What if?”
Brought down production
Situation Consequence
Prediction Machine
70%
20%
10%
sense intuit
“Gut Feel” arises through pattern reinforcement
see
Minimize PAIN
Maximize AWESOME
How do I avoid the PAIN next time?
Our PAIN Sensor is Horribly Miscalibrated
Ugly
Bothers us a lot
Difficult
Moderate difficulty
is enjoyable
Our entire discipline has evolved in the
absence of a feedback loop.
Brain Hack #4
How can you recalibrate your PAIN sensor?
Visualize your “PAIN”
If you want to desire it, call it AWESOME
If you want to avoid it, call it PAIN
Output:
Decisions
Feedback Loop
DB
Pain Signal
Input:
Ideas
Awesome
Signal
Brain in Motion: Prediction Machine
Rewire Your Brain
John B. Arden, Ph. D.
A Synthesis of the Research In…
Leadership and Self-Deception
The Arbringer Institute
+
Recent Past
(Patterns Recognized)
Predict:
What’s Next?
Our Brain is Constantly Making Predictions
We only update our brain code
when predictions FAIL
Predictions
Confirmed
Imagine you’re walking down the stairs…
predictions.next()
WTF?!
(RuntimeException)
Imagine you’re walking down the stairs…
Predictions
Violated
Consciousness + Repair Predictions
i.e. construct story
to make sense
Social Rejection = Violated Prediction
No
Identity
predicts inclusion…
Consciousness
PAIN
WTF?!
+ Repair Identity
“Me”
PAIN
How do we Repair Identity?
No.
“Me”
PAIN
How do we Repair Identity?
No.
PAIN > Disgust
“Me”
Self-Deception
WTF?!
“Me”
PAIN
How do we Repair Identity?
No.
PAIN > Disgust
“Me”
Self-Deception
Self-Deception is a coping strategy
for resolving identity conflicts
Personal
Truth
Authentic Path
(the “sense”)
The Downward Spiral of the Self
Identity
Self
Deception
lies
Personal
Truth
Authentic Path
(the “sense”)
Identity
Self
Deception
lies
The more we
deviate
Consciousness
Rationalize
The Downward Spiral of the Self
Personal
Truth
Identity
Self
Deception
Authentic Path
(the “sense”)
lies
The more we
deviate
Consciousness
Rationalize
“Emotional Baggage”
The Downward Spiral of the Self
Brain Hack #5
How do we escape the downward spiral?
Identity 2.0
Identity 2.0:
“I am the one who chooses in the moment”
Identity 1.0:
“I am the sum of my past”
The database is me.
DB
Consciousness is me.
Consciousness
Dreams
DB
Consciousness
Past Lessons
“I Choose”
in the moment
Identity 2.0
Momentum on the journey
results in joy in the moment
=
Me
Consciousness
Refactor the base class
What are the choices you can make everyday
that define who you are?
Identity 2.0 is a principle of continuous choice
My Team…
What choices did we believe in?
Courage.
Leadership.
Empathy.
Authenticity.
Respect.
The C.L.E.A.R. Mindset
Identity 2.0 is a principle of continuous choice.
Personal
Truth
Identity
Self
Deception
lies
Consciousness
CHOOSE
WTF?!
The C.L.E.A.R. Mindset
What is true?
Personal
Truth
Authentic Path
(the “sense”)
Identity
Self
Deception
Consciousness
CHOOSE
WTF?!
The C.L.E.A.R. Mindset
What is true?
Brain Hack #6
How do we build a C.L.E.A.R. culture?
Choose the path we want others to follow.
Culture is an Emergent Property
The only thing we actually control:
Personal Mindset
There is only “I” who chooses.
Remember:
Pre-wired to Model the In-Group
When you step up and lead,
the people on your team will model your choices.
C.L.E.A.R. Learning Culture
We put the PAIN on center stage,
then learn our way to AWESOME by working together
Poverty
War
Corrupt
Government
Broken
Education
Planetary
Destruction
The world around us…
If we zoom out…
We all want the world to be different.
But we all feel helpless.
Why are we helpless?
If we zoom out…
Why are we helpless?
We are crippled by our inability to work together.
We are crippled by the difficulty of change.
The Fifth Discipline
The Art & Practice of the Learning Organization
Peter Senge
The Most INSPIRING Book EVER…
The Most INSPIRING Book EVER…
What I See: Hope for Humanity
A path to get us here…
What I See: Hope for Humanity
Strategy to make mastery-level education
FREE to EVERY HUMAN in the world
Challenge 1: $$$$$$$$$$$$$$$$$$$$$$$$
Challenge 2: Unprecedented levels of cooperation
I believe the path starts with us…
Learning how to learn together
as a software community
We start with visibility.
We move toward awesome.
We start with our team.
We move toward our industry.
1. Measure Your PAIN
Automated Visibility Tools
Automated FAQ
“Idea Flow Maps”
January 1st, 2017
MVP for Individuals (OSS)
June 15th, 2017
MVP for Teams ($)
Dreams
DB
Past Lessons
2. Key Paradigm Shift: Machine -> Organism
“Business Creature”
DB
Past Lessons
Innovation
Pain Signal
Awesome
Signal
Dreams
Dec 1st, 2018
BusinessCreatureOS ($$$)
2. Key Paradigm Shift: Machine -> Organism
Dreams
Dreams
3. MMORPG: The Game of Life (Gamified Education)
C.L.E.A.R. C.L.E.A.R.
Tony’s Flair:
Monthly Awards
for guild achievements!
Tony’s Flair:
Monthly Awards
for guild achievements!
Nov 8th, 2020
MVP for Free Education
We design the game.
We make up the rules.
We invite the world to play.
Janelle Klein
openmastery.org @janellekz
How to Join:
Janelle Klein
Founder of Open Mastery
janelle@openmastery.org
1. Email Subject: “Tools Pilot”
2. Include IDE/Editor, Your OS
FREE!

More Related Content

What's hot

Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio management
Alberto Brandolini
 

What's hot (13)

Why #OpenDX?
Why #OpenDX?Why #OpenDX?
Why #OpenDX?
 
Data-Driven Software Mastery @Open Mastery Austin
Data-Driven Software Mastery @Open Mastery AustinData-Driven Software Mastery @Open Mastery Austin
Data-Driven Software Mastery @Open Mastery Austin
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014
 
Identify Development Pains and Resolve Them with Idea Flow
Identify Development Pains and Resolve Them with Idea FlowIdentify Development Pains and Resolve Them with Idea Flow
Identify Development Pains and Resolve Them with Idea Flow
 
Evangelizing Your Thing (Extended Edition)
Evangelizing Your Thing (Extended Edition)Evangelizing Your Thing (Extended Edition)
Evangelizing Your Thing (Extended Edition)
 
What lies beneath
What lies beneathWhat lies beneath
What lies beneath
 
Making feedback visible_agileee_2010
Making feedback visible_agileee_2010Making feedback visible_agileee_2010
Making feedback visible_agileee_2010
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 
Testing for cognitive bias in ai systems
Testing for cognitive bias in ai systemsTesting for cognitive bias in ai systems
Testing for cognitive bias in ai systems
 
The Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave FarleyThe Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave Farley
 
Theia H4D Stanford 2018
Theia H4D Stanford 2018Theia H4D Stanford 2018
Theia H4D Stanford 2018
 
Supercharging your bug reports
Supercharging your bug reportsSupercharging your bug reports
Supercharging your bug reports
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio management
 

Viewers also liked

Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Let's Make the PAIN Visible!
Let's Make the PAIN Visible!
Arty Starr
 
Complexity Theory and Software Development
Complexity Theory and Software DevelopmentComplexity Theory and Software Development
Complexity Theory and Software Development
Tim Berglund
 
Meaningful EMR Use - A Survey of Family Practice Clinics - TAGG_BEKKI_MSC_2015
Meaningful EMR Use - A Survey of Family Practice Clinics - TAGG_BEKKI_MSC_2015Meaningful EMR Use - A Survey of Family Practice Clinics - TAGG_BEKKI_MSC_2015
Meaningful EMR Use - A Survey of Family Practice Clinics - TAGG_BEKKI_MSC_2015
Bekki Tagg
 

Viewers also liked (17)

Let's Make the PAIN Visible!
Let's Make the PAIN Visible!Let's Make the PAIN Visible!
Let's Make the PAIN Visible!
 
How to manage web projects without setting your hair on fire
How to manage web projects without setting your hair on fireHow to manage web projects without setting your hair on fire
How to manage web projects without setting your hair on fire
 
キーボードアプリとSketchのススメ
キーボードアプリとSketchのススメキーボードアプリとSketchのススメ
キーボードアプリとSketchのススメ
 
Lessons learned
Lessons learnedLessons learned
Lessons learned
 
Managing machine learning
Managing machine learningManaging machine learning
Managing machine learning
 
BAHSICアルゴリズムによる非線形データからの特徴選択
BAHSICアルゴリズムによる非線形データからの特徴選択BAHSICアルゴリズムによる非線形データからの特徴選択
BAHSICアルゴリズムによる非線形データからの特徴選択
 
Machine Learning : The high interest credit card of technical debt
Machine Learning : The high interest credit card of technical debt Machine Learning : The high interest credit card of technical debt
Machine Learning : The high interest credit card of technical debt
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
 
「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ
 
Complexity Theory and Software Development
Complexity Theory and Software DevelopmentComplexity Theory and Software Development
Complexity Theory and Software Development
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなし
 
Cuestionario 1 b
Cuestionario 1 bCuestionario 1 b
Cuestionario 1 b
 
Stop Shopping Cart Abandonment
Stop Shopping Cart AbandonmentStop Shopping Cart Abandonment
Stop Shopping Cart Abandonment
 
публичная презентация
публичная презентация публичная презентация
публичная презентация
 
Meaningful EMR Use - A Survey of Family Practice Clinics - TAGG_BEKKI_MSC_2015
Meaningful EMR Use - A Survey of Family Practice Clinics - TAGG_BEKKI_MSC_2015Meaningful EMR Use - A Survey of Family Practice Clinics - TAGG_BEKKI_MSC_2015
Meaningful EMR Use - A Survey of Family Practice Clinics - TAGG_BEKKI_MSC_2015
 
Inwestycje we flotę transportową
Inwestycje we flotę transportowąInwestycje we flotę transportową
Inwestycje we flotę transportową
 

Similar to A Programmer's Guide to Humans

Exploratory Testing As A Quest
Exploratory Testing As A QuestExploratory Testing As A Quest
Exploratory Testing As A Quest
Chrishoneybee
 

Similar to A Programmer's Guide to Humans (20)

Alexandra Schieren: It's Just...
Alexandra Schieren: It's Just...Alexandra Schieren: It's Just...
Alexandra Schieren: It's Just...
 
Misconceptions on Perception
Misconceptions on PerceptionMisconceptions on Perception
Misconceptions on Perception
 
Graham Thomas - The Testers Toolbox - EuroSTAR 2010
Graham Thomas - The Testers Toolbox - EuroSTAR 2010Graham Thomas - The Testers Toolbox - EuroSTAR 2010
Graham Thomas - The Testers Toolbox - EuroSTAR 2010
 
What I Learned By Talking to 100+ Teams About Data
What I Learned By Talking to 100+ Teams About DataWhat I Learned By Talking to 100+ Teams About Data
What I Learned By Talking to 100+ Teams About Data
 
Uncharted lands, or why games are not designed but discovered
Uncharted lands, or why games are not designed but discoveredUncharted lands, or why games are not designed but discovered
Uncharted lands, or why games are not designed but discovered
 
5 vital PROCESSES & TOOLS for our STARTUP
5 vital PROCESSES & TOOLS for our STARTUP5 vital PROCESSES & TOOLS for our STARTUP
5 vital PROCESSES & TOOLS for our STARTUP
 
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...
Cognitive Shortcuts: Models, Visualizations, Metaphors, and Other Lies (Casca...
 
Tickets Make Ops Unnecessarily Miserable: The Journey to Self-Service
Tickets Make Ops Unnecessarily Miserable: The Journey to Self-ServiceTickets Make Ops Unnecessarily Miserable: The Journey to Self-Service
Tickets Make Ops Unnecessarily Miserable: The Journey to Self-Service
 
The Science Of Troubleshooting
The Science Of TroubleshootingThe Science Of Troubleshooting
The Science Of Troubleshooting
 
How to make your message stick?
How to make your message stick?How to make your message stick?
How to make your message stick?
 
Zigsaw
ZigsawZigsaw
Zigsaw
 
Angina Monologues: Ten Essential Steps to Get Through Your Dissertation
Angina Monologues: Ten Essential Steps to Get Through Your DissertationAngina Monologues: Ten Essential Steps to Get Through Your Dissertation
Angina Monologues: Ten Essential Steps to Get Through Your Dissertation
 
Am I a Brilliant Jerk?
Am I a Brilliant Jerk?Am I a Brilliant Jerk?
Am I a Brilliant Jerk?
 
“Mental Models for Agile Adoption” from ALE2011
“Mental Models for Agile Adoption” from ALE2011“Mental Models for Agile Adoption” from ALE2011
“Mental Models for Agile Adoption” from ALE2011
 
Hpai class 12 - potpourri & perception - 032620
Hpai   class 12 - potpourri & perception - 032620Hpai   class 12 - potpourri & perception - 032620
Hpai class 12 - potpourri & perception - 032620
 
Exploratory Testing As A Quest
Exploratory Testing As A QuestExploratory Testing As A Quest
Exploratory Testing As A Quest
 
Engineering your culture / Oren Ellenbogen
Engineering your culture  / Oren EllenbogenEngineering your culture  / Oren Ellenbogen
Engineering your culture / Oren Ellenbogen
 
How Sentiment Analysis works
How Sentiment Analysis worksHow Sentiment Analysis works
How Sentiment Analysis works
 
How to think smarter about software development
How to think smarter about software developmentHow to think smarter about software development
How to think smarter about software development
 
Dark Matter, Public Health, and Scientific Computing
Dark Matter, Public Health, and Scientific ComputingDark Matter, Public Health, and Scientific Computing
Dark Matter, Public Health, and Scientific Computing
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

A Programmer's Guide to Humans

Editor's Notes

  1. Hi everyone, I’m Janelle Klein, founder of Open Mastery and author of Idea Flow: How to Measure the pain in software development. Let’s make the pain visible! Well, why?
  2. When we’re kids… we talk a lot about dreams. We can be anything, we can do anything. The sky is the only limit.
  3. Then we grow up and we get all rational. We’ve got bills to pay, and a job to do, and a family to support… we’ve got no time for dreaming.
  4. And start applying our engineering skills to conquering the biggest challenges in our world. After I got involved in business, I started to realize that…
  5. And we start working together as an engineering community, we really can change everything.
  6. And we start working together as an engineering community, we really can change everything.
  7. Humans never seem to do what we want!
  8. Then you start recognizing the patterns, “aha! this is one of those situations, or… I should keep on eye on that.” If there’s one thing that will accelerate your learning faster than anything else, it’s this. Need to also mention Open Mastery Online. People in the Mentorship program we’re going to build a statical process control system for software development.
  9. Then you start recognizing the patterns, “aha! this is one of those situations, or… I should keep on eye on that.” If there’s one thing that will accelerate your learning faster than anything else, it’s this. Need to also mention Open Mastery Online. People in the Mentorship program we’re going to build a statical process control system for software development.
  10. Then you start recognizing the patterns, “aha! this is one of those situations, or… I should keep on eye on that.” If there’s one thing that will accelerate your learning faster than anything else, it’s this. Need to also mention Open Mastery Online. People in the Mentorship program we’re going to build a statical process control system for software development.
  11. Then you start recognizing the patterns, “aha! this is one of those situations, or… I should keep on eye on that.” If there’s one thing that will accelerate your learning faster than anything else, it’s this. Need to also mention Open Mastery Online. People in the Mentorship program we’re going to build a statical process control system for software development.
  12. Then you start recognizing the patterns, “aha! this is one of those situations, or… I should keep on eye on that.” If there’s one thing that will accelerate your learning faster than anything else, it’s this. Need to also mention Open Mastery Online. People in the Mentorship program we’re going to build a statical process control system for software development.
  13. ©2014 New Iron Group Our brain works like a big prediction engine. Imagine your walking down the stairs, thinking about something else, everything feels as it should be. At this point all your predictions are confirmed.
  14. But then, you discover one of the steps isn’t where it’s supposed to be. At that moment, everything in your body is paying attention. Am I going to fall? Where’s the railing? Do I need to brace myself. This is what happens when your predictions are violated. A conflict is just a violated prediction.
  15. There’s this decision point when we validate the code and ask ourselves, “does the behavior match our expectations?”
  16. There’s this decision point when we validate the code and ask ourselves, “does the behavior match our expectations?”
  17. When we try to make progress, learning gets in the way. Especially if we’re unfamiliar with the system. And with conflict loops we have to troubleshoot the problem, then rework our solution before we get back to a stable state.
  18. When we try to make progress, learning gets in the way. Especially if we’re unfamiliar with the system. And with conflict loops we have to troubleshoot the problem, then rework our solution before we get back to a stable state.
  19. Quick demo.
  20. So I started keeping track of all my painful interaction with the code and visualizing it on a timeline like this. The pain started [] when I ran into some unexpected behavior and ended [] when I had the problem resolved. So that was 5 hours and 18 minutes of troubleshooting, I think everyone would agree that’s pretty painful.
  21. When there’s problems evaluating alternatives, we see this red-blue-yellow tumble pattern of trial and error. First, we discover our strategy won’t work -- that’s the red. then we go back to the drawing board to figure out a plan B, that’s the blue, Then we gotta do the rework -- that’s the yellow. If I saw this pattern I would ask... [read]
  22. There’s this decision point when we validate the code and ask ourselves, “does the behavior match our expectations?”
  23. When we try to make progress, learning gets in the way. Especially if we’re unfamiliar with the system. And with conflict loops we have to troubleshoot the problem, then rework our solution before we get back to a stable state.
  24. There’s this decision point when we validate the code and ask ourselves, “does the behavior match our expectations?”
  25. We have an instinct about what we ought to do: Warping of experience. Imagining the world we want to live in, and believing it to be true.
  26. We have an instinct about what we ought to do: Warping of experience. Imagining the world we want to live in, and believing it to be true.
  27. We have an instinct about what we ought to do: Warping of experience. Imagining the world we want to live in, and believing it to be true.
  28. We have an instinct about what we ought to do: Warping of experience. Imagining the world we want to live in, and believing it to be true.
  29. We have an instinct about what we ought to do: Warping of experience. Imagining the world we want to live in, and believing it to be true.
  30. Warning: This isn’t for the feignt of heart.
  31. Warning: This isn’t for the feignt of heart.
  32. There’s this decision point when we validate the code and ask ourselves, “does the behavior match our expectations?”
  33. We have an instinct about what we ought to do: Warping of experience. Imagining the world we want to live in, and believing it to be true.
  34. We have an instinct about what we ought to do: Warping of experience. Imagining the world we want to live in, and believing it to be true.
  35. We have an instinct about what we ought to do: Warping of experience. Imagining the world we want to live in, and believing it to be true.
  36. We have an instinct about what we ought to do: Warping of experience. Imagining the world we want to live in, and believing it to be true.
  37. Because I really want to solve this problem, like, there isn’t anything in the world, that I’m more passionate about, but I can’t do this alone. I need your help. Let’s do this together.
  38. And we start working together as an engineering community, we really can change everything.
  39. This is our [read] with companies and community groups around the world, that’s headquartered in Austin. We’re all learning together, and helping each other succeed.
  40. The pain isn’t something inside the code, pain occurs during the process of interacting with the code. So I started optimizing for… and I did that, with the help of a data driven feedback loop.
  41. If we don’t make time to deal with emerging risks and emerging risks, we will never get out of this cycle.
  42. This happens all the time in software development. Imagine the idea you had conceptually mapped to an “it” becomes a “function for producing its.”