The PivotNine Blog

On Maintenance

oliver-hale-oTvU7Zmteic-unsplash
31 March 2024
Justin Warren

This article was originally published in issue 85 of The Crux.

Operations, maintenance, keeping actually useful stuff running in production, is the part of tech that I am most interested in. Even when building new things, my mind always turns to questions like “how will we keep this alive?”.

Now there is value in quickly shipping a prototype to get real-world feedback on whether something is worth doing for real. I am not an advocate for spending years developing a gloriously complex, idealised system in isolation and then foisting it on an unsuspecting populace. Too many governments, and not a few corporations, use this approach with predictable results. It sucks.

Yet going too far the other way and ignoring everything that isn't new and shiny is also a mistake. It's how we get brittle, exclusionary, discriminatory prototypes where we should have more fully realised systems. Systems that include all the boring but important details like working backups, accessible interfaces, high-quality documentation, repair manuals, spare parts, and so on.

These are areas that aren't particularly exciting to newly graduated techbros hell-bent on throwing out anything more than a few years old to replace it with a new Javascript framework. It is why, I believe, we are smack in the middle of the enshitocene full of half-arsed, barely functional systems that don't work well for anyone that isn't a 20-something rich white dude in the San Francisco Bay area.

Subscribe to The Crux

Never miss an issue! Sign up today and get The Crux delivered straight to your inbox every week.

    We respect your privacy. Unsubscribe at any time.

    So much of what we are forced to deal with is extremely mediocre. It could be better, but that would take time and careful work, which isn't popular at the moment. Instead, we have complex systems built from layer-upon-layer of hastily assembled abstractions that allow us to build huge amounts of new stuff quickly, but it runs slowly and inefficiently.

    There are constant headlines about companies spending ~80% of their time/budget on operations instead of 'innovation' as if this is a bad thing. If a system is useful it'll be in production just being, you know, on. Of course most of the time will be spent on operations keeping it running. That's what success looks like!

    Maintenance might be boring compared to dreaming up new ways to slowly draw an inaccessible user interface on a screen, but grown-ups know that maintenance is what stops you lurching from crisis to crisis, constantly building a new thing to replace something unrepairable. They are comfy shoes that fit just right, even after every piece is slowly repaired or updated as it wears out.

    Well designed systems are easy to maintain. They break in predictable ways. They use a cheap, easily replaceable part to protect the big, complex, expensive bits when something unusual happens. They work now, tomorrow, and in several years' time because they aren't disposable, throw-away prototypes but real, solid, dependable systems you can rely on.

    I long for the tech industry to invest in a future worth looking after.

    Let's build that instead.