Sunday, December 11, 2016

The Anatomy of a Code Review

This is the musing of a software developer. If you are or have not been in the profession, some of these might appear jargon to you. I have tried to write it in as simple a language as I can, but still you ought to be thankful to God Almighty for your absence of knowledge on some/all of these issues. Believe me, you are much better off NOT knowing all these than those unlucky ones like me who see lines of code floating around in dreams…..

Somewhere in the wee hours of the morning, long before the sun has risen over the horizon, in the dark alleys of a software company, an unfortunate soul sits away staring at his computer monitor, his hands deftly navigating the contours of a keyboard attached. That harangued soul, I wish, were my worst enemy, but unfortunately happens to be me. Myself.

The clacking of the keys is the only noise in the entire hallway, which is deserted sans a solitary me. I peck away at the keyboard incessantly, unaware of my surroundings. Completely focused on what I do. And finally, a few hours later, the beginnings of a smile begin to creep up on my face. At last, my code is working. An almost surreal feeling. Priceless, exactly the kind that my MasterCard cannot pay with. And finally, double checking everything, I send off my piece of code for reviewing by my peers. Also known in colloquial terminology as code review. That done, I head to the parking garage to pick up my car and head home. On the way down to garage, I try to remember whether I did have my dinner, or whether the last meal I had in the day was a piece of toast for breakfast.

Sometime after I reach home, I fall asleep on my sofa. And long after the sun has risen and the world around me is busy with its morning activities, my alarm chirps me to life. I brush my teeth, finish with my morning ablutions before I head to office. My first task - to check peer feedback on my code review. As I grab my morning coffee and head to my desk and open my computer hoping to see that my code has gotten the requisite sign offs. Or at least a few comments so that I have something to work on in the morning.

But alas, that is not to be. Indeed, I should have known. The very revered peers of mine were busily ensconced in their respective worlds, my request for reviewing of my code was nothing but a mere distraction. And so there I was, after toiling way past midnight, now at the mercy of my colleagues and seniors. If only they could give me some feedback. But fear not, it is not the first time that yours truly is facing this situation. With nothing better to do, I turn on the web browser. Social and anti-social media are the buzzwords as I delve into the pleasantries of life with friends and family from up close and afar. Cameth the lunch hour and I, having all the lavish time in the world, decide to skip the office cafeteria and entertain myself to a fabulous lunch outside in some restaurant.

I come back after a very sumptuous lunch and open my system. My mind is delving into the multiple possibilities of how to creatively spend my time in the afternoon in the office while appearing to my manager and the rest of the pack that I am, like a loyal servant, hard at work. No sooner has the computer opened up, I see my code review all lit up like the lights on a Christmas tree.

And there, after addressing the plethora of comments that flew in from left, right and center making me appear more of an idiot and less of a software developer, I finally manage to commit my code to the system. Feeling triumphant, like a warrior after a successful battle, I head to the kitchenette to celebrate my success with a cup of coffee. I stand near the machine while it splutters and cranks out the coffee I believe I so richly deserve. The mobile phone in my pocket vibrates. It is a new email, my change has caused a build break. Muttering all the expletives which I imbibed as a part of my collegiate education, I rush back to my office. The vicious cycle begins all over again…..

No comments: