Taints & Tolerations

Programmer Time

May 15, 2024

I was recently reading Software disenchantment and was reminded of the sound bite "programmer time is more expensive than computer time". As the author points out, this little bit of wisdom has been used to build progressively worse software systems in the pursuit of saving developers time (💰).

My issue with this approach is that as we build worse and worse systems, the value of engineering time goes down. We're building things badly, why would we be worth more? At the same time, the cost of the systems we build continues to climb across multiple axes: infrastructure costs, environmental impact, user satisfaction, etc.

So at some point, there's a tipping point where we have spent so much time devaluing good engineering that it's worth less than the operational cost that we're shipping to production. This isn't exactly revelatory nor is it limited to software. If you can stand to watch a couple episodes of Kitchen Nightmares, you'll see at least one example of a restaurant trying to pull itself out of a nosedive by cutting costs in all the areas that make a restaurant a good destination. Invariably in these situations, the owner will explain that they had to cut costs and the only way they could was by buying frozen food and sub-par ingredients and firing their trained chef to hire a teenage line cook. Of course, that never works but they felt justified in doing it at the time. It's only when someone confronts them with the real numbers of the situation that any light dawns.

As an industry, we passed the tipping point long ago. Software is made so cheaply and with so little care that I would be hard-pressed to think of a single application that I use on a regular basis that actively delights me. At best, they just don't get too in the way. And as engineers I think we all generally know this and most of us would like to do better, but we don't call all the shots so we just watch as things get worse and worse.

The only real difference in the software industry is that the scale of distribution means that even with dog shit software across the board, a few people at the top still get insanely rich and perpetuate the problem.