Hacker News new | ask | show | jobs
by kamaal 5396 days ago
I am from Bangalore, And I seriously don't understand this Bangalore and Beijing hate.

Why do Americans assume all Chinese and Indians are fools? Aren't you people shooting yourself in the foot by assuming your competition is weak? Outsourcing works for a lot more factors than mere money. But money is a major factor.

Here in India, we have usual set of good and bad engineers like everywhere. There a lot of very good talented and hardworking folks here, sure they don't come cheap. But they come cheaper than what a similar guy in the US would cost. I have myself seen a lot of quality work getting delivered at almost 1/10th the cost it would have taken in the US.

The US taught us ideals of capitalism, didn't you guys want the world to follow your way of life. Now when we actually do, you guys frown.. withdraw turn your back on the same principles you have taught us for nearly half a century now.

You have nothing to fear from the bad engineers here, trust me they are loosing out very quickly. What you must fear is good hardworking folks coming at cheap prices. That will be a big problem, because when some one sees quality coming for cheap they will go for it.

Also, Indian is a huge buyer of military equipment from the US. We spend billions buying stuff from you. But we never complain that those jobs are being outsourced to America. In fact we love America for the help they offer us.

We live in a globalized world, this is how its going to be in the future.

10 comments

I apologize if it appeared that I was hating on Bangalore (or Beijing). I was not. What I am against is outsourcing based on the simplistic math that you can get "3 for the price of 1" in Bangalore. When we give Bangaloreans(?) work based simply on price and not on their core competencies (and how the outsourced team will work with the rest of the company), then outsourcing won't work.

I feel that outsourcing should be done where it makes most sense. For example: if there's any work that needs to be done for the Indian (or South Asian) market, then by all means it makes sense to do it in Bangalore! Or if we have a team of engineers in Bangalore that are rockstars in Android development, then give them Android work!

Basically: outsource work to Bangalore if you know that it's the best place to do the work; not just because they're cheaper! I feel that Yahoo has been doing the latter.

To be honest, this happens with locals too.

often companies rather hire 3 'available ones' instead of paying 3x for a good one that would add immeasurably more value over the other 3 combined.

It's again a corollary of the mythical man-month attitude. It looks like managers really can't understand that often, at least in software development, less is more.
The problem, kamaal, is that to get reliably high quality software engineers and designers in India you actually do have to spend nearly what you'd be paying in most of the US (the whole country, excepting NYC, Boston, LA, Bay Area, Seattle, and a few other hot spots) and it's much more challenging to recruit than it is in the US. There are problems with candidates cross shopping offers, professional interviewees, horrendous private sector communications infrastructure, governmental dysfunction, inflation, sexism, and familial pressure to strive for ever-increasing job titles in household name companies.

I don't mean to say India doesn't make sense, and I employ about 225 folks in Chennai right now, but it is apples to oranges and decision makers do not often have the right data to make informed choices over where to hire. As an example of something completely removed from quality of personnel, the time difference can wreak havoc on its own, especially when the stakeholders and developers are in different hemispheres. This holds not just for the development process but also in post-deployment support. It naturally (and unfortunately) leads to situations where the one or two engineers in the same general location as the stakeholders end up usurping the responsibility from the remote staff just out of convenient and self-consciousness of the 1-2 day lag they've been burned by over and over again. I could write a book on this subject (I've gone from being an individual contributor developer to a senior director reporting to the CIO over the last 7yrs and have seen nearly everything), but let's not belabor it. The executive summary is that offshoring is hard and too many managers only look at it from a direct labor cost perspective, which is folly.

Yes, we live in a globalized world and it will only continue to shrink. At the point where everyone has a phone or tablet with wireless unfiltered gigabit internet everywhere they need it, we'll be in good shape.

I've had the not-uncommon US developer's experience of working with useless bottom-feeding con artist outsourcers, the kind who throw out deliverables and then drag their heels explaining why there are still syntax errors in code which had allegedly been tested. I've also had the privilege of working with some really sharp people in Hyderabad—the difference is that we had to open an office there and hire full-time to find them. Nobody good wants to be a code monkey implementing somebody else's finished design by rote, and they have alternatives, so outsourcing is going to continue causing trainwrecks as long as western management insists on doing design and project management separately and only offers the least interesting (yet not idiot-proof) work.
Yes, I agree on this. There is a huge problem of hiring good folks here.

