Reasons for incompetent software developers in India

Most of the times, I have heard that Indian developers don’t have the quality as compared to their counterparts who are working in western countries. Development teams in western countries often blame their offshore counterparts for slowing them down. It has been said that Indians are not technically competent; write poor code, they don’t give any suggestions for the problems, etc.

In my opinion, most of these are true. Yes, we are not at par with developers in western countries and we sometimes really suck. Please note that this is just my personal opinion and not all software developers in India are bad. It’s the problem of quantity versus quality. In this blog, I will be putting up some reasons why I feel Indians developers lag behind developers from other countries.

Reasons

Developer by chance not by choice = In India anybody can become a software developer whatever his/her qualification is. I, myself, was a mechanical engineer, but in the college campus was recruited by a Software company so I ended up becoming software developer. Likewise I have so many friends who become software developer by chance. Most of the college students who join any Software company does not know anything about software development or have any knowledge about programming.

College education does not help = I have graduated from one of the good college in India but I can tell you one thing that the quality of education in India is very poor whichever college you get graduated from. In India, importance is given to marks than to practical learning, students just cram the things and get score but practically they know nothing. I recently interview a guy who had close to 6 years of experience, graduated from a good college in Computer Science with a very high percentage, was not able to write a Fibonacci series program.

Developers don’t keep themselves updated = If you ask a developer which last technical book you read or how you keep yourself updated, most of the times you will not get any answer. Nobody wants to learn or improve themselves. Whenever I get a chance to speak to developers I ask which last technical book they have read 99% of the time answer is either none or Head First SCJP book.

Everybody wants to become a manager = In India you can become team leader at 5 years of work experience. Once you become team leader, your next goal is to become manager and for becoming manager you need to be good at giving your work to others, doing dirty politics, and most important doing nothing. So, you can see, we do not know anything about programming when we enter the software development world and at an experience of 5 years most of the developers start thinking about becoming manager. Last week I was giving Java 8 training to a set of developers with average experience of less than 4 years and I asked a question how many of you think you will be coding 5 years down the line. No one raised their hand. I was shocked to see this.

No contribution to open-source community = I don’t know any of my friends or friends of friends including me who has contributed to open-source community. We can only use the open-source project and if we find any bug in the project we will never fix it but blame the developers who wrote the code.

There can be more reasons but at this point of time I can think of these 5 only. I am trying to make myself a better developer by reading, writing, listening. Tell me what you guys think?

It seems very reasonable, to me, for him to actually give his experiences on why his peers aren’t of the caliber he would prefer. I often discuss why Computer Science graduates from the programs I graduated from are often of a far lower quality than I would like to see, and why that may possibly be.

Mr gulati, please do not only blame induan programmers, please check other countries. If u write such posts ppl like Bob (check below) will get the opportunity to call our culture is the reason our country is so called third world. I don’t think our cultural ethics have nothing to do with us being a developer nation or a few many bad devs.

I am afraid you did not uncover why software developers in India are incompetent. I could agree with first item – Developer by chance not by choice.
Not sure how are Russian developers competent in comparison with Indian, but I could give a lot of examples when my colleges
1. Don’t keep themselves updated
2. Wants to become a manager
3. Do not take a part in open source projects
But I can tell you that for me it was not so difficult to make a deal with Russian developers while I always have problems with Indian even those who work in USA

I am looking for a software developer from India (because I love India) who can help me to write a small code in vb.net to transform XML file into SQL tables and vice versa. I will be happy to pay good hourly or fixed rates. Contact marksteven60@hotmail.com in Brussels, Belgium

Bad experience i.e. One’s opinion cant be justified in any ways. With all respect to the author, to support it need valid references which are missing.

One sentence comment to this article,

Its fact that Indians are leading the IT world (No need any ref.).What is the reason US, Europe or any company awarding ‘outsource / development’ projects to Indian Soft. houses? simply they are getting fantastic ROI compared with any other nation.

You cant compare with any other Nation’s develeoper with a less sample count with the Sample Count of Inidian deve which is more.

I am an entrepreneur from London. In 2004 I moved to India and spent 3 years building a software company. I had about 60 employees that came and went in that time however the maximum size of my company at anytime was 22 employees. I did have a high turnover of staff, however it is hardly rare in India. I know this from my experience as well as that of others.

I have to say that I totally agree with Shekhar on his points in this post. However I will stress that most if not all the people I came across were interested in their paycheck and nothing more. Most did not have an interest or passion in the field of software development. They did not want to improve their personal capabilities.

I got employees to learn new skill (it was required and I would pick the skills / topic they researched) and then share their knowledge with their peers. But even this needed to be pushed. Most of my employees did not want to take this as an opportunity.

One thing I learnt from my experience is that you have to be very very very picky about who you employee and always have your doors open for new employees. If someone has that spark, that drive to better themselves then give them the opportunity and grow the team organically only admitting those people in that truely deserve their colleages.

In the west we commonly refer to the 80/20 rule. 80% of programmers are run of the mill and 20% are truely passionate and elite. In India the percentages are even more skewed. I would not like to put a number on it but finding the elite developers in India is very hard. A lot of them have left India to work abroad. I see this brain drain ending in India and many people coming back / staying in India. Hence this ratio of good developers improving over the coming years.

I am going to start a new business in India again next year and I hope to implement all the leasons I have learnt so far. I would applaud Shekhar for being open about his opinion and I share that opinion too.

Agree but it is always important to reflect and fix. It is the first process in quality improvement. In India’s case they are marketing themselves as a software hub. The top 10% can’t pull the entire country or an entire industry. Relentless continuous improvement!

BTW: software needs improvement everywhere the places that get it right the first win.

I think you got very close to the real problems but missed out on naming them directly. When you say by chance, not choice, this is a financially motivated choice. Software companies in India are chasing the money, not the reputation for good software. When you mention practical experience versus passing tests, this translates to being able to understand the whole problem. If I needed a code sequence for Fibonacci encoding I’m sure you could write it, but you would have no idea why I needed it or how to make it most useful to my task, and more importantly how it would be most useful to the whole system, both now and in the future.

The first problem is one of ethics. I won’t claim that only Indian software companies have room for better ethics. The second problem is one of quality. Understanding the whole problem and then ‘engineering’ a software solution is what Indian companies seem to lack skill in accomplishing. There are cultural and language barriers that I’ve witnessed and dealt with, but it’s the fundamental lack of software engineering skills that hurt the most.

Along with all above points mentioned, there is another major problem I would like to add is ethics. Generally everyone is busy scoring brownie points, playing dirty politics, inter-department unhealthy competitions and suppress talents whenever it is possible in IT firms irrespective of these being product or service based. But, as mentioned in the post, things start worsening from academic level or may be, I would like to add further, from social level. In India, the average mindset in a middle-class family is that children should pursue some course and they should start earning afterwards.So the situation is somewhat like, when in school, study hard so that one can get into better college and when in college study hard so that one can land up into high income job.Mind you that from study hard I mean ‘Mug or absorb as much as possible so that you can literally spew out all in exam sheets within a time period of 3 hours to score good marks’. The problem is , this doesn’t work in the case of discipline like computer science ,engineering ,mathematics ,physics or similar. These disciplines require more analytical, practical or should I say, ‘get your hands dirty ‘ kind of approach. But as I mentioned, our system doesn’t provide these kind of opportunities. For example, In my Software Engineering course (MCA), in 5th semester we were supposed to work on a minor project which needs to be submitted at end of semester. I was planning to work on a research based project on augmented Reality which might not have resulted into something productive but surely would have helped me learn more. I went to the Director of my college to discuss about it. The Director not just listened but also made me built a crappy unfinished website in Joomla. Unfinished because first of all requirements were not clear and secondly there were inter-department tiffs. Certainly, I scored well in project but what was the use of it.

Again these kind of dirty competitions, dirty politics again start at academic level. Students compete like anything to score “marks”. And to do so, they can do anything right from mugging notes mindlessly whatever professors throw at them to appease the “right people”. This is what we see on broader level in companies also. The problem is, this issue might not effect that much in academic period but can be certainly a severe problem in companies which result in bad quality, pathetic output and frustrated people. Another major problem is lack of entrepreneurship amongst people.Entrepreneurship doesn’t mean opening up your own firm but it means owning up a responsibility and work towards it with utmost care, love, passion, dedication and honesty. This should be taught hard right from childhood.

