3 ms·
I bring an inordinate amount of third part components inhouse for a solo dev company, so these tools/libraries only have one user. I do take return on investmen
by cjbgkagh 3y ago
I bring an inordinate amount of third part components inhouse for a solo dev company, so these tools/libraries only have one user. I do take return on investment into account and only bring things inhouse if I expect a positive net present value.
A few factors not normally taken into consideration;
- Tooling is a great place to practice transferable skills on a practical problem. This always annoyed me with the XKCD cartoon 1205 which didn’t take into account improvement in optimization ability from practice in optimization.
- I’ve had a few external library dependency rug pulls, open source and proprietary. It never happens at a convenient time and is a total pain in the ass. Contractual agreements won’t save you unless you’re ready to sue for breach of contract and even that is no real solution. Perhaps getting code in escrow could be an alternative but I’ve never seen that work out either.
- External quality is mixed and getting worse. I’m careful with my own code so most of the bugs I hit is in other people’s code. If it’s a small library it can easily be less work for me to bring stuff in-house than to debug someone else's crap.
Honestly I wish I didn’t have to bring so much in-house, it would have saved me a huge amount of work. But we don’t have an efficient market with clearly defined standard of goods where we could treat software as a commodity and I’m not sure if we’ll ever get that.