But it wasn’t the Indians’ fault, he says. The geography had just become too great of an obstacle.
“For some projects, we tried architecting and planning it all out in detail over Skype, but it never worked well,” he told me via email. “Invariably questions come up during the development phase, with decisions needing to be made. With an 11 hour time difference, their options were to either wait for the people on the other side of the world to wake up for a consultation, or make a judgement call. Both options suck given that they don't have the general knowhow about the industry and the customers that we do, but waiting till we wake up [would mean] a wasted day of work.”
But another reason the Indian programmers sometimes fell short, Kulkarni noted, was the way they had been trained in college: To memorize and execute tasks, not to focus on the kind of big-picture planning that software work requires.
“I think the Indian education system as a whole is greatly flawed in that it does not urge students to think, but rather to memorize, or ‘mugging' as they say in India," he said. “Essentially if you can stay up all night before an exam and cram as much information as possible into your head, you will do pretty well on tests.”
Kulkarni felt this partly explained why his Indian staff created products that had been programmed before they were fully planned out, forcing the New York team to rewrite entire programs from scratch on occasion.
“That's not to say there aren't some god-awful programmers in America too,” he added, “It’s just that the massive number of developers in India, most of whom have not been taught the right concepts, end up skewing the perception of everyone else about the quality of work that comes out of India vs. the U.S.”
The Indian government has committed to educating the country's massive population, explained Michael Kugelman, an India expert at the Wilson Center in Washington, but there have been some flaws in the execution. Tuition costs are low, so more students get into higher education, but resources are scarce and there’s very little innovation in classrooms. Curriculums are outdated, and schools are far more bureaucracy-laden than those in some other countries.
“Rote learning is still the major reality for teaching pedagogy in India,” Kugelman told me.
Weighing in on the buggy Indian code debate, Indian developer Shekhar Gulati wrote on his blog, “In India ... students just cram the things and get [the] score but practically they know nothing.” Gulati pointed out that he once interviewed a computer scientist with a degree in the field and six years of experience who was unable to write a simple program during his test.
As many as 75 percent of the country’s technical graduates lack the skills to get jobs in their field, and so some of India’s home-grown tech companies actually hire coders who have been trained abroad, Kugelman explained.