One more problem is that people think once they have left college or school, they are through with learning. The truth is, there is no end to learning and also there is no age for learning. One can learn whenever one wants and till whatever age one wants to. It should be self-driven thing. I believe learning should be part of company culture and amongst each and every employee. Resistance to learning causes growth of bad ego and narrow mindness, again a very bad trait for any organization.

Please note whatever I mentioned does not cover each and every Indian out there. This is just not true. There are some great people doing great stuff all around the world and we should be proud of them. But that does’nt mean that we can overlook this problem of “incompetence” as this is a grave problem.

Apologize for such a long post but felt like this is the place to share the piece of mind.

And in our case here in the Philippines, Indians become our project managers.
Good programmers here only come from the best of schools/universities who enter good software development companies.
Even if they’re good in their marks in school, if they enter a lousy company, the developer loses his/her skills over time.

Very interesting observations and I could not agree more. My personal experience is that it is not only true for India but for the subcontinent region. Just wanted to add that this has caused any individual from software engineering industry being stereotyped by rest of world.

I manage a few Indians devs and they are no worse than the ones I work with here in Australia. None of the corporate programmers seem to be interested in improving their skills. They want to come to work complete the task and go home. I see my job as making them see programming as a craft and something to be proud of.

I agree. Software as a discipline needs improvement everywhere. Software is indeed a craft. Great people create great products that people buy which helps us hire and build more great people. The world is evolving to a world of those with a craft and those without.

I agree with your reasons but not improving and getting better in the profession whether you got there by chance or choice is by far the most important reason. It is not uncommon for people to take up professions which are not directly inline with their educational qualifications. What matters is how you step into the shoes of that profession and whether you have the hunger to make an impression there.

Most of the guys are not by chance either
1.) You are hip, if you are in IT
2.) Good Money doesnt hurt either (yes, Most of them are in for money, which is not probably not wrong.. but that only should not be the primary reason, but no one will accept this 🙂 funny!)
3.) Well it seems 🙂 that it can even get a slop married (which i guess i now changing.. thank god!)

There is other factors for the sucking as well
1.) We dont buy shrink wrapped software
2.) We are involved in development of software, but we hardly use software apart from the dev tools (We are good with CD Ripping though!!). So there is hardly any appreciation for good software
3.) Most Important!! We are unreasonably accommodating (Compromising) for bad software. For example
Swamy – “Hey Raj, i have installed this IDE on your machine but u might have to restart now and then”
Raj – “Oh thats cool bro.. restart is fine..i can do that all along ”

Oh!! one more thing .. I have worked onshore and offshore (12 years) in best of the companies, and most (mostly) the indians who work there are also sucky sucky, apart from the accent they put on… Not seen many, where improvement is a priority item, most of the times it is get out at 5 PM, watch the latest Indian Movie, or weekend trip and the inevitable what happened to my green card discussions??
My two cents..

I must agree that developers who ‘fall into’ computer science are a problem everywhere but more so in place like India where finincial motivation is higher and career choice more limited.

Developers with no natural interest in or motivation toward computer science are the ones who fall behind technology trends and do ‘just enough’ to get the job done.

Many companies create these developers though, recruiting talented and motivated graduates and draining that from them with restrictive practices, limited investment in training etc. If we are to be considered a profession then this is not acceptable practice.

I agree with some of the comments, but then it all depends on the individual as well – as to whether they have pride in the work they do, basic self respect, their work ethics and how they value themselves. It varies from Individual to Individual.

Yes, very correct, that almost everyone in India wants to climb the ladder, and become manager. Sometimes I wonder – who does the work in India – I hear everyone is a manager there. The plethora of managers there is also due to the fact that now everyone is an MBA from any College / Univ and MBA is another craze there. Apart from the very very good MBA institutes in India (IIMs, XLRI, Symbiosis ) most of the other places are just average or below average in terms of the curriculum.

This is also very true that most consulting companies – recruit engineers for S/W Development who have no background in Comp Science – for example they have done probably Chemical Engg and now they do devlop S/W. What these companies do is hire them and give them training for 2-3 months and then put them on projects. During the training they are taught programming languages like VB etc.

Also the academic Curriculum in India for Engg Colleges is made by people who have very little practical knowledge and cutting edge developments happening in the concerned fields. The course work is old and outdated.

However, couple of things though – most Engineers in India will have a good Mathematics background and Science Based background. However, what they lack is practically applying it to solve common problems in their daily life and in professional work.

I am an Indian myself. I graduated in 1992 from a decent enough Engineering college. When out of the college into the work industry I realised I knew nothing in terms of developing S/W. Yes, I had good Comp Sc theoretical knowledge and good foundation in Mathematics and Algorithms, but S/W development, team work, Code Quality, Testing etc were never a part of the curriculum.

After 18 years of graduating, I do not think I know everything and I am based in USA and word as a Technical Architect and I love to read books almost 1-2 technical books a month, keep myself updated by reading a lot of web sites, reading others blogs etc, but I keep updating myself almost every day on a disciplined basis.

I have worked with some developers from Argentina and I am quite surprised that some of them are very very good, in terms of technical knowledge. However, others are average or thereof.

It’s bullshit atricles about the software skills in India. Whatever you know from the magazines to make you update come basically from India, China, USA etc. Moreover, India and China are the first countries planning IPv6 which is the future of the Internet. So these people are not really living today, they are preparing for the Future IT World.

I dnt care whatever you have learnt or have experience, after reading your article it seems you are still living 10 years back.

Kindly update your knowledge from the real webs and white papers rather than magazines coz magazines publish once in a month n webs update in every micro second.

Looks like you are one of those who do not realize the importance of a matter and is driven by the emotional values only. Dude I am an Indian but don’t just blindly support your country and try to hide our faults. You are not doing good to anyone. Unless we come out of the “we are the best in IT” mode, we would never be able to do anything better.

I agree with the author completely. Don’t just look at the revenue figures of India on software export. Lot of times companies don’t need very accurate software that’s why they outsource things. However, all the mission critical application development such as NASA’s software division are never outsourced and they believe on quality over price. Bottomline – software development is outsourced here because it’s cheap. Reason? IT companies in India hire anyone and everyone as a software developer so that they can make them work at lower salary than a computer scientist.

Hmmm sounds like an emotional and nationalistic response from you Brincy. See my comment below and they all are based on relatively real-time statistics.

By the way you mention IPv6. Those products are created in the USA and China. India might be starting an implementation but that work does not really involve alot of us software developers.

The only measure will be: Are people satisfied using products built in India?
– first there are no products that I can remember. Go to any store in the USA and try and find software, electronics, other hardware with a MADE IN INDIA sticker. Good luck. Until this happens we know there are problems in India.

There are two things I see here 1) Not competent to be software developers 2) There isn’t opportunity to produce good software.
By Choice or By Chance, majority don’t understand basic engineering principles, neither are motivated by managers because managers also came from same background. I have seen sluggish & excellent programmers on both shore ends.
Secondly, I would bet if one has worked on cutting edge or latest techniques all the time. Most (at least 70 %) projects are maintenance mode or writing wrappers around it, and developers only spend time fixing the problem than inventing something new. Firms form focus groups and dilute them before doing anything concrete. As you see up, those guys are busy in margins, cut prices and politics. Did you see any person from top driving technology, one who does is soon absorbed into management and will be asked to deal with timesheets.
Workplace and work are two driving forces which will mould what software developers becomes, leaving those 5% population who always keeping learning.

Also during our time teachers in our college were simply ignorant who had no knowledge of Comp Science had no work experience in S/W development ( since S/W companies and S/W development was not so widespread ).

Also one area where Indian S/W lags behind is developing S/W products. Most highly successful companies Infosys, Wipro, TCS are all glorified consulting companies, but then if they are so successful how can we generalize and categorize that Indian S/W Engineers are bad.

Also now there are a plethora of Engineering colleges – while 10-15 years back in order to get to the best Engineering Colleges students had to go through very very stiff Competitive Exams ( about which no Western Country is aware of or has it in its structure ) and hence only the best Students used to get into Engg Colleges.

Now anyone who has money to pay to the private Engg colleges can get a Comp Sc., or any other engineering degree – so that dilutes the quality as well.

Also remember, good people are good – no matter where they come from. I have worked with very smart people whose background is in Music, Psychology, Philosophy and they are very good S/W developers.

