
1. Change is constant.
2. Your product is an asset, but code is a liability.
3. Duplication is less costly than premature abstraction.
4. Code should be easy to delete.
5. Existing code exerts a powerful influence.
6. Accidental complexity is one of the biggest risks.
7. Technical excellence can be shadowed by bad personal skills.
8. You are not your code. Be kind to the coder, not to the code.
9. Treat people who know less than you with respect and patience.
10. The only true authority stems from knowledge, not from position.
11. Teaching is a form of learning in disguise.
12. Lift the skills of people around you, not just yourself.
13. The longer you wait the more you'll know.
14. A good type system is worth its weight plus some.
15. The right team of people trumps everything else.
16. Stick to boring technology, unless there's a good reason not to.
17. Have the smallest team possible, but no smaller. Grow it carefully.
18. Rest.
19. Don't pick a solution until you've thought of at least one more.
20. Have opinions, but avoid expressing them in ways that cause other people to believe you won't change them.
21. It's OK to say "I don't know" or "I need to research that before I have an answer".
22. Writing throwaway code to explore a problem space is underrated.
23. Manage state carefully.
24. It's all about trade-offs.
25. A good design is one in which you can change your mind without changing too much code.
https://martinrue.com/my-engineering-axioms/