Owned, not rented

Why Neldore builds and operates its own technology, and what holding a system for the long term changes about how it is engineered.

Published
Reading time
4 min
Author
Matteo Chirivi

Ownership is usually discussed as a financial arrangement. Who holds the equity, who takes the upside, who decides on an exit. Those questions matter, but they are not what this note is about.

We build and operate our own technology because ownership determines the clock. And the clock determines the engineering.

Every system runs on someone's clock

Software is always built against an expectation about when something must be true, and that expectation propagates all the way down into technical decisions.

A system built within a contract runs on the contract's clock. Work is scoped to what can be delivered before it ends, which is reasonable for both sides and structurally hostile to the kind of infrastructure that only pays off after several years. Nobody writes a line item for the data model that will make year four cheap.

A system built to be sold runs on the buyer's clock. It is shaped by what can be shown at the moment of the sale, and that produces a strong preference for what is demonstrable now over what is durable later. Both are legitimate; they are not the same.

A system built on rented foundations runs on its landlord's clock. When the platform underneath changes its prices, its interfaces or its direction, the roadmap changes with it, whether the product needed to or not.

A system you build, run and intend to keep runs on one clock only: the problem's. It is slower, and it is the only arrangement in which the answer to "when does this need to work" is decided by the problem rather than by an external calendar.

What changes in practice

The consequence is not that we work without pressure. It is that the pressure is technical rather than temporal.

It changes what we are allowed to refuse. A feature that would make a demo more impressive and the system harder to reason about can simply be declined, because nobody outside the company needs to be persuaded this month.

It changes how we sequence work. Our stated order is depth before breadth: bringing current systems to maturity before opening the next front. That order is only available to an owner. A team working to someone else's calendar is under continuous pressure to announce the next thing, because announcements are how progress is measured there.

It changes what a delay means. When a problem turns out to be harder than expected, the options are to solve it properly, to solve it partially, or to change what you promised. With an external deadline, the first option is often unavailable. Without one, it is usually the correct one.

It changes what we rent. Commodity services are rented freely, because they can be replaced without touching the product. The parts that define a product are not: its data, its core logic and the ability to move it elsewhere stay in our hands.

Independence costs speed. What it buys is the right to be patient, and patience is the only way to build something that is still improving after a decade.

The honest cost

It would be dishonest to present this as a strictly better model. It is a trade, and the price is real.

Building and running your own systems is slower than assembling rented ones. We move into new domains more slowly, because each one has to reach maturity before the next begins. Some opportunities will pass because they needed an answer before we were ready to give a good one, and some of those will have been genuine losses rather than disciplined refusals. Anyone claiming their approach has no downside is describing a pitch rather than a company.

What we get in exchange is that the engineering standard is not negotiable. In most companies, quality is the variable that absorbs schedule pressure, not by decision, but because it is the only variable with any slack left. Removing the external schedule removes that mechanism. When something is not good enough here, the response is to keep working on it, because there is no deadline to trade it against.

Held, not flipped

Every system we build is built to be held. That single decision explains most of the others.

If you intend to sell a product in three years, the rational strategy is to optimise for what a buyer can see in three years. If you intend to hold it indefinitely, the rational strategy is to optimise for the cost of operating it in year ten. That means documentation, boundaries, tests, and architecture chosen for people who have not been hired yet.

These two strategies produce different codebases from the first week. We have chosen the second one, and ownership is what makes it possible to keep choosing it when the work gets slow.

PreviousWhy we build slowlyNextUpDash crossed $1M+ for clients in six months