I have worked for many useless managers who manage just by using Excel sheets even here in USA, who have poor fund of knowledge of Business and Technical and sometimes I am left wondering how it happens and works

125 student from India thats very less if look at number of software engineers in India most of them doing grunt work outsourced by western countries.Look at the Srilanka has 34 acceptance.Myself mentoring one student from SriLanka.There is still very less contribution to open source by Indians as compared with other countries.

Yes, In HongKong, most student learning in primary school and college total 11 years, but only 1-2 years have computer subject, but teach the VB6 or VB.NET. just Simple what is ram, what is cpu etc… maybe include some programming but if..else..switch.. level knowledge.
At university , if you see the learning material , you can see that the final year project, maybe need do a shopping cart, a chat room, or a simple inventory application , somethings like that.

The condition in China is more worse then HongKong, but why many company out-source their project to India or china, the main reason is the cost.

low salary, short develop time etc, how can people expect it can make a good development?

I just dropped out of University here in Canada (University of Victoria) where I was taking Computer Science. I had an interest in programming since I was in late Elementary School, and had been self-taught since then. Everything I had learned in the University was useless, the dead absolute basic information, and whats worse is when I talked to the 4th year Comp Sci. students (the ones who were graduating), they had no idea what I was talking about in programming. They seemed to have good skills with math, but were clueless in the programming department. It seems like Computer Science is such a useless degree, whats the point of it anyways?

If you mean, “they didn’t write clean effective code”, you’re absolutely right. Remember that University teaches you theories, and how to learn – a technical school teaches you hands-on job skills. If you want to learn the specifics of writing code, you want a tech school. If you want the mathematical and scientific theory of computer science, you want a University.

If you’ve been programming for that long, you probably already picked up a lot of things like thread safety, mutex objects, semaphores, and stuff like that. You probably already had a taste of alternative language paradigms like functional or declarative programming. You’re were probably fairly decent with RDBMS and the technical theories behind it. If this is the case, University wouldn’t have given you much more than a piece of paper, which really isn’t all that valuable it seems.

That said, frankly I’m ashamed by some of the people who actually graduate through the Computer Science program. There are some people who get degrees who can’t write code at all AND have no real grasp of the theory. But you get that in every University program, it just kind of comes with the territory. University doesn’t create good programmers, it seems completely incapable of that, it just gives the good ones some of the tools they need to be very good.

Absolutely correct. Many times I see CS degrees denigrated as not teaching practical industry skills. This often misses the point; those industry skills change so often and can be learned fairly quickly anyway. If you really absorb a good CS schooling; you will leave with the ability to use the favourite industry ‘tool of the day’ in deeper, more effective ways.

Disclaimer:
I understand your blog is a reflection of your personal opinion and I am indifferent to it. Meaning, I do not disrespect your opinion, neither,
I have any reason to respect it. My post is result of my own understanding after reading this post and I could be wrong in my interpretation.
However, I will try to argue logically and by providing facts.

In last few years, I have heard or read multiple number of times about the poor quality of Indian engineers(in India), their poor communication skills
and their tendency of saying ‘yes’ in almost everything(read Indian bubbleheads). These utterances of facts without any logical reasoning, wrong or false
premises, and more often than not, a myopic understanding of cultures make me only frustrated. Most of the time, these declarative sentences(eg. the 5 reasons
posted by author) or propositions lack any meaningful premises who makes it difficult to reach a conclusion or logical consequence either deductively
or inductively. Yet, they never fail to do the damage and hence this post.

1. “Developer by chance not by choice” argument –

Author claims that in India, anybody can become a software developer whatever her qualification is. Wrong. In India, one needs a college degree
to become a software developer in a company, contrary to the western world. Author’s claim about a mechanical engineer becoming a software engineer
is also not unusual in West. Actually its more common than any other country.

It’s true that many engineers out of school get recruited by Software companies. In my experience, they are not far behind their computer science
friends and over a period of time they render the same service as others. It takes significant number of years to be good at something, no matter what
the background is. I can show you thousands of examples where non-computer science students, moving into software field “by chance”, making a good living.

If author is complaining about the injustice a mechanical engineer doing to his education by moving into software field, they I would argue about
authors concept of the purpose of education. A formal education is a process which makes a person capable of taking informed decision using certain
framework. A mechanical student doing well in computer science is a perfect example of education.

Also, author forgot the demographic and economical facts while making the conclusion.
In terms of demography,
– In terms of choice, its not appreciated in Indian society to take a break after education and contemplate about the job related option before joining
the workforce(like many people in USA do either during their education or after it)
– Competition. The competition is fierce. Its a luxury not to accept a job.

In terms of economy,
– India has focused on service based industry after they opened up the economy. It’s difficult to get jobs in other industries
(eg. Manufacuring, Construction etc) and students opt for services or software related industry as its the shortest path to job. In a macro-level,
this makes the society prosperous as students start to earn and in turn support the society.

2. College education does not help –

Again, Author utters a fact without supporting premises. It has become a cliche that Indian colleges doesnt help students to learn but to cram. And yet,
over the years, there are thousands of students hired all over the globe as software companies. Not only they are hired, they have survived.
How is that possible? Explain that to me please. Different culture has different way of learninng. Which one is better or worse can be argued till
the cows come home. But so far, it’s working.

I am not denying the role of practical learning in education. But you have to understand, most of the schools in India lacks proper infrastructure
and funds to instill that part of education in students. Dont forget, we were trying to build a nation when USA was building its Universities.
We did not to bad if you compare in that aspect.

The numerous number of private colleges is a boon for Indian society. There has in exponential increase in employement, creating a vast middle class
population who can consume and spend. The quality and the admission procedure of some of these colleges are questionable but since when paying for
education has become a wrong thing? These private engineering colleges are sources of many talents which software companies badly require.

3. Developers don’t keep themselves updated

This is just a personal opinion without any facts to back it. I know plenty of American engineers who are lazy and just get things done. And I can
show thousands of Indian engineers who constantly explore technologies out of sheer interests and update themselves continuously.
Ask some of you Americal collegues, how many of them even heard of code complete.

If you find many bad Indian software engineers, chances are you will also find many good Indian software engineers. The pool is bigger, so no matter
which side you look at, the size will be bigger too.

Attributing “Nobody wants to learn” only to Indians is unfair, as anyone can be lazy irrespective of nationality, race or religion.

4. Everybody wants to become a manager

This is my favorite. I have heard it numerous number of times in various Indian parties in USA. People just love to use this when they run out of jokes.

– India(like many Asian countries) is a hieararchical society. People get more respect and benefits of the society when they climb up. That explains
the unrest of Indian engineers to become manager. Also, if author is aware of the salary structure of Managers and developers, it will be evident
why one wants to be a manager. So first prove that hieararchical social structure is wrong, then create a flat social structure and then complain about
people’s ambition of becoming manager. Is that too much to ask?

– Also, whoever are becoming the managers are certainly doing a good job as Indian companies are growing manifold. So, the process may be working.

5. No contribution to opensource community-

and another complain is, No Indian product.

– For the first one, it’s all about incentive. If people don’t do something, its because there may not be an incentive to do it. I fail to understand
how contribution to opensource community makes someone a better engineer.

– No Indian Software product. True. But tell me, when did Venture Capital start in India. Just few years back, India was under water in debt and
it required thousands of licenses to open a company. And now, we are a trillion dollar economy and we have multiple companies in fortune list.
Creating new software products requires an infrastructure(not many can create companies from garage, they need funding) and in India, slowly the
VC culture is opening up. So expect some exciting home-grown products from India in next few years.

Doesn’t that invalidate your argument? Open Source project contribution and software products from a country overflowing with software engineers is expected. Look at where software products and projects are coming from. Behind that software are software engineers and artists. To say that one region has a growing glut of software engineers but no product comes from it is something of an oxymoron, don’t you think? Sure, all sorts of things could affect that equation, but it sure makes the situation seem not quite right. The open source software does not require VC to get going. Look at the history of any of the truly good and popular open source projects and in most if not all you will find a few people determined to write software that did what they wanted it to do, they way they liked it done… then they shared that with the world. If India truly had many many software engineers it should be evident in their contributions to the world in some way. Linus Torvolds didn’t need VC to write the Linux Kernel. Look what that did for the world.

