Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What can programmers learn from pilots?

What can programmers learn from pilots?

A talk I gave at PyCon US 2015

Andrew Godwin

April 10, 2015

More Decks by Andrew Godwin

Other Decks in Programming


  1. 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
  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
  3. COMMON CAUSES Controlled flight into terrain (CFIT) Disorientation in clouds

    (VFR in IMC) Bad decision making (get-there-itis)
  4. Soft Failure Crash hard on any serious error Redundancy, not

    single system reliability Freedom to get rid of servers whenever
  5. 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
  6. Poor Testing Test latency, memory issues, dodgy network and other

    unusual things Interactions are as important as individual units
  7. Automation Reliance Don't rely on magical automatic failover Regularly practice

    manual recovery steps Know what your systems are doing
  8. Bad Priorities What are your critical features? What can you

    do without? Know what you want to fix first and test most
  9. Unclear Responsibility Single person makes key decisions Others are always

    listened to Clear specifications and expectations
  10. Blame Culture There is never a single cause of an

    accident Individual problems identified and addressed Blaming someone solves nothing
  11. 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