An error pop-up demonstrating a bad error message with each section highlighted to show why it’s bad.. “Whoops! Something went wrong. (uses an inappropriate tone) The third-party you’re trying to connect to isn’t responding (passes the blame), so we can’t fetch your data (uses technical jargon). Try again later (too generic). Close button.”

Error Messages and Waste

If there’s anything that seems to waste huge amounts of money in large tech orgs it’s unhelpful #error reporting.

tl;dr: Write better error messages and tests. It could save your company millions.

Whenever we get flagged from our #errorReporting software and it doesn’t include clear language and vital troubleshooting details (basic stuff like what device it’s on or what page(s) are returning said error), the ticket bounces around the inboxes and Slack channels of dozens of high-level product managers, engineers, and producers who are all playing guessing games and using the process of elimination to figure out how to reproduce the issue, let alone solve it. The more siloed the org is, the worse it gets via the corporate #telephoneGame too.

Take the cost of an hour (hopefully we aren’t spinning for longer than that, but it happens) of all these employees’ time and add it up. We likely don’t want to pay that cost instead of the few minutes it takes to write cleaner tests and errors.

If we can’t reproduce it, we can’t fix it, so that waste is often 100% negative margin and may even repeat in the future.

These are often invisible forces that raise operation costs multiplicatively over time. They’re rarely reported in engineer ROI metrics and fixing them is difficult to prioritize over sexy new projects with higher potential ceilings. But fixing them is near zero risk too.

This is one of the many flaws in the “MVP” mindset. I prefer building clean, maintainable products we can sustain to constantly build incremental value “forever”.

We don’t always know when we start a project that it might be that little API bottleneck sitting in our codebase 10 years from now, but we’ve all encountered that bottleneck after the fact. So I feel it’s best to raise the floor and keep #quality a priority for every project. Invest in our future selves.

Also see: When Life Gives You Lemons Write Better Error Messages

Cross posted on LinkedIn