> It's often small things, like making what's being build more configurable / hard coding less, abstracting differently so code is more reusable.
I am the exact opposite. I learned that it just adds complexity and usually not going to be reused much anyway because every case needs something a little different, and then you had to build this complex thing which isn't worth it.