Work at the smallest scale possible
You know that feeling when you found an elegant solution to a problem you’ve been having? You discovered that pattern you’ve been missing and you’re like “yeah! now I get it!”.
The excitement gets the worst of us and we start acting like the thing we found is the holy grail of software writing.
Like yes, this looks way better. If I apply this pattern here and use this structure there, all my problems go away. And we sprinkle all that over our project.
A few days go by and we’re like “wait a minute…this solves my problem but complicates this other thing I’m working on. Fuck..”.
We fiddle around with it for a few hours, sometimes days, and then we either find a way to patch things up or we hit the undo button and start from scratch.
The thing we found has its use. Where we go wrong is trying to force use it everywhere.