Also see software engineering quotes.
- All code is liability.
- Manual until it hurts.
- Change is the only constant.
- You can’t predict the future.
- Life is tradeoffs.
- Agree on a project’s values up front. Use them to decide on tradeoffs.
- Shorten feedback loops.
- Iterate fast, experiment cheaply.
- Worse is better.
- Reuse existing code.
- Orthogonality is powerful. Make things cross cutting.
- Data over config. Config over code.
- Empower non-engineers.
- Make interfaces. Map them to teams.
- Data wants to be dirty.
- Duplicated data wants to skew.
- There’s a healthy tension between flow and YAGNI. Navigate them thoughtfully.
- Bandwidth increases with the square of latency. This has subtle but powerful implications for system design. Ignore it at your peril.
One thought on “Engineering lessons”