You are absolutely right about the fact that there is lack of contribution of Indian software engineers in Open Source Community.

I was only arguing authors reasoning that lack of contribution to the open source community is a sign of incompetent engineer. There is no empirical evidence for that. Had author argued that lack of contribution to open source initiative is a sign of lack of “creativity” or lack of “entrepreneurial attitude” , I would have agreed somewhat and steered the argument in a different way. I don’t think, lack of creativity is anyways synonymous with lack of competence.

There are definitely examples of corporation in software industry whose inception did not require any VC funding. However, that’s not a usual norm and more like exceptions.

In India, most companies are focused on being low-cost service provider and that’s their business model. However, increasingly there are many small companies who are developing products which getting traction. Of course, no Microsoft or Apple yet, but there are many companies who are serving the niche markets.

The original post and your article both have merit. There is a bit of nationalism in your article. Why not let the author champion his point and you champion your point of getting real products from India. Trillion dollar industry aside I don’t expect to find alot of India products in american stores anytime soon – aside from food and clothing. Venture Capital on its own is not the solution. I know I have gone thru both processes. VC only kicks in after there is an working idea. Your comment on VC is as unqualified and not supported.

Your argument about size is also faulty.

Open Source? Don’t think that VC’s actually love supporting Open Source. So why no open source?

half of u commenting on comp-sci degree being useless dont know what you are talking about. Yeah you might have opted to drop out but who knows and who cares – to me you seem to be a person who is incompetent to tackle a challenge and instead blame the system for your lack of skill to face a uphill task. People aren’t idiots and neither are the professors who work so hard in the field of comp-sci so that idiots like you all can enjoy the technology out here!!! why do u look at the education as a means to get a degree but not as an opportunity to explore something you like. Grades are secondary, no body except those who pay the fee for you care for them. Moreover if you really understand whats going on with your courses, you don’t need to study.

Much of the explanation sounds like programming in western countries during the 1970s (e.g., most programmers back then were recruited from other fields). What happened here is that the job market gradually tightened up and stopped growing; people had to be better and better both to get jobs and to keep them; many had to find other ways of earning a living.

Most of the information in this article are wrong (mostly hearsay) and are just narrow personal opinion. I would say is that the author do not know the status quo of software development in India. I know a lot of software developers in India doing quality work for top software companies in the US and elsewhere. Wipro and TCS both hires graduates from top Indian institutes and universities. Developers working on Adobe flex, silverlight or javafx writes blogs/examples regularly from India. There are numerous quality blogs on web development from various parts of India. Again Indian companies have developed world class commercial BPM and J2EE servers. All you have to do is look on the Internet. I agree there are a lot of poor programmers in India but that is true even for US and also for China. If you are an Indian, you should look for a solution rather than pointing fingers. It is like criticizing poor people for being poor.

BTW, you can be a good software developer even if you are from a different engineering discipline. What matters most are domain knowledge, problem solving skill and right attitude.

This whole analysis and blog is absurd and baseless. Internet is worldwide platform and if you are blogging please blog responsibly. By writing such blogs you are painting an inaccurate picture based on half baked facts and kind of becoming a politically incorrect and racist journalist.

Please widen your horizon and think and blog about issue at bigger level than criticizing people of any race, nationality or social group. Does not matter even if you belong to the same group. You see a scope of improvement, please be part of solution instead of complaining about it.

Hope you will use the power of pen and the Internet for a better purpose.

Do you realize how foolish you sound? Indian peoples are both a race and a country. It’s not racist in the slightest to talk about the IT industry of a country, in this case India. It is both cogent and appropriate to talk about the Indian IT industry and contribution to software in general given the large amount of off-shore work sent to India. The fact that you mention racism at all is indicative of your sensitivity to such matters. Your sensitivity to them makes them an issue worth talking about, but that would be more appropriate on another blog.

As for blogs and their content: since this blogger is not being paid by government or public funds the content of the blog is whatever it is. Your concern that it be something more pleasant indicates that you would probably censor it if you could. What purpose does that serve either the Internet or India? Being part of the group of people willing to talk about the problems IS being part of the solution. If no one will talk about it, it will never get improved. Your attempt to garner self censorship is nothing more than being part of the problem itself.

You might take notes from the post by Neel who added links which are most appropriate here, taking the context to reports and facts rather than rely solely on opinion. Censorship, whether self imposed or not, is NEVER the answer, not even part of the answer.

Being a part of one of the big SW Indian organization, I agree that considerable % of people just want to be a manager than a better programmer. But, I can’t agree with you that Indian education sucks (especially UG and PG). If you say, you were from “good college institution”, I don’t expect you to say you didn’t learn anything practical. There are engineering institutions that were started only for finance aspect than quality of education.
I am a mechanical engineer in UG, by chance as well as choice I got into SW industry. But, If you are not able to cope up with Computer Students, just get out of SW, there are real good jobs out there for your domain (provided you have the “stuff” 8-)).

There are bad developers everywhere. Its % of bad developers count. I agree that with huge number of Indian developers, only small % of them want to excel in programming. I understand you ‘should’ be working for a big organization.. don’t stay there for long. Over throw you manager. ( the dumb-ass guy how is just there to get status from you, so he can update their client part).

Well, You are absolutely right. I realized the same thing in my office after few months I joined as a fresher.

I started programming when I was in school itself, hence I developed several applications as an experiment, hence very good in coding and making my own algorithms for complex problems but in academics I had low marks.

When I was in College I got recruited for a company(one among top 3 in Indian MNC) through campus interview and joined my company few months back, they thrown me on testing services, in the beginning I was in manual testing and now in automation and my test lead is a BIG ZERO( I really wonder how he become a lead) He don’t know anything and my developers are number one lazy in the world. They take weeks to do a simple task. These things really irritates me seeing the way they work and lots more fun things they do, and sometimes false mail to innocent clients saying “required extension of schedule”.
No QUALITY but they will say ” CMMi Level 5 Company “

If you point 10 Indian developers as incompetent, i can point 100 incompetent developers from USA, 1000 from Europe and 10000 from else where. First of all what do you mean incompetent, (Java) coding now can be done by 10years old by using IntelliJ IDE and Google search. Indians entered software only after the buggy mainframe Y2K issue, so you are labeling who ever missed the simple logic were competent versus who came to fix it as incompetent? Based on my experience, we are not using Indians for right purpose, industry now using them for maintenance, and only buggy software passed to India to fix it, hence people like you start generalizing things based on nationality.The software development started only like 10 years ago in India, they are making superb progress with compare to others.Your post is clearly a bully to Indians and sounds like you are having generalize anxiety disorder(GAD). Indians excel at understanding business requirements and come up with better solutions, and all of them has IQ more than 100 for sure. Every dog has some opinion but don’t sound like racist.

Why you guys don’t have the guts to face the problem. Running away from the problem will not solve it. My main concern while writing this blog was not to criticize my nation. I want to rectify the problem that’s why I wrote it. Every dog has opinion like you yourself has one. The main problem is that we want to live like this only.
Sorry, I didn’t wanted to hurt your feelings but you sound very foolish.

Why when it comes to constructive criticism of India, the nationalistic and emotional people come out. This is not an anit-india article. This is an observation and assessment, which for my part am supporting based on actual experience.

By the way requirements, interface design is the hardest part to get right in India. We have tried. We would love to not just give the code. We would love to give the entire product including requirements to India.

Okay lets see how this goes:
I want to create a new Web 2.0 application can you come up with the requirements –
oh wait a min you don’t have a computer at home
oh wait even if you did it is 10 years old
oh wait a minute even if you did have a computer you can’t get an internet signal at home
oh wait a min you don’t have power at home
oh wait a min any of the behaviours we are asking you to model don’t reflect your culture or life style even in the slightest (more so in India than anywhere else on the planet!!!!)
oh wait a min if we look at what interface designs you have created it is gaudy, flowerly and does not reflect the minimalism and clarity we see in Japan, China, Korea, Germany, Canada …

Might be the same way if an Indian company was outsourcing some application for indian consumers to say Germany. But that is not where the market is.

Look lets fix the problem – read all the threads – there is a real problem. WAKE UP.

The author here stands correct on many issues. I’m also an Indian developer. But In my case, I persuaded my interest and passion towards programming and computers till madness and I see myself on the right path. The BASIC thing about Indians is that they are forced not to follow their passions and are made to go according to set mind set of the society.., which focuses on endless rat run for money and power. of course, this way they are not able to get any of these mentioned.
Better, start focusing on your passion and excel in skills.

The average developer is mediocre. Its just math. A country that is producing a lot of developers is going to produce a lot of mediocre developers, again just math. Of course, social-economic factors can make this worse, flatten the bell-curve, so that the best developers are hard to find or just go into other fields like management to avoid the Sisyphean Labor of software development.

Indians have been OVER HYPED and have been OVERRATED, by nobody else but the White liberals who want to shift all their dirty, boring and tedious jobs such as programming and back office work to India to be done at dirt cheap prices.

That’s basically it: Cheap Labor for White Europeans. Indians do what the Blacks did in the cotton fields 100s of years ago in America. Only difference is that cotton is replaced by SW and back office work and the slaves do it in THEIR own country. So very easy for Whitey: Don’t need to fed them either.

Visit http://www.ccsgroupindia.com We are a highly specialized web site development company offering cutting edge web development services. We offer superior customer service to the wide base of our clients.

One good thing i learnt is that Narayanamoorthy didn’t do anytyhing new by recruiting
people from other disciplines to computers (and also commenting in early 2000 that there is brain drain in other
disciplines- a different story). It has been like that in US too in 70s as some one has said.

Second thing is unlike 2000 when software job alone paid hefty package in India,
In 2010 the Infrastructure sector be it Civil Engineer, Electrical Engineer,Mechanical and the banking sectors
also paying well and many more avenues in Media and Hospitality and Pharma are paying well.
Hope from now onwards people will align job towards their passion rather than chance.

Will L&T recruit computer engineers for their critical construction projects.
Let it give 6 months training.Civil engineers are also in demand.

There are products from India.
But not as Windows or Oracle.
How many more years needed.
TCS started way back in 1967 some 10 years before
Microsoft/oracle/Sun.
If India has set itself as service oriented , why core banking product alone.

To develop a niche product, It needs quality computer engineers who can stay in a company for long.
Both of them is not there. Even the quality of Computer Science course itself is questioned after every university
is going Java way to teach. Lots of frame works have come. That has also reduced a programming a lot.
So where can we find competent programmers.

Why Manager?
Initial 2 years training and bug fixes and trivial implementation.
Next 2 years SSE, Major implementation. It is this period the actual developer
blossoms. But how many algorithms or design patterns he would have applied/implemented is question.
But after that he was promoted to Team leader and asked to
Mentor Juniors as well as do some implementation.He could manage that by putting some late hours.
By that time he gets engaged. He cannot do as much work as when he was a bachelor. Suddenly wanted to get into non technical role where the person don’t need to learn new frame work overnight and start using it in project next day-
then spending some nights resolving the issue( as it is overnight learnt framework ) then BEST PRACTICE in it..
I haven’t heard of ongoing training for employees in Smaller companies.

Why not in India as in US a person can retire as Programmer.
Then you will find Quality programmers.

No One to balme. Civil Engineering has evolved over 1000s of years. Mechanical Engineering
is more than 100 years old. Electronics is atleast 60 years. Software Engineering in
India is Just 20 years old that too inventing offshore model that model this model.
One full generation has to come out starting as a fresher
in software at 21 and retiring at 58 saying worked in software companies(not one company).So that
clear picture will come for employers as when to promote people to which role.
Now due to lack of supervisory talents people are promoted soon.

Let me use this thread for checking another Interesting thing that every people
is saying about. How many of you really wanted to work in Software till the age of 58.
Most of the people I have come across don’t even have a plan beyond the age of 40.

I have quite a few bad experiences with Indians generally, and with their software developers in particular.
My experiences have been so consistent over time that I became very wary of Indians when it comes to business. I never give an Indian-based professional a job on Elance. This is not because I wouldn’t like to do so (Indians often charge the lowest rates), but because, by and large, Indians generally don’t give a rat about ethics. They don’t understand what ethics is all about. They have no compunction in stealing your work and selling it to your competitor, agreements be dam**d.
On top of all this, there is very little interest in doing quality work. I strongly suspect that the decline of Microsoft (e.g. the poor and buggy Internet Explorer 8.0) is due to undue involvement of Indian software engineers in its development. Many other companies in the US are throwing ethics to the gutters because Indians are now heading some of them. Remember Barnes and Noble and Nook? There was an article I once read in HBR where plagiarism was praised…by an Indian author. I was shocked.
Unfortunately, the damaging influences of India will only increase before they are contained. Let’s hope too much damage wouldn’t have occurred before then.

As somebody who has worked with Indian, Canadian, Russian, Chinese and American developers I have to agree with your 5 points. There is an over all lack in: creativity, mathematics, quality and art and research when it comes to India. I was born in India, so look I am not looking to bash. I want the place to improve. I try but even I get defeated and tired when I visit. So for all of you who just want to get nationalistic save your breath.

What you have to do is take out the top 10% from every country as they are all awesome developers. However if India is trying to brand itself as a software and knowledge hub it has to do better with the rest of the 90%. The best by the way leave so please don’t count successful people outside of india but who were born in India. I was born in India.

Forget about what this article says or my 20 years of experience including this year. Just look at the following:

0. math and algorithm work rarely happens to India (if you want algorithms and math you think: romania, hungry or china or russia) –> software starts with math!!
1. no major software companies in india creating product including Open Source (no SAP, no RIM, no Huawei, no Ruby, no Ubuntu, ……) just a bunch of bodies for hire
2. india never places in any of the math, computer science, physic contests and Chess (yes even with one world champion India is #15 in world rankings in chess)
3. there is very little R&D in india (rankings for university, high school, grade school are some of the most pathetic in the world) Just in Asia the first Indian university starts at #43.
4. The country does not have any good examples of industrial design or functional art (in fact the opposite , it is dirty, messy, cluttered)
5. Take a survey and ask people who want software written which country they would enjoy visiting canada, eastern europe, china, or india and I would say categorically nobody really wants to hop on a plane and visit India. Works comes to India or one and only one reasons – price and quantity and never quality.
6. Not competitive in any sense – look at sports it places last per capital across the board in all competitive physical sports (even non-physical) minus one offs
7. Icing on the cake : India’s marketing is “Amazing India” it is reminds me of some ancient tribal place that is still marketing having the oldest religion and inventing the zero – yikes – MOVE ON
8. no significant manufacturing – software starts first with the real product. More people employed in manufacturing than just coding for the sake of coding.

Okay so experience has confirmed the problem.
Data confirms the problem.
India’s infrastructure confirms the problem

What is the solution? It lies in culture. There is no chance to fix this problem without realizing that India has a very sloppy, messy, myopic, archaic, slow moving culture. Whether you know it our not the country still lives in the past based on ritualistic and tribal practices. Yes when you market yourself as being one of the oldest countries with all these old religions it means tribal concepts did not evolve. What India needs is to re-invent its culture. You can’t live with one foot in the past and another in the future. You can’t say “India is different” and throw out all the lessons from every other country on the planet. You have to say: Okay version 1.0 was interesting, we learnt alot esp what not to do and now we are going to re-invent our culture: we are going to make decisions quickly, we are going to pride ourselves on competition, we are going to be inventors, we are going to focus more on the future than on any past, we are going to take risks and never be fatalistic.

Look at some of the comments (maybe this one too) they go beyond software, there is a general disdain across the entire planet for anything Indian. Europeans would gladly purge all their Romas (Indian ancestry), China would love to dismember India. Pakistan and the entire middle-east hates India. Africa dos not like India. So ask yourself – why is this? It is not the people, they are as honest and sincere and smart as anybody else. What makes everybody want to run away from India? It just does not get anything done. There is no promise for the future.

India is not agile and that is the one skill needed to be a great software developer.

last attempt:
I know this is a stretch. Just remember the best will leave, the country has no resources and will slowly be picked apart from inside and from its neighbors. It will disintegrate. So the current state of a lack of action will result in chaos that you have never seen. Forget about all this pseudo progress over the last 20 years. You only have two choices: Leave or Fight for change.

we all have personal experiences with individuals that does not mean we correlate this information to entire categories of people. Your comments are racist. It actually shows your lack or inability to abstract and correlate. Remind me never to give you any difficult software to write.

Ethics like in Enron, Ethics like in Madoff, Ethics like in the Mortgages. Ethics as in mass bribery in China. These don’t reflect on the people as on their system. All countries including India does not have the discipline and compliance to stop cutting corners. We all have to move fast and get things done but not at the expense at cutting corners. A changing strategy is as bad as no strategy.

You really need to understand the concepts of correlation. You don’t have enough personal experience data to correlate your conclusions. Fine you hate Indians.

Well I know this reply is way down the timeline but I completely agree with the author and some posters here (Especially vishwas; kudos on that second last comment of yours). India as a country is regressing. Its mid-2012 and I can tell you, the country is regressing. There used to be a semblance of progress here a couple of years back, it began to stagnate a while ago and now its shifted into reverse gear. I’m unfortunately stuck with this for the next two years. Just hoping to bide my time and leave at the earliest possible. Never liked the culture (defensive about stupidity, foolish rigidity and meaningless traditions) or the place for the matter. Thank God for the internet. I hope India doesn’t close its borders or something in a while. India is not the place you’d want to be in if you are a sane person with lots of ambition and zeal.

this is basically the same as what happens with manufacturing jobs all outsourcing to China. My personal experience with them is: The Chinese are robots, they are incompetent as well when there’s a problem arise during manufacturing process, and they just sit there and wait for your solutions. And if you push them real hard, they will tell you give them some time to solve the problem and never hear from them ever again about the solution. If you call them weeks later to find out what happen, they will tell you there’s no solution! If that is the case, why don’t they let you know right away that they cannot do it but instead wasting my time to wait for them for weeks? I’m not saying that all Chinese are like this, because those Chinese who are responsible and with good work ethics are already recruited by big companies such as Foxconn.

What you say is true, but you missed out the management problem. In India they seem to put the wrong person on the job (cos they never say NO) and load them up with 3 project at the same time. The person has 6 months rubbish experience of a different technology and they expect them to do the job of someone with 4 good years relevant experience. And worst of all, then lie.

Fellow Indian software developers, do not despair. Please visit the coursera and udacity web sites to update yourselves (just google those words and you’ll find the sites), especially people who are not Computer Scientists by training. It might change your view, performance and life. There are amazing subjects there being taught for free by amazing Profs.

That’s Totally true……
and one fault i find in our teaching system (i.e. teacher write the code ,shows the code to student s…and students note down the code to their Notebook …type that to their computer if some error occurs they calls teacher. …teacher removes the bug and finally that day’s topic ends) by this i mean students don’t use their own brains and later on they find difficulties….that’s all what i’ve seen …

1 ques : i am student of class 12 and will be appearing in board exams …….and after my school life i want to join a programming college cuz i love to write code and wanna be soft. eng
…can u tell me is there any college in india

> 1 ques : i am student of class 12 and will be appearing in board exams …….and after my school life i want to join > a programming college cuz i love to write code and wanna be soft. eng
> …can u tell me is there any college in india

if you love to write code then why even bother to get a degree ??? aren’t Youtube/Wiki/Stackexchange & other online resources just enough ??

PS: yes , i ‘ll also be happy if there comes a Soft. Eng. stream rather than just Comp. Eng in colleges.

Developers by chance and not by choice. Such a suitable sentence regarding software developers in India.

Once the fresher from college is graduated, the company puts him in a project where there is a vacant position, regardless of the employees interest, brain and his talents. They just want a mechanical resource to bill to their clients.

I am one such unlucky person, where the company forced me to work as a tester when i was really interested in development. Now after 2 years of experience i have lost all the touch in programming and have to continue with this boring lifelesss software testing for the rest of my life.!!!!

Hello sir, ya I am agree with you and being an Indian and a programming enthusiast it always hurts me. So I have decided do change the era. I am some one who is being a mechanical engineer by chance but want to be a software developer by choice codes, read books . But I am not getting way to switch from mechanical engineering to software development . can you help me please ?

Dear i am BS Computer Science by choice also boz i got admission in Electronics Engineer in University but due to some delays i can’t respond university on time and when i contact them they said your are now drop from list and if you want admission then we give you admission in BS Computer Science and the story of Software world start from there ….. till mine 4 semester i don’t take interest in mine subjects but when i start mine data Structure subject which our teacher called last subject for making logic … there mine think changed and i start hard working ….. and i work 3 times more …. and there i say you one thing ….. Study totally depend upon our effect not on institute where you study or your teachers…..
after that 4th semester ….. in mine remaining 4 semesters i am in first 3 positions in the all Programming subjects ….. and there now i stands …. its only due to mine hard work and guideline of Teachers …….

Your frustration is understandable, you rant a lot just like many indians do; but you don’t give solutions; that is the problem with everyone, we have laundry list of problems but we dont have solutions, we give solutions to specific problems by saying india has too many graduates, too much competition and therefore ratio of student teachers is imbalanced and ultimately blame it on population. Come out of it, wake up, India needs solutions not laundry list of problems, we have and know and understand our problems.

The biggest problem thusfar I have seen in Indian Software Industry is that all companies wanna be “Me Too” If Big Data is “big” me too. Original ideas come in very less and if they do they are curbed by old process adherents who think that what worked for them for last 10 years is going to suffice for next 10; I often am baffled when I see such views.

Please post solutions; I’ll be interested in knowing how you can solve such problems. (I have a fair idea as to How I can do it so it’d be interesting find).

I am a software developer in the US, and I have worked quite a lot with developers from India (and am working with many in my current position).

For years, I have marveled at the truly horrible, messy code that many of them produce. I have tried to encourage them to improve their coding skills, giving tips on how to be a better programmer (I’ve been in the business for 25 years and am always trying to improve my work), and nothing seems to change them. They continue pushing out this same, horrible, inelegant code that is clearly WRONG by almost any measure of “good coding practice” I have ever known.

And there seems to be nothing that can be done about it! I mention the bad code to my managers, and they shrug with a “oh well, what can be done?” attitude – we need them on the team because they’ve been on the team for so long, and appear to be “productive”. The quality of their code doesn’t seem to come into question when deciding how productive they are.

I am so tired of the endless reams of copy/paste code, ignorance of good development practice, not knowing how to properly use OO concepts, misuse of design patterns, no code reuse at all, no commenting of code, lack of understanding of grammatical English usage in naming conventions, etc.

I just can’t understand why this doesn’t seem important to management. It makes me want to quit the business altogether, a job I’ve loved my whole life.

I too have had endless frustrations dealing with Indian resources, not just software developers. I have been in the biz for over 20 years and first worked with the Indian outsource model 12+ years ago. It was a bad start when the first guy assigned to take over a system managed to implement a change that resulted in deletion of all (200+ million rows) the records on a production database and did not even realise what he did. He came running to me asking for help when he was inundated with calls from customers. I asked if he looked at the DB2 log and his response ‘I don’t know how to read it’! This was the beginning of many such encounters of incompetence, such as one team managing to write such inefficient code as to triple the MIPS in one year of assuming control of the system. The impact of which led to the client director flying to India to demand answers and a plan from the top Indian consulting company.

I am not alone in this view. I have worked in the US and UK where all my colleagues hold such view and share equal nightmare stories of frustration. This model ‘works’ because most companies have SMEs to ‘fix’ the trail of mess left behind. Most companies have a ratio of Indian resources with SMEs to mitigate the risk. One of my friend sat next to a SME who was so frustrated when he asked an onshore ‘Senior Analyst’ to perform a task to which he was told could not be done. He turned and asked my friend as she used to work with the tool and she replied ‘yes it can be done. Takes 2 minutes’ and proceeded to do it. The SME sent the result back to the ‘Senior Analyst’ telling him to ‘stop lying to me’ and asked he remove ‘Senior’ from his title as someone who is incapable of performing such a trivial task should not hold a ‘senior’ title. This may be harsh but it demonstrates the intense emotions displayed when having to deal with such inept resources.

I think it is admirable of the author to raise this widely recognize problem which is constantly swept under the carpet by management, and express a passion for the issue to be address. Jingoism is failure to recognize there is a problem. While I recognize there are equally inept and lazy developers in the west, the magnitude and ratio is not anywhere close to what I have experienced with Indian developers. I have worked with Phillipines and Eastern Europe recently and they are a lot easier to work with. Their communication skills for one are superior, and demonstrate some form of critical thinking that I fail to see with the Indian developers.

Hi, I have a reverse problem in the West. People come in boozed up or whatever, their minds with too many distractions. Far far better to have an employee who is calm, composed and has a normal mind than freaks and irresolute louts however much some may understand OO programming! Ugh.

I know this if off topic but I’m looking into starting my own weblog and was curious what all is needed to get setup? I’m assuming having a blog like yours would cost a pretty penny? I’m not very internet smart so I’m not 100% sure. Any recommendations or advice would be greatly appreciated. Thanks

I’m impressed, I must say. Incredibly rarely do I come across a weblog that is both informative and entertaining, and let me tell you, you have hit the nail on the head. Your website is vital, the concern is something that not adequate people are talking intelligently about

A motivating discussion is worth comment. I believe that you need to write more on this topic, it might not be a taboo matter but generally people do not talk about these subjects. To the next! Best wishes!!

After looking at a number of the blog articles on your blog, I really like your way of writing a blog. I bookmarked it to my bookmark webpage list and will be checking back in the near future. Please check out my website too and let me know how you feel.

@BRIAN ROYS your motivation will work only when they actually know how to write a good programme. Frankly speaking, I myself got selected in a reputed software company even though i belong to electronics background and literally dumb in software programming.

really, we Indians are facing pathetic condition regarding software development. Anybody can become a software developer in india. In my college 2-3 reputed cmpanies came and almost all were selected in our batch. knowing good english, too, is not a necessary criteria.people here just want to get selected somewhere and ready to work long hours for a meagre salary. I know there are very good software dev. but they are very few. as i think, there are many good students who dont get selected because they lack certain qualities like presentation skills and communication skills.the actual problem lies with our education system at school and college level.

Such a pity that cost is the highest priority of corporate IT and financial gain is so important to the new generation of technical workers. It is the main reason why so many older, more experienced and passionate programmers have been forced into under-employment or other occupations. Meanwhile the quality of software and innovation is sinking to an all-time low…..

Currently the solution to the particular issue, how to
lose weight swiftly or perhaps how to lose weight quick, includes a regular exercising, personal control
and hale and hearty diet. The conclusions were reached after a thirty two (32)
week long study and would be published in the journal Steroids.
Testing is highly recommended especially for older women as vitamin D is so helpful
in absorbing calcium and maintaining bone mass as we age.

As an american in software for past 32 years I will state that my only problem is not with Indian Americans…nor those Indians who are smart enough to know where their culture has problems. I have read MANY very intelligent posts from them on diploma mills, etc. My company just kicked most senior Americans to the curb (constructive discharge)…yet a certain culture remained. I used to be able to occasionally bring my dog into work…and it pleased all the Americans but Indians were always scared of my little puppy…wtf? I was told he was considered haram (dirty/unclean)! My dog is cleaner than most people I know. Our catered lunches went from pork/beef BBQ to vegetarian and chicken. My Indian manager who held a high position was 100% inept and abusive. I had rolled numerous products to production at this company single handedly and was told by him one day “we don’t care about what you did in the past…what have you done for me lately? This was while owning several in production products. There’s a saying “When in Rome…”

I had a chance to work with many developers from India, and there are many good developers there, however there are even more of those that are totally clueless and chances are that you will have to work with lots of them.
So, usual pattern goes like this (at least in web development):
1) They are Windows dependent and have very poor knowledge of using GIT
2) They expect everyone else to adjust to their workflow just because they are not capable of adopting someone else’s
3) They do not read documentation
4) Since “3)”, they expect you to connect with team viewer and similar to do their work because they don’t want to learn
5) They are slowing everyone down
6) They consume significant amount of time to explain one single thing to them over and over even though you gave them clear instructions and documentation in the first place
7) They don’t give a damn about how things are done as long as they work
8) Any methodology is out of the question

