Why all developers should adopt a safety-critical mindset