202205031449 Optimize for change
Software engineering is a game of dealing with constant change. Even the most stable of purely abstract programs will need to be updated over time as the environment (computers, operating systems, etc.) around them changes.
Since change is a constant that we can’t get rid of, we should optimize our code to be easy to change.
This provide many good qualities like isolation, independence, scalability, observability, and more.
Links to this note
- 202109061338 Software Engineering
- 202205031435 Evolutionary approach to software design
- 202206112125 Zen in the face of programming
- 202307241042 The Pragmatic Programmer
- 202312091440 Eliminate effects between unrelated things
- 202312091503 Make reversible decisions quickly
- 202312091509 There are no final architectures
- 202604301616 Figure out if non-blockers are still important
- 202605281610 Building Evolutionary Architectures