Engineer: I need 4 weeks to finish everything.
Boss: We already promised the client it would be done in 2 weeks.
Engineer: I really need 4 to do everything properly.
Boss: Just make it good enough in 2, so the client has something to work with. Then, go back and do it properly after.
Hey, it’s Alvin!
The exchange above is one I’ve had and seen all the time in over 10 years of software development.
I’ve seen it with small teams of 5 serving a client who runs their own retail store, solo.
I’ve seen it with big companies that serve entire nations.
Companies impose strict deadlines for projects, limited by the budget. So, if we can’t finish things by the deadline, we have to get creative.
And by “creative,” I mostly mean cutting features or cutting corners. The latter is inevitable if the deadline is ridiculous. But it’s also one of the biggest reasons modern technologies are so fragile.
With software, there are ways to make an app seem functional to clients and users while it’s an absolute mess inside (because there wasn’t enough time to do it right).
This is so common, there’s a popular meme on Reddit made from a comic by Tom Gauld that pokes fun at this phenomenon:
It’s funny because there’s truth in it. But as a backend developer, it also reflects a sad reality too many software development teams resign to.
Some call this technical debt.
You apply cheaper solutions to slap something together fast enough to meet a deadline knowing it needs to be redone later, properly. The rework is how you pay off the debt.
At least, that’s how it’s supposed to be.
But companies generally favour adding new features over paying off technical debt because it’s an easier sell to customers. They’re getting a shiny new feature they can see and play with. The benefits of new features are also more concrete. The cost of a bug, or a slower application, is harder to quantify from a budget standpoint to justify software rework.
Unfortunately, tech debt accrues when there’s not enough time to do it right the first time. If that’s the case with one feature, it’s likely the case with other features, too. Keep in mind, features interact with, and are built on top of, one another to form software systems. So as companies ask for more features with shoddy foundations, the debt grows. Weaknesses and bugs in each feature wait in the shadows, ready to bring entire systems down to a halt at any moment.
Software applications like these become buggier and slower over time. By the time they become enough of a hindrance, there will often be newer technologies. Those new tech tools let companies build an entire application from scratch to replace the old one at a fraction of the cost of fixing up the old one.
And the cycle starts over.
From an outsider’s point of view, this can look like “planned obsolescence”—the idea that companies deliberately design their products, so they don’t last long. That forces customers to buy replacements.
While that’s a possibility, nobody’s ever told me to make something trashy. Instead, we have always made what the budget and time allowed. And what the budget allows depends on what the customer pays.
You get what you pay for.
Famous Fridges
These days, there’s a popular sentiment that older tech is far more robust than newer tech. Just consider how often you buy a new smartphone.
A famous example of quality old tech that went viral online earlier this year was the 1956 Frigidaire cold pantry. It’s a refrigerator with shelves that slide in and out. And apparently, there are still functioning fridges from 1956 if you search the internet.
So, some questioned, “why can’t we have such quality refrigerators these days?”
Let’s keep in mind that in 1956, a top-of-the-line Frigidaire cold pantry cost about $470. That’s roughly $5000 in today’s money.
The most expensive Frigidaire refrigerator at my local department store costs about $2000
Will it last as long? Maybe not. But quality, and by extension, longevity, costs money. And most people are unable or unwilling to pay for it.
The point is: you don’t get something for nothing. And we tend to underestimate the cost of making a quality product or providing a quality service. Technology may be more fragile today, but it’s relatively affordable for more people. If we want higher quality products, we need more people who are able and willing to pay for it.
Today’s Visual
I hope you enjoyed this dive Below the Surface of technological fragility. All this said, paying the price for something nice isn’t just about paying for quality products. In next week’s edition of Below the Surface, I’ll dive into what this means if you want to be an effective leader no matter who you are, no matter what your profession.
Reply to belowthesurface@substack.com if you have questions or comments. Do you think today’s technology is more fragile than older technology? Let me know what you think. I’d love to hear from you.
Thank you for reading. Have a wonderful day. And I’ll see you in the next one.