There’s a screenshot of a response by Linus Torvalds floating around on social media. If you don’t know who Linus Torvalds is, he’s responsible for developing the Unix system over which MacOS and Linux run. Pretty big brain when it comes to software development. Anyway, in the screenshot, he’s tearing someone up over some change in a piece of architecture, and everyone’s throwing in their two cents on the matter. I just kind of laughed when I saw it; I have fairly strong opinions on, well, just about everything and have no problem going off the deep end when a conversation revolves around one of them and someone doesn’t agree with me. But with regard to software specifically, I’ve been known to be pretty brusk in my response when I’m working with a team of devs and someone suggests installing yet another dependency into the software we’re developing.
Listen, I get it, libraries make building shit easier. You don’t have to write all of the code yourself. But in that same vein, you shouldn’t be adding a library for every little fucking thing you’re trying to do either.
Just because you can doesn’t mean you should.
There was a moment not too long ago when it seemed like half of the internet broke because a package maintainer for an itty bitty piece of open source software introduced a breaking change and it turned out that this package was a vital piece in the dependency tree for the create-react-app template. Imagine if the developers had just decide to code them damn thing themselves. It may have taken all of a day or two and there wouldn’t have ever been such a widespread outage over something so innocuous. ALSO, if you actually give a shit about what you’re building, you’re auditing every package you include in your software. Do this well enough and writing your own code gets real attractive real fast.