SlideShare a Scribd company logo
Why do planes crash?
Lessons for Junior & Senior Developers
Michael Toppa
@mtoppa
April 26, 2017
RailsConf, Phoeniz AZ
I’ve been a web developer for over 20 years, since the days of HTML 1.0, when web pages were first painted on cave walls.

I work for ActBlue Technical Services. ActBlue is a nonprofit tech organization, and we build fundraising software for Democratic campaigns and committees, and also
nonprofits.

I’m here today to talk to you about some interesting lessons I learned from reading this book…
Gladwell looks at successful people in many different kinds of careers. A key theme of his book is that outcomes we often attribute to the abilities or mistakes of
individual people are often better explained by looking at systematic or environmental factors.

He devotes one chapter to plane crashes, and I think there are lessons here for developers as well.
Why do planes crash?
There are many reasons…
One of the key reasons is poor communication
among the cockpit crew
There is typically a Captain and a First Officer (the co-pilot). During a flight, sometimes the First Officer is flying the plane, and sometimes the Captain. Typically the
Captain has more experience. A common communication problem when there are different levels of seniority between the two pilots is the junior pilot using what’s called
“mitigated speech” in addressing the senior pilot.
Mitigated speech
When we try to downplay or sugarcoat the
meaning of what we say, because we’re:
Being polite
Feeling embarrassed
Being deferential to authority
What happens is the junior pilot is being deferential to the authority of the senior pilot. This happens with developers too. The junior person will typically communicate
using hints if they think the senior person is doing something wrong or overlooking something. They worry using a more direct approach might be seen as
confrontational, or insubordinate, or that they’ll embarrass themselves if they’re wrong.
“A hint is the hardest kind of
request to decode and the
easiest to refuse”
The problem is…

Let’s look at a couple examples
1982 Air Florida Crash
The plane had a problem with wing ice before takeoff. This is a serious problem. It can affect the lift force of the wings and lead to loss of control of the plane. The First
Officer is very aware of this…
1982 Air Florida Crash
First officer: “Look how the ice is just hanging
on his, ah, back, back there, see that?”
First officer, again: “Boy, this is a, this is a
losing battle here on trying to de-ice those
things, it gives you a false sense of security,
that's all it does.”
This is from the black box recordings recovered after the crash, and this is the first officer talking before take-off.

He doesn’t speak directly. Instead he drops hints. He doesn’t come out and say “I strongly advise against taking off. I’m very concerned the wing ice will make us lose
control and crash.”
1982 Air Florida Crash
The captain doesn't get the hints, and the plane plunges into the Potomac river a few minutes after take off. 78 people died.
1990 Avianca Crash
Another example…

Planes are normally low on fuel when landing, but this flight is literally running on empty

And the captain is exhausted
1990 Avianca Crash
First officer to ATC: “Climb and maintain three
thousand and, ah, we're running out of fuel, sir”
ATC responds with a command to continue
circling, and asks for confirmation it's ok.
First officer to ATC: “I guess so. Thank you very
much”
The first officer’s speech is so mitigated that the pilot and air traffic controller may think he’s just sharing ordinary information, not that they are literally minutes away from
running out of fuel.

A flight attendant (the only survivor among the crew) enters the cockpit, and the engineer makes a throat-cutting gesture to her
1990 Avianca Crash
Two engines flame out and the plane crashes. 73 people died.
Crashes are more common with
the Captain in the flying seat
Plane crashes are always thoroughly investigated, and what’s been found, and this is counter-intuitive, is that…
“Planes are safer when the least
experienced pilot is flying, because
it means the second [more
experienced] pilot isn't going to be
afraid to speak up”
There are lessons here for both junior and senior developers
Lessons for Junior Developers
When you see something, say something
You have an asset no one else has:
“The beginner’s mind”
When you see something that looks like a problem, in the code, in your workflow, or something else, communicate your concerns clearly but of course politely. 

I know it can be intimidating. If you’re not comfortable doing it in person, use email, use Slack, etc

You haven’t yet become acculturated into “this is how we’ve always done things,” which can cause senior people in your organization to develop blind spots. You may
see problems no one else will see, or have insights that will not occur to anyone else.
Lessons for Junior Developers
One of two things should happen…
You’ll be right, and appreciated*
You’ll be wrong, and appreciated*
You saw a problem no one else saw and stopped it from becoming a bigger issue, and you’ll be recognized for that.

Or…

