Tuesday, August 21, 2007

Debugging is like having sex

I have been working as a software developer for about four years now and have known many people from this industry who have chosen development of software as their career path. As exciting as it looks from outside, the task of development if full of filth, gamble and uncertainty. It is true that after having been around for a while, a person begins developing boredom and less liking towards a job. But I do not write this text in such a mood or state. I choose to remain a developer for a while, just because it often becomes challenging enough to let you enjoy your job.

Software development is an above average paying job in many countries now and so I expect it to remain for at least a couple of years after which the global pay scale will slightly decline and then saturate for some time. Despite of other important respectable positions that can be held in a software development company, the role of a developer is more challenging if you like to be at the root of problems and ignite your own solutions. How can a software developer be recognized? A simple management trick! Take your employees for a walk, say around some paddy fields. Those who jump into the fields and run around, they are useless, throw them out! Those who take out some gadgets, a laptop or a mobile or a camera, and starts pretending to be busy, they have good management skills, but obviously not a developer! If there is a group of people, physically not very active, standing at the edge of the fields, grouped together and talking about various topics ranging from the cellular biology to the Proxima Centauri, each person impersonating a genius when each is a jack than a master, you have chosen the right people! These people babbling nonsense and every other person in the group having a say (but remember, they speak because they have to say something!) are the true developers. Another unique idea - talk to them. If you cannot understand them and they look confused all the time, you have met the right person for the post of a developer.

But however the individuals be, respect the job they do. The most challenging task for a developer is debugging. It is an art of going through the garbage so that the garbage remains in tact and the rat with dirty plague hiding inside and squeaking all the time is dead. (Well, you assume its dead, but its just unconscious!) Ok, I will rephrase it...so the rat is dead at least for a while. The patience and skill needed, the analytical power needed and the monotonous task of re-executing the code to reload the scenario are virtues of a developer. In fact, a developer is already a cyborg. His thoughts are mechanical and social consciousness is artificial. His desires are technically sound but morally absurd, and no matter how many wives he can pride on, his first wife will always remain a lousy 17" desktop with a crap keyboard.

Debugging is like having sex. The pleasure that a developer experiences when a bug is solved, is ecstatic. But since debugging is a human task and the debugger is still a human, the level of discomfort always troubles him. That is why, the speed and accuracy of the solutions provided by developers are directly proportional to the junk food and coffee on his table. There is an old teaching for wives that the best way to reach a man's heart is through his stomach. Since successful companies like Google and Microsoft have already learnt this lesson, all projects managers in this industry must. Cutting short the crap, developers need something to munch while he has something to crunch in mind. What about trainings? They are secondary. Oh sorry, did I get the women rights people behind me? But I could not help assuming that all (well, almost all) debuggers are men, because women are good at developing new solutions, but perhaps being hygienically conscious, they rarely like to overturn the garbage for the rat. You do not agree, well no problem, I didn't say all....I said almost all. Congratulations, you are an exception!

It was a funny thought I had when I was trying to explore why software developers are given the facilities they enjoy at their workplaces (well, in many of the workplaces). It seems like the project managers are aware of the nuptial bond between a developer and his PC. They have to do nothing but lure them to stay together, which requires much less effort, because I have never heard of a developer going for a counseling session because his relationship with his first wife is not working! He pays very less attention to other relationships and that is why software developers find wives (or mates) even though they are fat and lousy. You asked why? Well, the wives do not have to worry about planning for future or any expenses that the dummy developer would incur. All he needs is some gadgets (and the much needed munch is often free at his workplace), and the balance from the salary is a treat! You can also watch your favorite TV shows and visit late night parties because the dumb ass is still unaware of the world beyond his PC!

There is much more I could explain about the creepy looking people of this alien world who call themselves the creators of software and pride on their creation unaware of the riches that pour in through it. But I am already upsetting many and I will, for my safety, let it be for a while. When I find less humidity around, I will get back to it.

No comments:

Post a Comment