Another lesson I learned throughout my career: Don't write code that can be easily changed. You'll develop a mental model what changes you expect. Turns out, these are very rarely the changes you need to do. Instead write code that can be easily deleted.