TL;DR; If you are really wrestling with a build/buy decision then you should probably buy. If there is a decent option out there, go out and use it until either one of two things will happen. One, you love it and you never have to build that thing and you can focus on higher order tasks. Two, you hate it, but now you have a strong opinion of what your thing should look like.

Building vs buying (or using open source) is a subject near and dear to my heart, mostly because early in my career I screwed it up so many times. I have built so many unnecessary widgets because I had a bad case of Not Invented Here Syndrome. From recreating file servers to Javascript frameworks, all of this stuff was done, done with more care attention than I had time for and by a lot more people. But, looking back it wasn’t all for naught. I’ve grown a great instinct for when to build vs buy and have learned a lot about the intricacies of software.

Building is a blessing and a curse. A curse because it takes time away from the thing you are supposed to be excelling at and leaves behind code (or product) you must maintain for the life of the project. If you build, don’t be surprised when your time is being consumed with maintaining that boring low-level piece of code 12 months down the road instead of working on the new hotness.

The blessing in building is that you learn A LOT about how to write abstract code and how to solve problems in generic ways. Personally, these skill have helped me as I’ve moved on in my career. You also come to appreciate why problems are hard and that what you see on the surface looks easy, but gets exponentially harder the more robust you make it. Learning that has helped me make decisions leading teams of when seemingly easy problems should not be built in house.

When you are young and inexperienced and inexpensive take the time to build things, but don’t be afraid to waste 3 weeks on it and throw it away for an off the shelf solution. If you are more experienced don’t be afraid to buy an off the shelf solution knowing that in 3 weeks you might go back and create your own.

In conclusion build when there is nothing like it out there (NOT ANOTHER CRM), buy so you can focus on the more interesting problems and go back and evaluate your decision every few months.