That dreaded email the one you was hoping would never turn up in your inbox has now suddenly popped up. You re-read the communication just to be sure of the exact details. Although you would love to just ignore it, this is one you can not. You have written your reply for the last time, but you hesitate to hit the send button. “Let me reword that again” you think to yourself, the dilemma is do you tell the truth?
Software bugs are sadly always part of real world systems, as a twist on the original saying:
“Real systems aren’t perfect, perfect systems aren’t real”
Of course there are indeed differences in the severity of bugs from the minor, the annoying and finally the catastrophic. From the perspective of the end user the minor bugs may usually be ignored. Annoying bugs will often bring a quiet groan as some work around are used. The major bugs are completely different, these are the showstoppers.
A showstopper does not happen often (at least it shouldn’t) because when one does occur everyone notices, the impact can be far reaching from financial loss or even death. On 6th May 2010, a bug in the stock system caused the “Flash Crash” costing the United States $1 Trillion in financial loss. In 1985 around six people died as a result of receiving a radiation overdose (100 times the normal dose) from a Therac-25 machine, once again this was as a direct result of a software bug.
Given the gravity of the matter shouldering the sole responsibility understandably are a serious burden. Given such a heavy burden it is not surprising that most people will wish to avoid it as much as possible. The easy path are to either pass the burden to someone else or perhaps be very “economical” about the truth.
Not taking on the burden is a hack, a short term fix. It may work for a very short while, but in time as with all hacks it will undoubtedly fall apart. When it finally does fall apart the ramifications will usually be far worse than whatever the short term fix avoided.
As a professional from a doctor to a programmer, others who are dependent place a trust in those individuals. Most people understand that things sometimes goes wrong, humans are not perfect. Most mistakes are forgiveable even if they cause anger or suffering. However deliberate deceit breaks that bond of trust and once broken it cannot be undone.
Take a deep breath
Owning up to your mistake takes courage, admitting you failed and failed badly never comes easy. If you have to walk this path, the first thing would be to acknowledge your failing and apologise for it without any hint of excuse. Make an effort to talk directly in person if failing that then over the phone. Email simply does not do this communication justice in many cases. Explaining the cause of the problem and then offering a solution will help you move forward from your mistake.
As programmers and system builders we are in a place of trust. Trust and reputation are something that usually takes a long time to build. But both these are very quickly destroyed. I hope you never find yourself in such a horrible situation. If you ever find yourself in such a predicament I hope your reputation** **and **trustworthiness** gives you the courage to want to save it.