It’s easy to get excited about a new piece of technology, especially one that is getting a lot of attention and hype. Over the years I’ve learned you should be more conservative in what you let into the tech stacks you’re responsible for.

Each new layer of abstraction or library you add to your system is one more thing you have to understand enough to debug when something goes wrong. If adding the layer or library brings a lot of value it can be worth the cost. Often a dependencies gets added for some short term benefits and long term maintenance costs are not considered.

If you’re thinking of adding a new layer or library ask yourself if you really need it. How much does it add to the maintenance burden? How frequently are you going to have to update it? What documentation would someone not familiar with it need if they had to fix a problem in six months time? Are you pulling in a large dependency to only use a little part of it?

These questions can help you decide if it provides enough value to be worth the cost.