In fact most of the work coming to India is somewhat in an area where you are required to maintain and keep systems up and running. In other words a few feature additions but a lot of maintenance and bug requests.

A lot of work is also on the lines package management, something like working on SAP, or IT support or even testing projects.

I would like to know if majority of the developers in west would be happy doing those jobs. Because such jobs don't have a good career growth path. And price at which they do that here, is just unimaginable in US, I know.

I think one key factor in the average quality of workers found in North America and elsewhere is the social aspect of career choice. In North America there's a pretty strong culture of pursuing jobs that people are interested in and enjoy. From what I've heard about India I think that there are very different social pressures that encourage people to choose careers for other reasons. Maybe this is not so, it's pure speculation on my part.

However if we assume that a similar percentage of people will be interested in computers no matter where they reside then there should be more than enough quality Indian and Chinese devs lurking somewhere. Perhaps they are more easily lost in the bigger sea of devs, but similarly they should also shine and stand out that much more as well. Could it be that those hunting for the lowest price keep stumbling on the less qualified devs and then perpetuate the myth that devs in India or China are all lousy?

(edit: I'm unsure if there actually is a higher average quality of developer in North America, it may just be a perceived difference. Raise your hand if you live in North America and have met at least one "developer" who you cannot believe is actually employed as one.)

For a lot of time now, Engineering and Medicine have been the dream careers to chase in India, the reason is simple. Before the FDI reforms started in 1992, the only way some one could make it financially big in our society was through ancestral property, a big family businesses, or plainly doing your engineering and medicine and then settling down some where in the west(immigrating).

After the FDI boom, the IT sector here exploded. People from middle class background became millionaires in no time. In fact that's how Indian IT got a fat inefficient layer of management throughout the country. Very soon there was an impression that you have to get into software to earn that high. So the mad rush to get into software started.

This is where the quality dilution occurred. A lot of clueless people got promoted to be managers. Because technology was not considered a good career growth path. Also there is a mad rush here to visit some foreign country. These are generally called 'onsite' opportunities. Trust me, you have no clue what sort of politics runs across to get those opportunities. You have a lot of good developers but they never get their due. Neither rewarded nor appreciated properly.

Good developers don't sort of get the stuff they deserve here. But projects generally run on work by 'task masters'. In a typical team you will have few little really good folks and a little average folks the remaining hardly do their job. In fact when we talk of good devs that's the kind of folks that we are talking about here. But they are available in pretty good numbers.

Coming to manufacturing, IT support. That's really more of process and procedure based. So I won't comment on that, may be that's a difficult area to compete with. Because there you have very little intelligent things to do.

A tl;dr version of what you're saying, based on my somewhat jaded view of purely US based software development (I've worked with competent Indians based in the US but none of any sort in India) is that software development in India is all too much like it is in the US, exacerbated even more strongly by recent history.

We too had a "gold rush" period in the dot.com boom and even before that most people who call themselves programmer couldn't program (e.g. write code/solve a problem on a dry erase board). Far too much of our software development management is clueless (Dilbert is Revealed Truth and it was well established long before outsourcing became big), software development/programming itself is generally not well respected, etc. etc. etc.

The current US perspective on Indians is biased by the purely cost driven outsourcing craze, which made all of the above worse by the universal service business model race to the bottom, time zone and cultural differences (the latter is something that good management could help) etc.

We don't hate Indians per se (as mentioned, I've worked with some ones in the US every bit as good as any native born developer, even helped to provide one with a horse for his downtown Washington, D.C. wedding :-), we hate the system that's developed that results in our having to deal with very long turn around times for critical stuff, that all too often delivers us code that takes as long or longer to debug or re-write than it would have taken us do correctly in the first place, the constriction of entry level job opportunities and thus the long term career pipeline, how all this has aided the terrible age discrimination in our field, etc.

And certainly many of us "hate" the H1-B etc. visa systems that were established pretty much explicitly to drive down US salaries and replace US workers with cheaper foreigners. If you're like me and have been replaced at some point by an H1-B visa holder (a brilliant Jamaican who was very good at the job and who was not happy about how the company was exploiting him (he was making 60% of what I was making)) that hate of the system is also based on hard, cold reality.

