O to 0
I do not know what you might be thinking of the title of this post but there is a big smile on my face as I recollect this incident. It is because it was not only funny but deeply insightful.
In early 1996 (my second year in TCS), I was working night shifts in SEEPZ where I was on a project for GE Capital. It was almost 3:30 AM and I had been working intensely on an IBM Mainframe software program. I was required to write a piece of code, debug it, and ensure that it ran smoothly along with the other programs. I was super tired with the night shifts surviving on very little sleep during the day as well.
It was one of those nights, where I was working on some code. I had written it very well and I thought it would simply work. For some reason, it was not working, and I was getting something called as an ABEND. In simple terms, it meant that there was an error in what I had written.
I went through the piece of code several times. I went line by line and yet could not spot the error. Not the one to give up, I tried hard. However, every attempt was frustrating me even more as I just could not detect the error. The logic was perfect, and I thought I had written it right. Indeed, I had written it right but at the same time, the computer is never wrong in calculations and processing data. So, it was obvious, I had made some mistake somewhere.
I continued for the next several hours like a fool in the wee hours of the morning but was just unable to find the mistake. Finally, I decided to do what I should have done earlier – Ask someone for Help. I reached out to my colleague Bhaven Mahadevia and told him to take a look while I took a nap on the table (yes there was no place to sleep).
Bhaven took over while I went for a nap. Within a couple of minutes, Bhaven woke me up and said “Solved, it’s done”. I was like “Are you serious? You did it so fast.” He was smiling and I am sure he will when he reads this post. We still joke about it.
The mistake that I had done was I had written O instead of 0. I should have written the number 0 in the line “Move 0 to something” but instead I had written move the letter O to something.
Bhaven changed the O to 0 and my code worked perfectly. We still relive that moment but there were some amazing insights that I have integrated in my life.
- Seek Help if you are in trouble or are facing a challenge. There is no shame in asking for help even if you think you are super intelligent.
- Sometimes the problem and the solution are both right in front of us, but we are just unable to see it. The error was right in front of me, and I was the one who had created it, yet I could not see it. This is the issue with many MFDs and RIAs. There are problems right in front of them, but they are unable to see it.
- Always get someone who is sharp and has been in your shoes (or who understands the domain) to look at your situation from a fresh perspective. I would have spent 2 more nights trying to figure out what went wrong with my code. In fact, I had rewritten every other line besides changing O to 0. Thus, get someone to look at your situation from a fresh perspective.
I was lucky that Bhaven stepped in and fixed this problem. Needless to say, Bhaven is extremely sharp, and I was fortunate to have him on my side. In fact, life has come a long way for both of us and we are now working together once again (for the last 5 years) at Happyness Factory and we are blessed to have him as our Head of Product Engineering.
Finally, there are many “O to 0” issues in our businesses that can be solved by having someone look at it differently than the ones who have created them in the first place.
Thus, it is important to reflect on this powerful question.
“Which are the “O to 0s” in our firm and life?”