Don't Blame The Messenger

Sometimes the case plays strange tricks. This post was laying in my feed reader since some days. I haven't read it before probably because the title mislead me. When eventually I decided to get into it, suddenly I realized that it was speaking about my situation in that particular day.

The Post [TL;DR]

I know you are lazy, so here there is a brief summary. The author is a tester working for a company that sells services through a website. It's important that the website is always online, so this guy created an automatic script that, at regular intervals, tries to login. If something goes wrong, an alert to a technician is sent.

The problem is that an alert was sent in the middle of the night but, when the technician looked at the website, everything was just fine. So the author's boss asked him to remove the script. Unfortunately (for the boss), there was a recording of the script execution and, guess what? There was a real problem. An issue that appears randomly but that can harm your customers if you guarantee that your service will work 24/7.

My Situation

When I read that post, I came from a working day where I've had to add several checks on inputs to a program. This program runs in an embedded system and there's no way that an input from outside the system can arrive to my process.

The original code checked several possible situations of bad formats, but not all. It's a closed system where my team wrote all the code so, to me, implementing every possible check is a total waste of time.

What happens is that another component of the system is regularly sending badly formatted messages to my program. Those messages are refused 99.9% of times but apparently at least once (I have not been able to reproduce the issue - all I have is a partial log) a strange thing happened.

My teammates agreed to fix the other program but they also wanted me to add more checks in case other bugs happen. They considered the lack of check on an internal message a bug at the same level of sending wrong messages.

Do You See The Connection?

My program and the automatic login script just showed up that there was a bug somewhere else. But they are blamed to be the problem. In my particular case, I should defend my code from my teammates' bugs. Every possible bug. Just like they are enemies that try to find an exploit. Is it just me or does this makes no sense?


Cover image created with keepcalm-o-matic.co.uk.