karloscodes

Total Cost of Ownership, a software engineering perspective

· 3 min read

AI-aided. I wrote the first version. AI helped me polish the writing.

Engineers price the wrong part of a decision. We’ll argue for an hour about which option is cleaner and never ask what each one costs to own. Total cost of ownership is the full bill. What it costs to build, what it costs to keep running, and what you won’t be doing while you keep it running. The first is the only one most of us price, and it’s the smallest of the three.

Say you want a personal blog. Two ways to get one.

Build it yourselfUse a managed platform
Before the first postPick a generator, learn it, theme it, add RSS, a contact form, subscriptions, SEO, a domain, a deploy pipeline. Weeks of evenings.Pick a theme, connect the domain, publish. An afternoon.
Every month afterSecurity updates, dependency bumps, framework upgrades, and a rebuild when the generator you picked stops being maintained.Nothing. The platform ships its improvements while you sleep.
What you’re not doingWriting. Every evening on the deploy pipeline is an evening that didn’t go into a post.Nothing. The time goes into posts, which was the point of having a blog.

The first row is the one people compare. The other two decide it. For a blog, the platform wins, and it isn’t close.

For the record, I’m publishing this on a managed platform, and a week ago I started a one-page site for karloscodes.com. A homepage, no blog. The blog stays where the math says it should.

The blog is the small version of a pattern you’ll meet at work. A microservice split looks cheap on the first row, a few weeks of splitting. Then row two is a network you’ll be debugging for years, and row three is the product work those engineers aren’t doing. A Kubernetes cluster for one app. A custom auth system instead of the framework’s. A new database because it benchmarked well. All of them win the comparison people run and lose the one nobody writes down.

The elegant option usually looks cheap on the first row and expensive on the other two, and nobody notices because nobody wrote the other two down. So before you commit to anything that matters, write all three. What it costs to build, in weeks. What it costs to keep, in hours a month and upgrades a year. What you won’t be shipping meanwhile. If the third line makes you wince, you have your answer.

The elegant solution is the wrong one if you can’t afford to own it.

Update, 2026. Thirteen months after publishing this, I moved the blog onto that site. Thirteen posts, one commit, one day, on 23 January 2026. The math above wasn’t wrong. It was a snapshot of build costs, and build costs move. A model with line items feels rigorous, so nobody re-runs it. AI changed everything again. It can build you a static site in minutes, which is how I ended up on Astro. The half of the bill that made the platform win, the setup, the SEO plumbing, the deploy story, went to almost nothing. The bill was also missing lines. The posts live in git now, the site publishes on a schedule I own, and the design is mine. Price the build at today’s prices, not the ones you learned.

New posts in your inbox. Unsubscribe anytime.

Or grab the RSS feed.