Number 8
Tradeoffs are at the heart of software engineering, but we're not very good at it
- Getting something for nothing is great, but it isn't usually possible
- We almost always choose in favor of hard criteria (e.g., performance) over soft criteria (e.g., extensibility)
- This makes sense, both practically and theoretically
- Brooks’ Golden Rule doesn’t really work
- But the situation leaves us up a creek to a large degree