If we were to look past all the stereotypes, perceptions, biases and rhetoric, and dispassionately rate U.S. and Indian programmers, which group would we find to be the more highly skilled?
The results of what appears to be the first quantifiable study to address that question have been released by GILD, a social networking and career advancement site for developers worldwide. The key finding: Indian developers have better math and logic skills, and U.S. developers have better Web programming skills. Here are some of the particulars:
The study was based on over 1 million examinations taken by nearly 500,000 developers. I spoke on Tuesday with GILD CEO Sheeroy Desai (who, in case you're wondering, is a U.S. citizen born in Pakistan), and he explained where the data came from:
This is data that we have collected over the course of the past couple of years. These are developers, users on GILD, taking our tests-the tests have all been developed by us. We've been developing these tests for a number of years, in different technology fields. We've worked with companies like Oracle, SAP and Sapient to prove that these tests are representative of how people perform on the job.
In GILD's announcement of the study, Desai stated that "America still holds a strong lead when it comes to Web development, but I suspect the gap will narrow over the next few years." I asked him what it is that makes him suspect the gap will narrow, and he said that assessment is based on what has happened historically:
Unfortunately we don't have the benefit of having done a study with the more mainstream programming languages, say, five years ago. But I guarantee you-and this is anecdotal, from my own experience-if we had had access to this data five years ago and done a similar study, we probably would have found that U.S. programmers were quite a distance ahead of Indian programmers on languages like C, Java and SQL. And today that gap has narrowed considerably. Through that experience, I believe that when it comes to newer technologies, five years from now that gap will have narrowed quite a bit as well. At the same time, I think new technologies will develop over that period of time, and I'm pretty sure U.S. programmers will have an edge with those newer technologies as they're developed. So it's really looking at what has happened historically, and predicting what I think is going to happen in the future.
That the gap has narrowed, Desai said, is attributable simply to Indian programmers having gained more experience:
More programmers in India over the last few years have been using the more mainstream programming languages like C, C++, Java. As more and more programmers come into the market, they get the opportunity to program in those languages, and get proficient. I still say the biggest advantage the U.S. has over India is that the U.S. has a lot more programmers in an environment where they're using these newer technologies. If you look at Web technologies, the reason there's such a big gap is that right now in the U.S., there are so many programmers in Silicon Valley, Boston and other parts of the country who are spending most of their time programming in these newer technologies. Whereas in India, people are still using more traditional technologies. Companies in India say they're looking for Java programmers. You come to Silicon Valley, companies are looking for [skills in] PHP and Ruby on Rails. So it's really a matter of how much practice people are getting.
I asked Desai if the findings of the study would indicate that jobs requiring skills in math and logic are best outsourced to India, while jobs requiring skills in Web programming are best kept onshore. He said he wouldn't make the distinction that way:
There are a lot of perceptions out there -- and I really think "perceptions" is the right word-about what programmers and developers in the U.S. are stronger at, and what programmers and developers in India are stronger at. What we are trying to do is really go past some of those perceptions, some of those myths, and look at hard data. We really believe this is the first study done by anyone that is this comprehensive. When we look at this hard data, what we have discovered is when it comes to math and logic skills, Indian developers definitely seem to outperform U.S. developers. When it comes to programming, U.S. developers are better. The fact is, for any given job, you need a mix of those skills. So I would look at this data and say, if you have jobs that require strong analytical skills and you're looking for more mainstream programmers, you probably can't go wrong in India. On the other hand, if you're looking at jobs that require a more creative skill set, and are more Web technology-oriented, you're probably better off sticking with the U.S.
So it seems that more than anything, the study lent credence to a lot of existing perceptions. Desai said none of the findings really surprised him:
I think it's fairly consistent with some of the perceptions that are out there. I think it was good to get some real hard data around it. I don't think most people will look at these findings and say they're dramatically surprising. I think all we have really done is quantify the gap in skill sets. And I think that's a good thing.