You’re showing you are thoughtfully engaged, and if you have a good mentor, they’ll use it as a learning opportunity for you.

But I’ve put asterisks on these. I’ve met junior developers who’ve become discouraged in their careers due to poor mentorship. What usually happens is, the senior
people don’t have time to help them, and they’re just given menial, repetitive tasks that don’t lead to learning.
Lessons for Senior Developers
Be good mentors
Be kind

Be solicitous

Be an active listener

Be patient

Be humble

Be encouraging

A great way to start is pair programming, but let the junior developer drive, and you can get the same benefits as pilots: the junior person learns, and the senior person
provides guidance and safety

More Related Content

Similar to Why do planes crash? Lessons for junior and senior developers

Human Factor Off01
Human Factor Off01Human Factor Off01
Human Factor Off01
Shahzad Khalil
 
009 Transition Words Essay Example Sentences Exam
009 Transition Words Essay Example Sentences Exam009 Transition Words Essay Example Sentences Exam
009 Transition Words Essay Example Sentences Exam
Monica Gero
 
Crew Resource Management For Ems Finished
Crew Resource Management For Ems FinishedCrew Resource Management For Ems Finished
Crew Resource Management For Ems Finished
John Halbrook
 
How to Offend and Insult People in Your Open Source Communities
How to Offend and Insult People in Your Open Source CommunitiesHow to Offend and Insult People in Your Open Source Communities
How to Offend and Insult People in Your Open Source Communities
Gina Likins
 
Real life experience as a pedagogical principle
Real life experience as a pedagogical principleReal life experience as a pedagogical principle
Real life experience as a pedagogical principle
John Thomas
 
Explaining Causes & Effects
Explaining Causes & EffectsExplaining Causes & Effects
Explaining Causes & Effects
mleggs
 
Conclusions Expository Writing,
Conclusions Expository Writing,Conclusions Expository Writing,
Conclusions Expository Writing,
Toni Christensen
 
Human Factors 2010 Iss 2
Human Factors 2010 Iss 2Human Factors 2010 Iss 2
Human Factors 2010 Iss 2
Martin Coupland
 
Reflection Paper Apa 7 Format Tuskegee Syphili
Reflection Paper Apa 7 Format Tuskegee SyphiliReflection Paper Apa 7 Format Tuskegee Syphili
Reflection Paper Apa 7 Format Tuskegee Syphili
Kim Stephens
 
Newton vs Einstein
Newton vs EinsteinNewton vs Einstein
Newton vs Einstein
Mike Ellis
 
2022 MI FAASTeam Presentation - 5 Mistakes Many General Aviation Pilots Make ...
2022 MI FAASTeam Presentation - 5 Mistakes Many General Aviation Pilots Make ...2022 MI FAASTeam Presentation - 5 Mistakes Many General Aviation Pilots Make ...
2022 MI FAASTeam Presentation - 5 Mistakes Many General Aviation Pilots Make ...
Jason Blair
 
Patterns of fail
Patterns of failPatterns of fail
Patterns of fail
Gleicon Moraes
 
Airshow Pilot
Airshow PilotAirshow Pilot
Airshow Pilot
Woodywings
 
Tips for Lawyers Using PowerPoint in Mediations
Tips for Lawyers Using PowerPoint in MediationsTips for Lawyers Using PowerPoint in Mediations
Tips for Lawyers Using PowerPoint in Mediations
C Todd Smith
 

Similar to Why do planes crash? Lessons for junior and senior developers (14)

Human Factor Off01
Human Factor Off01Human Factor Off01
Human Factor Off01
 
009 Transition Words Essay Example Sentences Exam
009 Transition Words Essay Example Sentences Exam009 Transition Words Essay Example Sentences Exam
009 Transition Words Essay Example Sentences Exam
 
Crew Resource Management For Ems Finished
Crew Resource Management For Ems FinishedCrew Resource Management For Ems Finished
Crew Resource Management For Ems Finished
 
How to Offend and Insult People in Your Open Source Communities
How to Offend and Insult People in Your Open Source CommunitiesHow to Offend and Insult People in Your Open Source Communities
How to Offend and Insult People in Your Open Source Communities
 
Real life experience as a pedagogical principle
Real life experience as a pedagogical principleReal life experience as a pedagogical principle
Real life experience as a pedagogical principle
 
Explaining Causes & Effects
Explaining Causes & EffectsExplaining Causes & Effects
Explaining Causes & Effects
 
