Steam engine or bridge?

When looking at the bigger picture of writing and maintaining complex software systems, I look at it and ask: have I built the software-equivalent of a bridge, or a steam engine. While a bridge needs mainteance and inspection, after it’s built, it largely just sits there. You spend a lot of time up-front, designing and engineering it before even a single brick is laid.

A steam engine on the other hand, only just sits there if you don’t want it to do what it was designed to do - be an engine. It needs a team of people working tirelessly round the clock babysitting it to cajole it into performing.

‘ls’ is a bridge piece of software. It basically sits there. But SaaS companies’ backends are a complex steam engine piece of software, which is why you need SREs.