Software Development Ethics — key takeaways.
1The "good enough" problem — defect tolerance must scale with stakes. Spelling error in word processor ≠ rounding error in dosage software.
2Four quality dimensions: functionality, reliability, safety, maintainability. Skipping any is a decision, not an oversight.
3Safety-critical systems have higher engineering standards (DO-178C, IEC 61508, ISO 26262) and dramatically higher ethical stakes.
4Therac-25 (1985-87): 3 dead. Removed hardware interlocks + inadequate testing + dismissed warnings. The defining reference for safety-critical software ethics.
5Methodology is not ethics. Both Waterfall and Agile have ethical risks. The ethics is what the team does when the process permits cutting corners.
6Liability is shifting from negligence to strict in safety-critical contexts. The "we disclaimed warranty" shield is thinner every year.
7Uber ATG (2018): detection suppression for ride comfort killed Elaine Herzberg. The harm was foreseeable from the engineering tradeoff — made before anyone died.
8The engineer's three decisions: the tradeoff, the refusal, the escalation. "I was just following orders" has no standing in professional ethics.