There are many things like that and this is really annoying.

Fortunately, there are few of them that really know what are they doing, but you need to work with 10 of them to find 1 very good.

It’s quite true sadly 😦 as the professors and seniors are also not into open source community and metal head coders. I would say professors should also try to touch up with students about open source community contribution and participation in development, its not all about coding, you can submit even a suggestion in plain english also. Plus we are teaching students the old long gone stuff where-in we have to stress new stuff and just get an introduction to old stuff.

I worked at SunSmart Global Ltd full-time for less than a year
About Company- company strength only 20
They don’t have any Branches in UK & Middle East but showing
Product is not matured- lots of bugs
They will never pay employee salary on time
Once you will get other opportunity you have to pay money n leave

Pros – you can get deep knowledge
interacting with transactional customers
management is psycho (Mental)
career growth is zero
Cons – Fresher salary is only Rs 3000/-
Project pressure is high
Working hours is 12 -14 hours
Advice to Sundar & Srimathi – Don’t cheat employee
When you decide to leave company he ask you to pay money
Even he cheated so many customers
Yes, I don’t recommend this company to a friend/customer – I’m optimistic about the outlook for this company

His client Aditya Birla for CRM – top management/Accounts will take commission
Client Axis Bank – Top management taking commission every month from Sunsmart.

Not sure if this has been mentioned already, but I think a big reason is that Indians often don’t decide what they will study at University or what they will work in themselves. I have several good friends originally from the liberal communities in Mumbai and Kolkata, and according to them, in many more rural and conservative regions and communities in India, the father will decide everything for his kids – what they will study, what they will work with, who they will marry etc. Being a software engineer is seen as a “good job” by the daddies, that will enable their kid to earn good money, have a good life etc, so that’s what he picks for them.
The problem is that to be a good developer you have to have a passion for technology and computers. Doing it because it’s a “good job” is not enough to make anyone successful or good at their job. I have worked with tons of Indian developers in the US and UK and the vast majority were mediocre at best.
Contrast this with the west, where the only people that become developers are people that are passionate about computers, tech etc – computer geeks for lack of a better term.
Also, I believe that this explains why there are proportionally so many Indian women developers. I can honestly say that of the dozen or so I’ve worked with, not one seemed more interested in the job than something to do for the 9-5.
The other main reason I think, which has already been mentioned, is the culture / schooling of rote learning, devoid from critical thinking and analysis.

Does your website have a contact page? I’m having problems
locating it but, I’d like to shoot yyou an e-mail. I’ve got some ideas for your blog you might be
interested in hearing. Either way, great website and I look forward to seeing it improve over time.

Hey I am so еxcited I fiund your webpage, I
гeally found you by aсcіdent, while I was searching on Digg for something else, Anyways I am
herе now and would just like to saay cheers fоr a marvelous poszt aand a
all round entertaiuning blog (I also love the theme/design), I don’t
havbe time to go through it all at the moment
but I have bookmarked it and aso included your RЅS feeds, sso
when I have time I will bе back to read a lott more, Plеase do keeep up the awesome work.

I am a senior manager in a Software Company in the USA. I have had many Indians work for me. I have yet to meet one who was up to their PR. I found them lazy, visa sneakers, liars, and they couldn’t meet a deadline or budget if their lives depended on it. I know they are cheap, but many of my peers are finding that the cost savings isn’t worth it. Most Indian I T companies are actually H1 visa getters for either poorly paid workers or friend and family. Frankly, I believe the sooner we dump the incompetent Indians the better. I find they have no loyalty, and when a difficult project is due, they leave. Mistakes are always someone elses problem and as for thinking creatively, forget it. I suspect the Indian system of education doesn’t include creativity or problem solving. Merely how to duck and dive. I actually find Indians in general are not be trusted, all they want is the money and a visa. They will always let you down when the going gets tough. India is a mess, and they couldn’t fix it because they are to lazy to try. Why on earth any western country thinks they will be able to help out, is crazy. They wont.

I appreciate and understand constructive criticism, but your lumping of a whole nationality into one stereotype is very ignorant. You might be a smart manager and programmer but you are foolish and immature as a person.

We have discussed enough about “The problem”, but its time now to discuss the solution.
I think that the programmers who are keen to bring up changes should team up together, formulate some standards or guidelines that everyone should follow.
Developers who are well aware of coding standards should share their knowledge to the coders who aren’t.
There should be a community that will take over the task of training developers, providing certifications.

