Every client invoice is a small investment in our product
We've had investors since day one. They just never asked for equity. How 300 € and client invoices paid for every product we've built.
Leer más →Every developer hears a little voice that says "I could build that". It's usually right. That's exactly why it shouldn't be the one deciding.
Every developer has the same disease.
You see a tool that does something, and a little voice says: "I could build that."
The voice is usually right. That's the problem.
I've had that voice since I was twelve. It's how I learned. Free online courses at night, taking things apart to see how they worked, rebuilding them badly and then less badly.
It's a wonderful voice for learning. It's a terrible voice for running a company.
Because being able to build something says nothing about whether you should. A small company with no investors has a limited number of hours. Every one of them comes from a client who paid for it. Every hour I spend rebuilding something that already exists is an hour that doesn't go to the thing only we can build.
For years I didn't see it that way. I saw a missing feature and I saw a weekend. I didn't see the next five years of keeping it alive.
Building something is a decision you make once. Owning it is a decision you keep making every month.
I don't want to sound like a convert. The fashionable answer today is "never build, always integrate". Plug in a service, connect an API, done.
That's lovely until the service changes its prices, its rules or its mind. Then your product is a guest in someone else's house, and the landlord just changed the locks.
We've made calls in both directions. There are things we've decided to keep in our own hands, like the server our product runs on, because that's where our responsibility to clients lives. And there are things we'd be foolish to build ourselves, because others do them better and they're nowhere near the heart of what we sell.
I don't think there's a rule. I think there's a question.
It goes roughly like this: if this breaks at midnight, whose problem is it, really?
If the answer is "ours, and our clients would never forgive us", it probably belongs inside. We should understand it, own it and be able to fix it at any hour.
If the answer is "someone else's, and they're better at it than we'll ever be", we should integrate it, test it properly first, and stop pretending we need to reinvent it.
It's not a framework. It's the same logic I use with money. I put it into things I can explain. I put our hours into things we can stand behind.
This matters more now, I suspect, than it did a few years ago. Building keeps getting cheaper. Which means the voice that says "I could build that" is going to be right more and more often. And louder.
I don't want a company that builds everything it can.
I want one that chooses what's worth carrying.
The voice is still there, by the way. I've just stopped letting it make decisions after dinner.
P.S. Yes, I still take things apart to see how they work. I just don't ship them anymore.