My friend you mean well. But there is a quality problem in India. There is volume (i.e. high numbers of engineers). But quality is bad on an average and that's the honest truth.

To prove my point. Let's look at the topcoder country rankings [At HN, perhaps I don't need to explain what topcoder is. But if I need to then in one word. Its a place where you practice Dynamic programming :-) ]:

http://community.topcoder.com/stat?c=country_avg_rating

No. of red programmers in India are just 3: http://community.topcoder.com/tc?module=AlgoRank&cc=356

Now just compare it to China: http://community.topcoder.com/tc?module=AlgoRank&cc=156

Or Russia: http://community.topcoder.com/tc?module=AlgoRank&cc=643

The volume of engineers thing caters to service industry very well. And the service industry mainly thrives for one reason alone. Don't listen to all the jargon all the titans of industry say. The reason is only one:

And that is:

1$ = 45 Rupees.

Service Industry is good in a way that it helps people have financial independence in a matter of 2 or 3 years. But some how, it has stayed there. Is there an Infosys like product company in India?

So there is clear lack of vision amongst the leaders in Indian IT industry. In other words very few high quality leaders. And all seem to be quite happy with the success they have achieved and now out to serve the nation. ... I hope I get proven wrong and in a decade we have Infosys quality product companies in India.

So although xyahoo is gracious enough to apologize. In practice it may be the case, that some exceptions apart, you will get low quality engineers over here.

I think, its the culture, which has been the issue.

It can be fixed but few things need to be done:

1) People have to stop using IITs and IIMs in the same sentence.

2) B Techs at IITs should want to continue with Masters at IITs, and not apply to US univs

3) More entrepreneurs have to stop cashing out midway (I often wonder, could bazee.com have been India's alibaba?)

4) The entrepreneurs have to move from a trader mindset to a creator mindset

5) More creators have to do their own startup than just feel pride in working for Google/Yahoo/Amazon

6) The VCs (in general) need to speak like tech-educated persons. Not act like fools who would rather invest in Real estate (one needs to control their urge to spill coffee on their suits)

PS: I noticed that I went on a tangential rant ... completely off topic. But I speak almost all of the above from experience.

EDIT: Added some spacing to make the points readable.

>> I hope I get proven wrong and in a decade we have Infosys quality product companies in India.

A couple of honest questions. Do you work for Infosys? What exactly do you mean by Infosys quality?

About the 'low quality engineers over here' part, it's a topic already beaten to death. And you are true about the exchange rate part. In the end, with bean counters in control, that's what governs everything.

I have worked for Infosys in the past. Now, following the path advocated by PG :-)

I mean that for the IT services Industry in India, Infosys has set a benchmark - Most respected company; Billions of dollars in revenue;great set of leaders who started it. So I meant that in the product space also, there should be Infosys quality companies in India. Or the Googles, Amazons, Yahoos of India, if you will.

I hope people with the spirit of an NRN Murthy, will start lots of product companies over here.

OP is right. I am worked at yahoo till recently and I am an Indian and I don't think people in Bangalore or Beijing are bad. During my career in India and in US I met quite a few good engineers . In early days of Yahoo! India the quality of Indian engineers are pretty good. Off late they are just hiring whoever send in a resume. I know people who are interviewing these candidates even when they say no the manager is hiring because they have fill up the req. Its really sad state you hire these so called "programmers" who can't understand basic things and its frustrating deal with and explain every small details and the work that comes out is completely different from what you wanted and than some more delay. No one complaining about American or Indian engineering quality I seen bad engineers on both sides. Its about getting quality engineer. If you remove pretty good engineers or team here and try to hire below average engineers from India only because they cost less than its really fucked up you are not really saving up anything in this only to realize your product is delayed for an year and it turned to piece of crap. Don't be so defensive about these comparisons not everybody in India are great programmers nor they are fools
Partly true, however there is another aspect to it as well. It's just that Yahoo and other blue-label firms have an exalted notion of who should work with them. They tend to go for the fashionable set; the english speaking, high fiving crowd of self labelled developers who cant code themselves out of a paper bag.

