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

Andrew Godwin - What can programmers learn from...

Andrew Godwin - What can programmers learn from pilots?

What can Python-based software teams learn from aviation? Why should software always fail hard? What's wrong with too many error logs? And why are ops people already like pilots? Learn all this, and about planes, too.

https://us.pycon.org/2015/schedule/presentation/375/

PyCon 2015

April 18, 2015
Tweet

More Decks by PyCon 2015

Other Decks in Programming

Transcript

  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