Conclusions Expository Writing,
Conclusions Expository Writing,Conclusions Expository Writing,
Conclusions Expository Writing,
 
Human Factors 2010 Iss 2
Human Factors 2010 Iss 2Human Factors 2010 Iss 2
Human Factors 2010 Iss 2
 
Reflection Paper Apa 7 Format Tuskegee Syphili
Reflection Paper Apa 7 Format Tuskegee SyphiliReflection Paper Apa 7 Format Tuskegee Syphili
Reflection Paper Apa 7 Format Tuskegee Syphili
 
Newton vs Einstein
Newton vs EinsteinNewton vs Einstein
Newton vs Einstein
 
2022 MI FAASTeam Presentation - 5 Mistakes Many General Aviation Pilots Make ...
2022 MI FAASTeam Presentation - 5 Mistakes Many General Aviation Pilots Make ...2022 MI FAASTeam Presentation - 5 Mistakes Many General Aviation Pilots Make ...
2022 MI FAASTeam Presentation - 5 Mistakes Many General Aviation Pilots Make ...
 
Patterns of fail
Patterns of failPatterns of fail
Patterns of fail
 
Airshow Pilot
Airshow PilotAirshow Pilot
Airshow Pilot
 
Tips for Lawyers Using PowerPoint in Mediations
Tips for Lawyers Using PowerPoint in MediationsTips for Lawyers Using PowerPoint in Mediations
Tips for Lawyers Using PowerPoint in Mediations
 

More from mtoppa

RailsConf 2022 - Upgrading Rails: The Dual Boot Way
RailsConf 2022 - Upgrading Rails: The Dual Boot WayRailsConf 2022 - Upgrading Rails: The Dual Boot Way
RailsConf 2022 - Upgrading Rails: The Dual Boot Way
mtoppa
 
Applying Omotenashi (Japanese customer service) to your work
Applying Omotenashi (Japanese customer service) to your workApplying Omotenashi (Japanese customer service) to your work
Applying Omotenashi (Japanese customer service) to your work
mtoppa
 
Talking to strangers causes train wrecks
Talking to strangers causes train wrecksTalking to strangers causes train wrecks
Talking to strangers causes train wrecks
mtoppa
 
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between:  accessib...A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between:  accessib...
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...
mtoppa
 
The promise and peril of Agile and Lean practices
The promise and peril of Agile and Lean practicesThe promise and peril of Agile and Lean practices
The promise and peril of Agile and Lean practices
mtoppa
 
Boston Ruby Meetup: The promise and peril of Agile and Lean practices
Boston Ruby Meetup: The promise and peril of Agile and Lean practicesBoston Ruby Meetup: The promise and peril of Agile and Lean practices
Boston Ruby Meetup: The promise and peril of Agile and Lean practices
mtoppa
 
A real-life overview of Agile and Scrum
A real-life overview of Agile and ScrumA real-life overview of Agile and Scrum
A real-life overview of Agile and Scrum
mtoppa
 
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practicesWordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
mtoppa
 
WordCamp US: Clean Code
WordCamp US: Clean CodeWordCamp US: Clean Code
WordCamp US: Clean Code
mtoppa
 
Dependency Injection for PHP
Dependency Injection for PHPDependency Injection for PHP
Dependency Injection for PHP
mtoppa
 
WordCamp Boston 2015: Agile Contracts for WordPress Consultants
WordCamp Boston 2015: Agile Contracts for WordPress ConsultantsWordCamp Boston 2015: Agile Contracts for WordPress Consultants
WordCamp Boston 2015: Agile Contracts for WordPress Consultants
mtoppa
 
WordCamp Nashville 2015: Agile Contracts for WordPress Consultants
WordCamp Nashville 2015: Agile Contracts for WordPress ConsultantsWordCamp Nashville 2015: Agile Contracts for WordPress Consultants
WordCamp Nashville 2015: Agile Contracts for WordPress Consultants
mtoppa
 
Rails testing: factories or fixtures?
Rails testing: factories or fixtures?Rails testing: factories or fixtures?
Rails testing: factories or fixtures?
mtoppa
 
WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?
WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?
WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?
mtoppa
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
mtoppa
 
A real-life overview of Agile workflow practices
A real-life overview of Agile workflow practicesA real-life overview of Agile workflow practices
A real-life overview of Agile workflow practices
mtoppa
 
