···99- **Design for simplicity**.
1010 - Do the [simplest thing](https://landing.google.com/sre/book/chapters/simplicity.html) that could possibly work.
1111 - Benefits of simplicity: ease of understanding, ease of change (improvement), ease of debugging, flexibility. [The goal of software design is to create chunks or slices that fit into a human mind](https://mobile.twitter.com/KentBeck/status/1354418068869398538). The software keeps growing but the human mind maxes out, so we have to keep chunking and slicing differently if we want to keep making changes.
1212+ - Break down complex problems into simpler, digestible pieces. If you do it right, it will feel like cheating: you just solve simple problems until you're done.
1213 - We can't change our brain to grasp something complex. We need to simplify complexity so we can handle it.
1314 - Eliminate state. If you can't, make it visible.
1415 - Design is an iterative process. The necessary number of iterations is one more than the number you have currently done. This is true at any point in time.
···4142- **A programmer who can't re-use other programs is condemned to re-write them**.
4243 - Use software leverage to your advantage.
4344 - Many programmers have only a superficial understanding of the importance of re-usable code modules.
4444- - [Code isn't just meant to be executed. Code is also a means of [[Communication]] across a team, a way to describe to others the solution to a problem](https://medium.com/s/story/notes-to-myself-on-software-engineering-c890f16f4e4d).
4545+ - [Code isn't just meant to be executed. Code is also a means of [[Communication]] across a team, a way to describe to others the solution to a problem](https://medium.com/s/story/notes-to-myself-on-software-engineering-c890f16f4e4d). Good writing skills often correlate with good thinking and programming skills. [Sharing knowledge through writing (blogs, talks, documentation, open source) clarifies your thinking and helps others](https://endler.dev/2025/best-programmers/).
4546- **Silence is golden**.
4647 - A silent command is often more usable, providing the function asked for and nothing more.
4748- **Think parallel**.