- Innovating beyond libraries and frameworks.
- Framework = Someone else's code which calls yours
- Library = Someone else's code which you call
- Pattern = Strict, reusable approach to writing code
- Principal = Guidance/Philosophy expressed as rules
- The "Return Early" pattern
- Always create an interface even if there is only one implementation. It forces you to think about what this class or function is supposed to do with regards to its consumers