
Ask HN: How do you decide if you should write your own or off the shelf? - aprdm
Perhaps in the counter trend of the javascript community I&#x27;ve been seeing more and more value of writing my own software rather than using something that is out there.<p>That goes from libraries to use in my code to software that theoretically is &quot;off the shelf&quot;.<p>I&#x27;ve found that the cons of using third party solutions include:<p>For code dependencies - now I have to manage its version, keep it up to date (or not), understand what it is truly doing &#x2F; security risks, go through Legal, teach my team on how to use it.<p>Not only that but I find that the API &#x2F; objects of a dependency not always match the linguo of the business with that my cognitive load of the system just increased.<p>This is a non trivial amount of work in a large code base.<p>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.<p>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.<p>Of course that it doesn&#x27;t apply for everything, I wouldn&#x27;t write my own database, TCP&#x2F;IP stack, crypto and etc. but the closer the software is to my main business the less value I see in adding <i>any</i> dependency.<p>How do you evaluate what to write vs what to use?
======
hedora
If the software in question is supposed to provide business differentiation,
err toward rolling your own. You can’t differentiate yourself by simply gluing
together some open source software in a straightforward way.

If you think you can differentiate your business this way, then the software
your building isn’t the differentiator, which is OK for many businesses.
(Since you are asking about JavaScript, maybe time to market and network
effects are more important than it working properly out of the gate, for
example.)

On a related note, I’ve found I learn a lot more working at successful
businesses that err towards rolling their own software, and that those
companies tend to have smaller teams and stronger products. Clearly, there is
some survivor bias at play (maybe most places that roll their own fail, and
only the spectacularly good ones succeed).

------
Trias11
If you're the bank - always hire temp consultants and write your own stuff.

Even if that makes absolutely no sense.

Other then that - decide.

------
itronitron
recent previous discussion >>
[https://news.ycombinator.com/item?id=20419416](https://news.ycombinator.com/item?id=20419416)

