Warning: This is a rant post, triggered by an email forward. That should pretty much say “skip it”. If you read this, you are welcome to comment on it, but you should realize that this post is here because I wanted to push it off my mind.
I got this email that Narayan Murthy supposedly sent to all Infosys people. This is something that has been going around as a forward for quiet a while. I really do not know if he sent it, but I am slightly pissed off – at getting this forwarded for the Nth time as well as for making it look like people are taking advantage of the company facilities.
The email is here.
It sort of angered me when I read it.
I do not believe that Narayana Moorthy wrote it.The picture it projects is far from truth. And I don’t think he is a liar.
Nobody works straight 8 hours in an office. Not with all the useless chatter, meetings etc. And even without all the interruptions, working 8 hours straight off actually requires that someone stay in the office for at least 9 and a half to 10 hours. Why ? Its because programming is _usually_ an intellectual activity. If you are a programmer or an architect, you solve problems. You get tired even though you are sitting still in your seat and you _need_ breaks. Of course, all this is assuming that the task assigned to the programmer is properly estimated. Let me explain.
Estimating programming time is still a black art – You get it right sometimes – but usually its underestimation. Its like Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law. The primary reason is, when you estimate time, the guy doing it doesn’t have a clue about how long solving the programming problem itself is going to take. Its because the enterprise manager/team lead type are not usually educated enough to realize that some problems might actually be unsolvable. They break down the problem into smaller bit and assume that things can be implemented easily. There are two things at work here – Specifications that are as slippery as eels and the actual lack of knowledge of whoever is assigning the task. Smart designers and architects realize this. They usually try to mitigate and solve the problem in the design phase and _then_ estimate time for expressing it as a program. Their estimates tend to be correct. But who gives a shit !
The particular fact, that the time for implementing a solution to a problem cannot be estimated really well unless you already know the solution, is always overlooked and never given priority when a big company like say, Infosys solicits and builds software solutions for a large client. It is always about delivering fast. In tight deadlines. Since its easier to break promises and apologize later, the programmers are usually put under pressure by the managers/whoever is involved. They first promise the client that things will be fixed in an incredibly short time line, and tell the programmer to do it. The poor guy tries to fix, and fails usually, and by that time the manager plays the situation a bit, pacifies the client and buys the programmer more time. The programmer is happy that he got more time to fix, the manager and the client are happy that situation is fixed (in spite of the delay).
This is how things happen usually. The case stated in that mail, that of the programmers staying back in office to enjoy net and food, its absolute crap. A few might do it. But the majority doesn’t – they are there because of bad estimation and false promises made to the client. They want to get out of office fast. So they finish up stuff and just fucking leave. Of course there are people who use the company resources to download things, they do happen. But that case is rare, and the company usually has a firewall and proxy in place to prevent such things. A big enterprise like Infy has a locked down access – so much so that sometimes looking for legitimate solutions in a webstie will lead to “policy violations” because the site is incorrectly classified as entertainment/personal storage/porn (wtf?)
Programmers do spend a lot of time on the internet reading up on stuff. They read Slashdot/DrDobbs/Arstechnica/HackerNews/YourFavoriteTechSite. And they do check their personal emails. But those usually happen when the poor guys take a break from the work. The company should let them read up on those stuff because a) This is sort of a stress buster/relief for the programmer b) Programmers read these to improve themselves and keep themselves abreast of new developments in their interest areas. If the programmer improves, wo is going to benefit ? Its a disproportionately small price to pay.
I think that email was cooked up by some sad HR people and is still maintained in circulation by the non IT crowd who think that the programming crowd has it better. The real programmers shake their head sadly at the email and go back to their code editors.
On the other hand, these sadass companies insist on silly shit like “dress code”, “signing in on time”, “putting in 8 hours”, “responsible usage of internet”. What a load of bull crap !! Programmers program – they are supposed to be dressed for comfort so that they can sit and code. They will finish a task on time, just dont insist on working the normal hours – some are nightowls, some are early-birds. Its not some mindless repetitive task – it actually requires them to think. Let them choose their hours. And these sadasses who make a ruckus about working 8 hours never bat an eyelid when the guys sit and pull of things in an incredibly tight deadline.
People who think that that email is absolutely spot on about something, you guys must be the non it professionals. That email is a fucking joke. Please do not waste your time forwarding it.