Commercial flying is very safe AIRLINES LIGHT AIRCRAFT 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
Exceptions Raise clear, verbose exceptions. Capture and log with e.g. Sentry try: requests.get("http://api.company.com/users/") except RequestException: raise APIFetchError("Could not get user list")
100% Coverage Fallacy You can cover code lines with useless tests You can have too many tests that are fragile so you ignore them def test_critical_function(self): try: call_critical_code() except: # This always breaks, just cover it pass
Where are we? Most people stumble around issues and focus on building things fast. There is no need for perfection - but work out what would be worst and prepare that.
Good engineering is not just code It is process; interaction; sharing knowledge and burden. "Rockstars" not talking to each other produce awful code that interacts badly. Teams must communicate - about expectations, problems, failure and solutions.
Slower can be faster It might take time to write a specification, but it will save you way more time later. The cleaner your code is, the more you clean up, the less you have to maintain and the faster you fix and improve things.
My advice to you? Checklists. Restore your backups. Work out roughly what happens for every part of a system failing, and if you care. Reward people whose code quietly works, not those who firefight and take the glory.
My advice to you? Checklists. Restore your backups. Work out roughly what happens for every part of a system failing, and if you care. Reward people whose code quietly works, not those who firefight and take the glory. Checklists.