This week I will finish my two years as a Software engineer . Those two years included years of coding, designing, discussion, goof ups, conversations over coffee, etc etc. Whatever a software engineer might be actually working on, there are certain things which tag along the software engineer. Those are bugs. Classically specified as high priority,critical, show stopper, etc etc. I will classify them 'My way' and will also suggest how to work them out (any additions, suggestions are welcome )
Bug Type 1: Its a Feature bitch!
The customer/ client calls up and complains that there is something wrong with the working of the software. Immediately you go in the defensive mode and say "abbey tumne hi toh bola thaa aisa chahiye!" . Whatever might be the reason why that thing is there, it will be a pain in your ass.
Recommended procedure: You should convince the customer/client how its much better now and how his life would have been in trouble if you had not implemented this. If you are good at convincing you might actually get a round of applause, perks, or atleast cadbury perk :D (I agree it was a bad one)
Bug Type 2:Holy crap !It IS a bug!
Well this is a genuine bug. Yes you f***ed it up. Yes you were thinking of naked women when the client was explaining the requirements.(ok naked men too...lets not be sexist..377 is legal now :D) Yes you forgot to handle the exception because you wanted to join your team for snacks.Yes you thought that its not a big deal. But it is a big deal now!
Recommended procedure:Its crystal clear that you are the one who is responsible. There are two ways of handling this. Either you own up, gulp down the scolding and all the embarrassment ..or you disappear!! Yeah one of my friends actually disappeared for almost a week when he had goofed up big time. By the time he came back everything was forgotten.
Bug Type 3: You had already fixed it!
You know you have fixed it. Your manager knows you havent. You remember fixing it and seeing the right results. Your teammates say you were sleeeping (dreaming) on the desk at that time.
Recommended procedure: Well this type of stuff is difficult to overcome. Either blame a crashed machine, some third person who has left the team (or a person who is still in the team but you hate him/her) or fix it up ASAP.
Bug type 4: Its a hush hush affair!
Big people always do it. Its a classic case of andar kuch aur bahar kuch aur. Well the entire team knows that this bug exists. The entire team pretends that they dont. Its usually implemented as a entry in the internal (secret) bug sheet. Its fixed and secretly shipped as part of the next release.
Recommended procedure: Well you are part of it. So dont be a spoil sport. Just dont forget that bug.
Bug type 5: Its a scandal!
Well this type of bugs are similar to the above type but there is one difference. Your boss does not know the goof up! Your peers know about it. your peers blackmail you to fetch coffee for them. You are always scared thinking what if the manager comes to know this.
Recommended procedure: Well dont get intimidated. If someone tries to threaten you, ask them to go ahead and tell the manager. 95% of the people wont go and tell. But there are some losers who actually do. (in short, be prepared for a big thing in ur...)
Bug type 6: Dirty secret!
This is the Baaap of all bugs. While coding, in order to meet deadline (or if you just dont care :P) you leave out some stuff or maro short cuts. No one exept you knows it. Usually its some very bad programming practice or some hard coded values. You are sure that no one will ever come to know about it.
Recommended procedure: Make sure no one actually does know about it. You are your own enemy. Over a drink (or over 'many' drinks) , or when you are over happy/ over excited about something..you confess what you have done and next moment you regret it. :D
Well whatever might be the reason, whatever might be the consequences, bugs are part of our life. Know the tricks of the trade and you rule the roost.
For the uninitiated: Bhageerath is the name of our office building :)