Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
What can programmers learn from pilots?
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Andrew Godwin
April 10, 2015
Programming
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
What can programmers learn from pilots?
A talk I gave at PyCon US 2015
Andrew Godwin
April 10, 2015
More Decks by Andrew Godwin
See All by Andrew Godwin
Reconciling Everything
andrewgodwin
1
400
Django Through The Years
andrewgodwin
0
330
Writing Maintainable Software At Scale
andrewgodwin
0
530
A Newcomer's Guide To Airflow's Architecture
andrewgodwin
0
430
Async, Python, and the Future
andrewgodwin
2
750
How To Break Django: With Async
andrewgodwin
1
830
Taking Django's ORM Async
andrewgodwin
0
850
The Long Road To Asynchrony
andrewgodwin
0
770
The Scientist & The Engineer
andrewgodwin
1
860
Other Decks in Programming
See All in Programming
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
200
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.7k
5分で問診!Composer セキュリティ健康診断
codmoninc
0
730
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
560
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
110
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
160
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
260
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
440
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
170
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
180
AIが無かった頃の素敵な出会いの話
codmoninc
1
300
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
620
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
A Soul's Torment
seathinner
6
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
390
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
190
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
From π to Pie charts
rasagy
0
240
Google's AI Overviews - The New Search
badams
0
1.1k
Transcript
Andrew Godwin @andrewgodwin Programmers LEARN FROM WHAT CAN Pilots?
Andrew Godwin Hi, I'm Author of 1.7 Django & South
migrations Senior Software Engineer at Really likes cheese FAA & EASA PPL, working on IR
flickr.com/photos/russss/16735398019/
Learning about aviation Applying lessons to coding 1 2
Commercial flying is very safe AIRLINES GA 0.2 11.2 CARS/TRUCKS
0.53 MOTORCYCLES 15.6 Source: 2005 Nall report, 2004 NHTSA stats, 1991-2000 FAA stats, 40mph avg. road speed (fatal accidents per million hours) General aviation is still not bad
Pilot Source: 2005 Nall report Mechanical Other 76% 16% 9%
GA ACCIDENT CAUSES
COMMON CAUSES Controlled flight into terrain (CFIT) Disorientation in clouds
(VFR in IMC) Bad decision making (get-there-itis)
WHY DO I KNOW THIS? Detailed investigation of every accident
HOW DOES IT HELP US? Let's look at common problems
Soft Failure Explicit disengage signals Covering inaccurate instruments Replacing parts
at first sign of issues
Soft Failure Crash hard on any serious error Redundancy, not
single system reliability Freedom to get rid of servers whenever
Noisy Warnings Limited number of warning sounds Clear, unambiguous text
& speech No constant low-level warnings
Noisy Warnings Don't email/notify on every tiny error Choose 5
top errors, solve them first If you ignore it for a week, delete the warning
Poor Testing Every part tested to destruction Well known statistical
limits Knowing when, not if, things fail
Image: © Boeing 2010
Poor Testing Test latency, memory issues, dodgy network and other
unusual things Interactions are as important as individual units
Automation Reliance Tested without autopilot/instruments Plane usually advises, rarely controls
Easy to see what's happening and why
flickr.com/photos/wkharmon/4631001766
Automation Reliance Don't rely on magical automatic failover Regularly practice
manual recovery steps Know what your systems are doing
People Reliance Checklists for everything Warnings built around common assumptions
Reduce workload at critical times
None
People Reliance Checklists for releases/testing/onboarding Automate common tasks Reduce workload
at critical times
Bad Priorities Aviate, Navigate, Communicate Minimum Equipment Lists Mayday priority
Minimum Equipment Quiz Passenger video screens Lavatory ashtrays Air conditioning
Fuel recepticle caps Seatbelt signs Weather radar
Minimum Equipment Quiz Passenger video screens Lavatory ashtrays Air conditioning
Fuel recepticle caps Seatbelt signs Weather radar
Margaret Hamilton
Bad Priorities What are your critical features? What can you
do without? Know what you want to fix first and test most
Unclear Responsibility Single person always in command Others are always
listened to Clear, concise communication
Unclear Responsibility Single person makes key decisions Others are always
listened to Clear specifications and expectations
Blame Culture There is never a single cause of an
accident Individual problems identified and addressed Blaming someone solves nothing
Blame Culture There is never a single cause of a
problem Work back and find all of the bad factors Blaming people makes things worse
Deadlines Always carry extra fuel Always have an alternate Land
safely rather than at the destination
Deadlines Don't schedule everyone at maximum Always expect unknown problems
Ship good code rather than to a deadline
Takeaways
Checklists First step before automation
Filter unimportant errors Keep ignoring it? It's not important.
Pick your key features Don't worry about breaking minor stuff
Reward good decisions It's often not the people staying late
Ops are like pilots Boredom punctuated by moments of terror
Thanks. Andrew Godwin @andrewgodwin eventbrite.com/jobs