It can be only his personal experiences related or restricted only to his office. He is yet to see the caliber of the professionals in IT. i recommend you to change your company until you find such. It is that most of the companies in India are focused on services rather than towards creative products. Where there is a focus on products then you wont find such attitude or words from any of the employees there.
As most of the employees after grabbing experience for 5 years aim to be managers and elope themselves from the development is only an assumption. There are many skilled resources even with 15 to 16 years of developmental experience are still focused on their career and they have equal recognition too. I mean to say not everybody becomes enterpreneurs.

I have worked with more than 3000 people and fortunate to see more than 30 million lines of code produced across the globe in last 10 years.

Core issue is Developers are asked to follow process and not process intent, i.e. developers are not allowed to think like engineers, they should be like typists follow and produce miracles.. The root of this is Managers need to measure.. as they don’t know how measure intellect, they apply measuring Sweat and Systems do earn this any way as Sweat converted to is Number of Billable Hours more bugs to fix etc..

It is not incompetent software developers, the results produced by Indian developers is poor.
They are not used right…due to bad business ethics and standards set by IT Services companies such as TCS, Infy etc.. Make the business entity responsible for results, then same developers would be used to produce right.

Great article, it helped to motivate me to improve myself better.
I worked on the offshore-onsite model for 2 big Indian MNC for an Oil/Gas company. It worked very well because we followed a stingent quality process model. It worked awesome when we had team of creative developers who were willing to learn and improve. We did find some lousy developers “get into the team by chance” some times who are kicked out of the team immediately.
I have to leave the company at latter point when things started changing(because of management decisions), when resources leave and new people where hired just for head count and not because they really are skilled enough to do the job.
I did find some bad code written by Indian developers as well as American developers, but American developers were sometimes doing far better(though they are pricy).
Programming and software development is an art and skill, you get more and more mature when you start building things using ones own creativity.

I concur that now we should think about the solution as the entire post criticizing the software developers for being bad coder with less innovation & creativity. My plan is to hit basics means start spreading the awareness towards education e.g. telling students to be more innovative & creative, Educating school management, Administration & Society to overcome from giving emphasis on obtaining marks in academic. Recent example 3 idiot movie that really changed mindset of many parents from metro cities. I am planning to open small organization in my town to spread the education awareness program for making student innovative & creative.

Everything negative said about Indian programmers is true in 98 percent of cases. I have hired and fired at least 100 of them and I feel very confident that I am not unfairly generalizing. India is a 3rd world country for a reason, and the same cultural flaws that hold them back as a nation also make them terrible programmers. Most make it 2 to 3 days in our company (as soon as a code review is completed), and I have pretty much written them off as a viable option. We have 2 very good ones, but they are the exceptions. We lost thousands and thousands working with and cleaning up after them. I refuse to waste any more time with them.

U sound racist. Bad programmers r every where and that doesn’t give u any right to casualky decree that this is the reason for a third world country. We have struggled in the past to even call our country own,while being looted by brits. And yes i hv seen bad programmers in china too, bt won’t call them backward for that.

its really true..i have been harassed in a company for trying to make the good quality code and i was attacked personally also for the same for trying to correct the mistakes.they wanted work in a messed up way which i opposed.when they become unprofessional i left the job.but they threatened me with lawyer notice and forced me to work.i was not ready to go back because they where supported by management also.now i am now jobless.these kind of things happen in many companies suppress the talent.make them to work like slaves by creating difficult situations,if u oppose u should looses your career. coz other companies wants to hire based on clear background and with no gap in career but when some one wants to spoil someones career easily they can in india.

I joined TCS, thinking it to be a great Tata’ company and continued there for a decade. The company has detiorated to rock bottom. Let me be absolutely candid here – it is a place for below average people, who are weak technically, who lack ethics and can easily compromise with their values and who fear proper competitive firms. As a result, after few years you find yourself in middle of highly manipulative and insecure people, who are not just incompetent but morally down as well.

My advice to all young engineers is to work hard, target a smaller (even a start-up) company and do something good for their future. There is nothing left in ‘Tata’ name of ‘Tata’ Consultancy Services’. TCS is now good for BPO/BPS oriented people, not for engineers who want to solve problems, create solutions and make something good for their customers, their country or even themselves. Hard fact but absolutely factual.

I used to work as a contractor in one of the Silicon Valley’s giant companies for 5 years. Other than one or two Indian contractors who worked there for a short period of time, I never came across any bad developer. It was a pleasure to work with a lot of Indians in that company and I definitely learned a lot from them.

However, things got changed after I joined a small-mid size company. I have two Indian coworkers whose code quality is not any better than a 10 year old kid’s. They write more than 100 lines of code to achieve something that can be done in 10 lines. Then they talk for a long time about what they did in our standups. They know nothing about DRY practices. They don’t follow style guidelines. All they care about is finishing their story points and tickets as quickly as possible for each sprint so that they look good in manager’s eyes. Because of this behavior I hate agile now.

I have heard similar stories from my buddy about the work ethic and quality of work of Indian engineers in older big Silicon Valley company.

Based on my personal experience, the Indian engineers who work for hot Silicon Valley companies are pretty good. As the company’s hotness decreases, the chance of meeting a decent Indian developer gets lower and lower.

Also, it is almost impossible to see a decent Indian software engineer who works for a consulting company and there’s a reason for that. Indians tend to have good network with each other. If an engineer is good at what they do, they can easily get hired in a top Silicon Valley company. The ones who end up working for consulting companies are the ones who couldn’t make it to top companies despite having a great network.

0. They (many) focus money, not passion. I have seen many of my friends learning these and those, because some others earn much learning those (Engineering? Chartered Accountant?).

1. Mark is everything. When I studied at college, students where struggling harder to earn the best marks (bargaining teachers, malpractices, etc.), though they didn’t know what they where learning, and many of them ended in jobs at banks.

2. They fake their Resumes. They say they know C, C++, Java (and what ever they wish they know), but they don’t even know the size of an `int’ (16/32/64/128/1024? If they have an answer, they have exact one. The one in the text book. Not the one in the C standard). Little care is given to get the Resume free of errors (grammatical/lexical/punctuation).

Nothing above is specific to India. If you look you can see there just another version of what I said.

Indians certainly fake ie. lie about their qualifications. I guess they figure (like so much bad stuff in India eg. trash, toilet usage etc) – “If everyone else does it, I can too”.
For our company, we simply dont believe anything on an Indian resume at all. Instead we look at the experience, then question them on that specifically. But as for qualifications: ignore them, they’re either crap or untrue

Indians don’t realise that in the West, lying on a resume is considered extremely poor form. If you’re caught, even on sometning tiny, you can expect to be booted out of the selection process, if not black-marked forever. I don’t think they consider it lying, just rather ‘bending the truth a little’. Indian coders: have a think about this – being 100% truthful, even about bad stuff, is likely to see you go much further ahead!

All non white countries are failures. It’s not anyone’s fault. It’s just the way it is. Left to their own demise and they would naturally revert back to their tribal ways as their creator have intended. You’ll never find white tribes in the wild. It’s always some non white group and that’s the best that they can do for themselves. Stop demanding tribal people to operate space age sophisticated technologies like it should be simple. You’re asking for the impossible.

Actually I am the perfect person to say that Mr shekhar killed it… It’s damn truth he said. I am student of one of the best colleges of my state but as far I know my seniors I can bet none of them know any programming language even basics and if I talk about my classmates the first point applies here that by chance, they have no idea of industry nor technology still they wanna be computer engineer.

I would say that the most likely reason for the incompetence is that the cost of living is so low that even incompetent developers can provide enough value to justify their cost while the overall quality of life in the country is too low to retain the good ones. (It is pretty trivial for good software developers to get jobs wherever they want, the shortage of competence is global and rapidly growing)

A very honest article. Let’s hope some Indians can work on resolving thse issues — rather than split hairs in this thread as to who is the ‘worst’ group of programmers. India’s programming problems are not insurmountable, and I’m sure that as the Indian middle class evolves, the quality of the coding will increase.. A well-trained Indian coder, with the right attitude (eg. ‘fix-it’, ‘fix-it-properly’, and ‘communicates honestly’) is obviously equal to anyone else in the world. They’re just humans after all. But at the moment, coding work done in India is almost instantly recognisable: poorly structured, sloppy implementation, poor or no documentation. I correlate Indian programmer improvements in line with the number of functioning toilets in India. You’d hardly expect good code from a country where mobile phones outnumber toilets, and that’s what you get: shit-quality code in cities full of shit