Today, it will be my five years in the Information Technology. So, I
think this is the right time to put my thoughts on the state of IT in
India – mainly from the perspective of a “Software Developer”
A few days ago I came across
this
website where the author was wondering why
the life of “Software Developer” is just about five years in India, when
software developers in West are coding for 20 or 30 years and are still happily
developers.
So, what is there in India that we have developers yearning to go into the management
since the day they join the corporate world. Hmmm…Well, Let us first go into the kind of
work that software developers in India are doing on day to day basis, what kind
of work is going on in world class Indian IT companies. The IT in India, is
mainly a back office job as of today. Barring a few companies(very minuscule)
and projects (much more minuscule) what we in India do is more or less of a
support.. Some call it maintenance also :P. Yes, support and
maintenance (mainly). Not that much of developing systems(SDLC, from beginning to
end- No way!!). We are just the back office guys of the real IT in the west, or
better – back office developers. Some guy in UK or USA asks us to put some “.”
somewhere in the code, we oblige him by just doing that, no more no less. Every
code change we want to do has to be okayed by someone sitting at “on site”.
And the IT guys sitting and coding in Europe and USA just know that. I have come
across many instances where the people there just refuse to handover some chunk
of work as they do not consider “offshore” as competent enough. Sending work to
India, does mean compromising on quality. Do not believe me? Just check this
popular web hosting site HostMonster, one of the points they boast about is
100% support based in USA. But, I will not blame the Europeans or Americans for
nurturing this perspective of Indian software engineers. It is we Indians, who
have nurtured this perspective and that too with so much of dexterity. In a job
which just needs nice working logical brains in your head, we Indians have
managed to create a class hierarchy. From “junior developers” to “Delivery Managers” and
beyond. Why are we so obsessed with creating slaves and masters.. I wonder why!
Right now, I am working in Agile software methodology… Which
specifically asks that every member in the team should be an expert, does not matter if s/he has 1 year experience or 20 years experience. I remember when I
was in my induction and our trainer was telling us explaining this, one of the
experienced colleagues pointed out that Agile does not take hierarchy into
consideration and is bound to fail in India! He wanted “respect” from his
“junior” colleagues and just could not live with the fact after working so
many years in IT, he will be just another “expert” in the team.
And, the higher you go into the hierarchy, the less you are supposed to code and the more time should be spent in adding
eye candy and bing to your Microsoft excels. That’s when you stop being a developer.
Unfortunately, the kind of management in India also does not inspire good “software developers”. What managers want is “Deliveries”, plain and simple, that he can show to his
bosses and in-turn boast about his revenue generating capabilities. Least is he
interested in technical or domain expertise of “his” developers who actually are
making “deliveries”, as long as they are delivering something on day to day
basis(Or at least weekly basis). A developer in turn becomes totally
ninsensitive to the quality, as his reputation(in turn ratings which in turn
convert to appraisals and/or bonuses) depend more on quantity rather than
quality. Delivering more is important than “wasting” your time in increasing your
domain and/or technical knowledge. A developer stops digging further, s/he
stops learning as the only thing that seems to take him/her further “up” is how
well he able to add bing to the excel documents.
In short-term, everyone is doing good to himself or herself. But we are doing a
great dis-service to the brand India. Better stop acting like slaves and start
living like humans who can “think”.
Dude…
TIS should be started soon…
It has to wait for now man 🙁 How much I wish that it should have been live by now…
BTW, weren’t you talking about this kind of comment system which is here in this blog?
Yes The same type
I have a very cool idea to do it. i will tell you in person
H
I have thought a lot about why Indians are so bad at writing code and my conclusion is lack of experience and mentoring. It is not a perspective that you nurture but reality. I have seen and heard of so many ridiculous code segments from Indian programmers. The real problem is American Managers and decision makers thinking they can save money, but end up costing more, than if they paid an American to write the code. Crazy world! I have mentored Indian interns at my previous company and they were great kids and a pleasure to work with.
Jeff,
There are lot of reasons why majority of Indians are not good programmers. And the kind of mentoring we get is certainly one of them.
But the fact is, these programmers are doing more bad to Indian Brand than to the American code.
Writing a program which is efficient and scale able is both an art and an Engineering. Unfortunately, Indian education system is to be blamed completely. The Engineering curriculum lacks qualified and competent Engineering professors who hold phd and write papers and journals. We need Engineering faculty. Majority of people in India think that just by cramming text books and writing and bringing marks in exam, anyone can be an Engineer. Result? We see people in our IT industry who just retort to surviving tactics to stay alive in the job and hoping that they will do a great work some day. But it won’t happen. They did not do their Engineering right, they will have to suffer. They too know all this.
Thanks Radhakrishna for the the detailed view point. I personally think is the system itself is a culprit. When I am a student, I have no idea of what is expected of me, other than that I need to clear my exams. My parents, mentors, teachers.. all they want is my percentage in exams, no one cares about if I am improving myself or not, if I am evolving or not!
Then when we join companies, all that is expected of us is to deliver things, no matter what crap we write as long as it works. If it breaks something else, even that does not matter. You have to deliver X piece in Y days. That’s all that matters.
And I am not seeing any changes in this way any time soon.