Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Based on previous experience working with an outsourcing firm in India, and on what I know/hear from friends back home, here's what I've observed:

- Although the raw number of 'programmers' in India is large, the percentage of good programmers is smaller than that in the US (anecdotal, as observed by me over ~10 years). So essentially, you get what you pay for because the good programmers can command (and deserve) salaries close to what their American/international counterparts make. Many of these better programmers are snagged by the Amazon/Microsoft/Google of world who have development centers in India.

- A lot (most?) of firms in India that employ programmers do not invest in educating/developing their employees' skills. This is partly the result of employees jumping ship very often (hence making the investment in their development not worth it), and partly the result of the business (they do one-time contracts and paid by the hour, so delivery == success. Quality/sustainability isn't as much of a concern).

- For a large percentage of programmers, career development is defined by a larger paycheck, not necessarily stronger experiences/skills. Therefore, their motivation is to switch jobs very often and do the same caliber/quality work, and yet make more money with each switch. So they too aren't motivated to excel.



So essentially, you get what you pay for because the good programmers can command (and deserve) salaries close to what their American/international counterparts make.

Exactly. I think it has something less to do with India or the remote-ness than it has to do with choosing the cheapest possible team. Outsourcing is mostly premised on the idea that workers overseas are undervalued / perform the same task at comparable quality for less money. You wouldn't hire a US firm for 14/hr, but you assume that an Indian firm at 14/hr will be dramatically better. Once that's not true, the competitive advantage to outsourcing ends.


I've worked with outsourcing both to India and Eastern Europe in three passed companies. Your comment of ratios of "good programmers" to not, particularly in India is spot on.

A lot of outsourcing to India started with Enterprise Java applications, MVC/CRUD type stuff that was simple, but also time consuming. So, it made sense to move the tasks that didn't take advantage of your strong programmers overseas to help with the burden. A number of outsourcing firms WiPro, Global Logic, etc. started with this model. Many, even well into the mid/late 2000s worked on these same Apps. It was their domain of "expertise". Teams were generally set up to have a "good programmer" as a lead/architect that was often your main contact and was responsible for one or more junior developers doing the work. Even if you had a strong set of requirements and a good relationship with the lead, implementation could suffer from the "chinese whisper" effect -- what you request gets distorted the further down the chain it goes. For CRUD apps that weren't performance dependent, this was fine.

As the push for outsourcing continued, from my experience, these formerly Java Enterprise app shops were asked to do more diverse projects. The majority of the ones I had to work with were a failure -- if they kept the same team structure -- i.e., remote lead who oversaw remote juniors. The biggest cause wasn't necessarily one of background, it was more turnover and drive. The churn was very high and developers were asked to do something boring or beyond their skill set (or, the still lingering issue of sticking to actual requirements).

One prior startup I was at outsourced non-core monitoring stuff that was a reasonable success. However, a local executive was all hung ho about outsourcing more core technology until a couple of us put our foot down and indicated the unaccounted overhead of the local work needed to fix things. That stopped that angle. At the same time, we had amazing success outsourcing targeted pieces -- an arm assembler optimization of a key piece of crypto code, being one.

The reason for the success? The coupling of a bounded small project that was sent to a team with that relevant skill set. This is the key area where outsourcing is successful. Bounded projects, targeted to a team with the relevant skill set, and good communications between them.

Where outsourcing fails is the generic skill set approach nd overhead that most of the big firms employ. Local management just sees the reduced dollar and doesn't account for the extra time -- to fix, to integrate, and to iterate on deficient deliverables.

This isn't an india / US issue. This is a good approach regardless of the topic. It just happens that India was the envouge outsourcing destination and the majority of US Management solely focused on the assumed reduced cost.


au contraire - the average Indian firm I have had an experience with spends far more time, money and effort training their employees than employers here in the US. I say that as someone who has worked in India for a couple of years and who has been working in the US for about 5 years now. US companies that I have worked with largely expect the employee to pick up tech skills in their own time.


It makes no difference. You will need to spend a lot of time, money and effort 'training' your employees when they are at a level where they see a C compiler tell them 'Semicolon missing - Line 19' and have absolutely no clue as to what to do with that. Or they've to call up a friend to figure out the 'difference' between * and & in C.

Source: A lot of my friends go through said 'training'. And I was that 'friend' who was called.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: