Why I don't buy software tools

My business costs consist of servers and domains. Except for those, I never buy out-of-the-box tools for software development. As a programmer and indie maker, I have several reasons for that.

Disclaimer: if you don't know how to code or if you're managing or working for a company, this post is not entirely applicable.

First, it's never a good thing to outsource parts of your business you know nothing about. Outsourcing comes after you hit a maximum pain threshold preventing you from focusing on your core activity on a frequent basis. Before that, you don't know what the underlying problem is, and you don't know what to delegate to a third party.

Pain and learning curves are similar, but they are not the same thing. Learning is never easy and can lead to suffering, but it's a meaningful pain.

When you're compulsively buying a tool, you're not learning. But your capacity to learn hard things fast is what ultimately makes the difference between you and the competition. Without this knowledge, you are trapped by your own limitations.

Knowledge is leverage. Nobody will praise you because you bought a Mailchimp, but developing an intimate understanding of what makes Mailchimp so useful and how it works can land you jobs later on. You can't acquire this experience without getting your hands dirty.

Money is another argument. I don't think it's a smart move to spend on software without developing some sort of Product/Market fit first. Increasing your financial constraints leads to creative outbreaks and lets you see new opportunities. Reinventing the wheel to give it your own spin is how I get most of my product ideas. Thanks to its low maintenance costs, The Co-Writers became profitable two months after its first release. It's still not enough to make a living from it, but at least it's enough to stay online indefinitely while I improve it. If you double your costs by two, you'll also need to double your customer base to make ends meet.

At a strategic level, it's in your best interests to remove dependencies to third parties. Partnering is always taking a risk. Long-term sustainable business relationships are hard to develop. Great business partners are even harder to come across. Some people are not here to play the long game or simply don't share the same values. Third-party services or APIs can be discontinued, and tacit service-level agreements can be broken. Even big companies such as Facebook or Google can't be trusted. Small and medium enterprises can be even riskier because of the market's volatility.

Of course, beware of all-in-one solutions. Buying a tool is investing in a company: it's never good advice to invest all your money in one provider, you need to diversify your portfolio to make it more robust to change.

Finally, building your own tool is a fun thing to do, and it's a market differentiator if it's well conveyed to your audience. We live in an age where craftsmanship is making a comeback. People tend to prefer buying from local artisans than big faceless corporations. There is beauty found in handmade things, which in turn increases its perceived value. When you offer a gift during Christmas, handmade will always come off as better, even if the intrinsic value is inversely proportional.

Building your own things is not just a matter of pride, monetary gains, and control, it's also about reasoning from first principles to design well-engineered products. That's what makes brands like Basecamp or Ferrari so attractive to customers. Their products are minimalistic and optimized to do one thing well. You can't do that by accumulating layers of complexity.

The only software product I'm still paying for is Makerlog, because what I'm buying is more than just software. It's a founder's vision and a community, not just a commodity or a transaction. I already know how to build a to-do app, but I have nothing to gain from creating my own, even though I use it daily. I have more to lose by not supporting its growth. Most tech products I came across don't meet this requirement.