Ask HN: How do you decide if you should write your own or off the shelf?
That goes from libraries to use in my code to software that theoretically is "off the shelf".
I've found that the cons of using third party solutions include:
For code dependencies - now I have to manage its version, keep it up to date (or not), understand what it is truly doing / security risks, go through Legal, teach my team on how to use it.
Not only that but I find that the API / objects of a dependency not always match the linguo of the business with that my cognitive load of the system just increased.
This is a non trivial amount of work in a large code base.
For off the shelf software - I am at the mercy of someone else, their incentives rarely align with mine, I have to keep in touch with the vendor (or OSS community) plus all of the disadvantages of a library.
I am finding more and more that it is easier to just suck it up and develop what needs to be solved for the business through code without dependencies rather than trying to accommodate a library or an off-the-shelf software in my very large, old and complex code base.
Of course that it doesn't apply for everything, I wouldn't write my own database, TCP/IP stack, crypto and etc. but the closer the software is to my main business the less value I see in adding any dependency.
How do you evaluate what to write vs what to use?