Why Agile? Why Now?
Why Agile? Why Now?Why Agile? Why Now?
Why Agile? Why Now?
mtoppa
 
Object Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin DevelopmentObject Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin Development
mtoppa
 
Dependency Injection for Wordpress
Dependency Injection for WordpressDependency Injection for Wordpress
Dependency Injection for Wordpress
mtoppa
 
Clean code for WordPress
Clean code for WordPressClean code for WordPress
Clean code for WordPress
mtoppa
 

More from mtoppa (20)

RailsConf 2022 - Upgrading Rails: The Dual Boot Way
RailsConf 2022 - Upgrading Rails: The Dual Boot WayRailsConf 2022 - Upgrading Rails: The Dual Boot Way
RailsConf 2022 - Upgrading Rails: The Dual Boot Way
 
Applying Omotenashi (Japanese customer service) to your work
Applying Omotenashi (Japanese customer service) to your workApplying Omotenashi (Japanese customer service) to your work
Applying Omotenashi (Japanese customer service) to your work
 
Talking to strangers causes train wrecks
Talking to strangers causes train wrecksTalking to strangers causes train wrecks
Talking to strangers causes train wrecks
 
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between:  accessib...A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between:  accessib...
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...
 
The promise and peril of Agile and Lean practices
The promise and peril of Agile and Lean practicesThe promise and peril of Agile and Lean practices
The promise and peril of Agile and Lean practices
 
Boston Ruby Meetup: The promise and peril of Agile and Lean practices
Boston Ruby Meetup: The promise and peril of Agile and Lean practicesBoston Ruby Meetup: The promise and peril of Agile and Lean practices
Boston Ruby Meetup: The promise and peril of Agile and Lean practices
 
A real-life overview of Agile and Scrum
A real-life overview of Agile and ScrumA real-life overview of Agile and Scrum
A real-life overview of Agile and Scrum
 
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practicesWordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
 
WordCamp US: Clean Code
WordCamp US: Clean CodeWordCamp US: Clean Code
WordCamp US: Clean Code
 
Dependency Injection for PHP
Dependency Injection for PHPDependency Injection for PHP
Dependency Injection for PHP
 
WordCamp Boston 2015: Agile Contracts for WordPress Consultants
WordCamp Boston 2015: Agile Contracts for WordPress ConsultantsWordCamp Boston 2015: Agile Contracts for WordPress Consultants
WordCamp Boston 2015: Agile Contracts for WordPress Consultants
 
WordCamp Nashville 2015: Agile Contracts for WordPress Consultants
WordCamp Nashville 2015: Agile Contracts for WordPress ConsultantsWordCamp Nashville 2015: Agile Contracts for WordPress Consultants
WordCamp Nashville 2015: Agile Contracts for WordPress Consultants
 
Rails testing: factories or fixtures?
Rails testing: factories or fixtures?Rails testing: factories or fixtures?
Rails testing: factories or fixtures?
 
WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?
WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?
WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
 
A real-life overview of Agile workflow practices
A real-life overview of Agile workflow practicesA real-life overview of Agile workflow practices
A real-life overview of Agile workflow practices
 
Why Agile? Why Now?
Why Agile? Why Now?Why Agile? Why Now?
Why Agile? Why Now?
 
Object Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin DevelopmentObject Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin Development
 
Dependency Injection for Wordpress
Dependency Injection for WordpressDependency Injection for Wordpress
Dependency Injection for Wordpress
 
Clean code for WordPress
Clean code for WordPressClean code for WordPress
Clean code for WordPress
 

Recently uploaded

Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Computer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdfComputer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdf
chandangoswami40933
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
Zycus
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
ICS
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
sandeepmenon62
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
Pedro J. Molina
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
michniczscribd
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 

Recently uploaded (20)

Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Computer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdfComputer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdf
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 

