Principles
- Language is a tool
- Principles understanding is more important than knowledge of how to use tools
- Code is not the goal
- Deleting code is better than writing it
- Design patterns are not programming principles
- Every solution has its pros
- Readability of the code is more important than its performance
- Level of thinking defines level of solutions
- The purpose of abstractions is to manage complexity
- Side effects require isolation
- Mutability is a necessity and the root of all troubles
- Tests instill confidence. Right tests make you faster
- Operations is a part of the system
- Uniformity is better than local optimizations
- Your code is not your product. Good code != good product