I know of at least one "dynamite" programmer whom Yahoo! India rejected because the guy didn't have a graduate degree. As usual, he was too busy coding to go get a degree. Well guess what, it's been pretty interesting working with him.

> Why do Americans assume all Chinese and Indians are fools?

Why are you jumping to that conclusion? All I read was how fucked up the management structure was and how Yahoo managed to consistently hire bad managers who hired bad engineers who drove projects into the ground. It just happened that they found a lot of bad engineers in India. (And you admitted yourself that there are plenty of bad engineers in India, just like everywhere else).

> The US taught us ideals of capitalism

"Do as I do not as I say" is perhaps the new motto. What we teach is propaganda. That is for bed-time stories for kids, not for the real world. If you look at how external trade, tariffs, protectionism, subsidies for our various industries work, you'll quickly understand that it is most definitely not a 'free' and 'open' market. When we say 'free' trade and 'globalization' we actually mean 'you open your markets so we can flood it with our companies' goods'.

> I am from Bangalore, And I seriously don't understand this Bangalore and Beijing hate.

Again, why do you say there is Bangalore hate? There is hate at bad management decisions. Apparently Yahoo has managed to consistently hit the majority of bad engineers and an ex-employee was watching his company's projects go to shit because of it. Dunno, seems like a valid thing to hate...

> What you must fear is good hardworking folks coming at cheap prices.

Hardworking is not good enough. Compensating by lack of knowledge by doubling the effort, and writing, 10x as many lines of code, is the wrong way to do it. It is a sure way to fail. In a more sarcastic way it would mean "When unsure how to proceed, just keep churning large piles of code!"

Programming is not picking potatoes. You cannot substitute 1 good programmer with 10 average ones. It just doesn't work that way. When you pick potatoes, you can say, if I hire 10 pickers and they pick x potatoes per hour then I'll get these many potatoes -- awesome. Programming is like composing music -- a hundreds average composer monkeys won't be able to compose a piece that one good composer can. It just doesn't work that way. It is inherently a creative process.

> In fact we love America for the help they offer us.

Sorry to disappoint, I seriously doubt genuine altruistic motivations are the cause of this "help". India might perceive it as such, but I seriously doubt that's how American (or any) external policy works.

I don't think it is hate as such, it's more on the management of the outsourcing than their ability. As is said if there isn't a good chain of communication between them and the employees back in the states things that used to be quick can take far longer.

There are also cultural differences that need to be thought about before sending across a stack of work for them to do. Also you can imagine if the employees in the US working in the same offices as managers had a hard time getting things done the outsourced employees would have an almost impossible time getting approval to change things.

There are problems, Yes I agree. Both cultural and communication problems.

But on a grand scheme of things when you interact with each other for something like 2-3 years. Those differences are negligible. When I started out, I faced similar problems. But I became friends with a lot of Americans, after our daily interactions.

You do get to hear about projects that fail. But they are small in number. There are so many successful projects here that running for more 5 years and some time even decades. To blanket say that you are never going to get good quality from there, is just not right.

This is a touchy issue, I understand as people are loosing jobs. I would be equally emotional if I lost my job. But self reflection is also important at the same time.

It's not a hate of people. It's hate that is created by process. I worked on Yahoo Mail's frontpage section for awhile. While I was developing the newer version for more advanced browsers the older version was being developed by a team in banglore. As far as I could tell they were writing code just as well as we were. The reason I hated working with people in banglore was that we were on exactly opposite schedules. I would have days long fights about bugs over bugzilla because I couldn't ever just have a conversation. When we did have meetings they were always at the least awesome time like 8:00 pm on sunday night.

I don't begrudge them working in their daytime either. Why should an engineer have to work through the night. I just think it exposes a problem with outsourcing work.

I think it's also because we tend to see outsourcing as management-sees-devs-as-interchangeable-workers. If good devs in Bangalore/Beijing were given ownership of products and allowed influence over direction of things I'm sure they'd do great. But outsourcing seems to go hand-in-hand with a business creates requirements, devs follow orders attitude.
Another point is that most of these companies "also" derive part of their revenues from non US markets. I am sure that adds to their profits as well. It would be very informative if someone could come up with those figures as well. It will add a lot more perspective to the illogical India-China bashing.