Fixing the problem

There’s a common misconception between solving a problem and hiding the symptoms. The tech world is full of examples both because it’s an easy falling trap and because of the move fast culture.

You have your application being down for short periods several times a day because your database server can’t cope with the load. The fastest workaround is throwing hardware at the problem. Adding new or faster servers, maybe faster disks will stop your application from crashing. Problem solved.

At least from a management point of view.

What you did though was not solving the problem, only make the symptoms disappear. It’s an important step because it gives you the time to focus on the problem before it comes back. To solve the problem, you will probably have to rewrite complex queries obviously written by a bunch of drunken otters, add indexes to billion records tables, write and deploy a caching layer or change your whole technology stack.

Making the symptoms disappear only buys you the time to solve your problem.

That’s not so bad actually, when your management accepts to hear it. A common question I’ve heard over the year was “why should I throw money to fix something that works and won’t bring money?” That’s another easy, deadly trap to fall, until the problem rises again. And “I told you so” won’t solve it.
