Work at the smallest scale possible

You know that feeling when you found an elegant solution to a problem you’ve been having? When you discover 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 programming. Like yes, this looks way better! If I apply this here, there, and there, all my problems go away. But problems rarely go away forever.

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 you found has its use case, but sprinkling it all over the project is a mistake you’ll end up regretting.