That nasty bug on a new integration project refused to be found and we were fried at the end of the day. We felt lost and defeated. Leaving the office seemed hard to do but coming back the next day with a fresh perspective was equally important. I think I was in my own world that night. I sent a text message to our team: “I believe nothing is impossible. I hope you think the same”.
We assembled early on Tuesday morning. I think we spent the night thinking about what could have gone wrong. Starting fresh we decided to take a step back and work the basics. This would help us incrementally build our confidence again and find the error(s).
Step 1 - Downloaded new code libraries from the vendor site and went through the tutorials and how-tos. Were we missing something?
Step 2 - Made sure our server had the correct requirements. It was important to double-check just in-case there was an incompatibility.
Step 3 - Kept the terminal window open and used the ‘tail -f’ command on the error log file. This would help us squash bugs incrementally as we progressed.
Step 4 - Setup the code and made sure that the most basic example ran. It gave us a few fatal errors that we couldn’t make sense of. After searching the vendor’s site, there were others who had the same problem. We applied these patches. At last, the basic example ran properly.
Step 5 - This gave us confidence to add our code and made sure it ran too. After some minor modifications, this ran too and we were well on our way to complete the integration.
Looking back, we figured it was some old libraries and something buggy in our code that returned empty session values and broke the processing. We could have probably commented our code in the first place, but we opted to start from scratch.
This process is something that all developers go through. Though, what we learnt was very powerful and will stay with us for a long time:
a. Take up a challenge positively cause it ain’t going away. If you are going to face it, you might as well give your best.
b. Going back to the basics helps. Building on stuff that works always helps.
c. Control your mind when faced with a challenge. It will wander and get excited. Calm down.
d. Keeping everyone motivated and encouraged as you will be working with people with different stress levels.
That same morning, I came across a quote from one my twitter followers:
Keep your fears to yourself, but share your courage with others.”–Robert Louis Stevenson
Deep inside, I knew it would be our day.