Why do planes crash? Lessons for junior and senior developers

  • 1. Why do planes crash? Lessons for Junior & Senior Developers Michael Toppa @mtoppa April 26, 2017 RailsConf, Phoeniz AZ I’ve been a web developer for over 20 years, since the days of HTML 1.0, when web pages were first painted on cave walls. I work for ActBlue Technical Services. ActBlue is a nonprofit tech organization, and we build fundraising software for Democratic campaigns and committees, and also nonprofits. I’m here today to talk to you about some interesting lessons I learned from reading this book…
  • 2. Gladwell looks at successful people in many different kinds of careers. A key theme of his book is that outcomes we often attribute to the abilities or mistakes of individual people are often better explained by looking at systematic or environmental factors. He devotes one chapter to plane crashes, and I think there are lessons here for developers as well.
  • 3. Why do planes crash? There are many reasons… One of the key reasons is poor communication among the cockpit crew There is typically a Captain and a First Officer (the co-pilot). During a flight, sometimes the First Officer is flying the plane, and sometimes the Captain. Typically the Captain has more experience. A common communication problem when there are different levels of seniority between the two pilots is the junior pilot using what’s called “mitigated speech” in addressing the senior pilot.
  • 4. Mitigated speech When we try to downplay or sugarcoat the meaning of what we say, because we’re: Being polite Feeling embarrassed Being deferential to authority What happens is the junior pilot is being deferential to the authority of the senior pilot. This happens with developers too. The junior person will typically communicate using hints if they think the senior person is doing something wrong or overlooking something. They worry using a more direct approach might be seen as confrontational, or insubordinate, or that they’ll embarrass themselves if they’re wrong.
  • 5. “A hint is the hardest kind of request to decode and the easiest to refuse” The problem is… Let’s look at a couple examples
  • 6. 1982 Air Florida Crash The plane had a problem with wing ice before takeoff. This is a serious problem. It can affect the lift force of the wings and lead to loss of control of the plane. The First Officer is very aware of this…
  • 7. 1982 Air Florida Crash First officer: “Look how the ice is just hanging on his, ah, back, back there, see that?” First officer, again: “Boy, this is a, this is a losing battle here on trying to de-ice those things, it gives you a false sense of security, that's all it does.” This is from the black box recordings recovered after the crash, and this is the first officer talking before take-off. He doesn’t speak directly. Instead he drops hints. He doesn’t come out and say “I strongly advise against taking off. I’m very concerned the wing ice will make us lose control and crash.”
  • 8. 1982 Air Florida Crash The captain doesn't get the hints, and the plane plunges into the Potomac river a few minutes after take off. 78 people died.
  • 9. 1990 Avianca Crash Another example… Planes are normally low on fuel when landing, but this flight is literally running on empty And the captain is exhausted
  • 10. 1990 Avianca Crash First officer to ATC: “Climb and maintain three thousand and, ah, we're running out of fuel, sir” ATC responds with a command to continue circling, and asks for confirmation it's ok. First officer to ATC: “I guess so. Thank you very much” The first officer’s speech is so mitigated that the pilot and air traffic controller may think he’s just sharing ordinary information, not that they are literally minutes away from running out of fuel. A flight attendant (the only survivor among the crew) enters the cockpit, and the engineer makes a throat-cutting gesture to her
  • 11. 1990 Avianca Crash Two engines flame out and the plane crashes. 73 people died.
  • 12. Crashes are more common with the Captain in the flying seat Plane crashes are always thoroughly investigated, and what’s been found, and this is counter-intuitive, is that…
  • 13. “Planes are safer when the least experienced pilot is flying, because it means the second [more experienced] pilot isn't going to be afraid to speak up” There are lessons here for both junior and senior developers
  • 14. Lessons for Junior Developers When you see something, say something You have an asset no one else has: “The beginner’s mind” When you see something that looks like a problem, in the code, in your workflow, or something else, communicate your concerns clearly but of course politely. I know it can be intimidating. If you’re not comfortable doing it in person, use email, use Slack, etc You haven’t yet become acculturated into “this is how we’ve always done things,” which can cause senior people in your organization to develop blind spots. You may see problems no one else will see, or have insights that will not occur to anyone else.
  • 15. Lessons for Junior Developers One of two things should happen… You’ll be right, and appreciated* You’ll be wrong, and appreciated* You saw a problem no one else saw and stopped it from becoming a bigger issue, and you’ll be recognized for that. Or… You’re showing you are thoughtfully engaged, and if you have a good mentor, they’ll use it as a learning opportunity for you. But I’ve put asterisks on these. I’ve met junior developers who’ve become discouraged in their careers due to poor mentorship. What usually happens is, the senior people don’t have time to help them, and they’re just given menial, repetitive tasks that don’t lead to learning.
  • 16. Lessons for Senior Developers Be good mentors Be kind Be solicitous Be an active listener Be patient Be humble Be encouraging A great way to start is pair programming, but let the junior developer drive, and you can get the same benefits as pilots: the junior person learns, and the senior person provides guidance and safety