101

The other half of this question: How do Programmers in the East see programmers in the West?


The eastern part of the world (India/China/Philippines ) mainly provide outsourcing services to the western world (USA and Europe).

Do you have the experience of working with offshore teams? If yes, how was it?

Do you hold any generalized ideas or opinions about the programmers from the East (e.g. Are they cooperative, do they deliver on time or do they do quality work?). What are these based on?

45 Answers45

118

Disclaimer: I live in Central Eastern Europe, make your own decision on whether I count as Eastern or Western :-) As such, I worked on projects outsourced to our country from Western Europe, and I experienced doubts from the more Western coworkers and management concerning our abilities, similar to what Indians must experience in such situations.

OTOH I have been working with several Indian and some Russian developers on two major projects. The first also involved a component developed entirely by an Indian subcontractor, which was easily the most horrific piece code I have ever had access to (I can't say "the most horrific code I ever read", because upon seeing that the largest single source file measured more than 600 Kbytes in size (or AFAIR about 30K lines), I quickly closed it and could only pray that I may never ever need to touch it. My pray was listened to).

The latter (which I am currently working on) has been subcontracted to 3 different companies, some of them applied several Indian programmers. We have been cleaning up the result of that in the past 1,5 years, and there is yet enough work left for the foreseeable future.

In my personal life, I lived in India for over 3 months at a previous era of my life, so I probably know more about the country and its inhabitants than an average Westerner. Personally I like Indians a lot.

My personal experience has been that the same noticeable cultural differences which exist between Western and Indian people in general, are observable between programmers as well. Indians are usually very diligent in executing whatever concrete task is thrown on them, but not necessarily see or even feel the need to understand the bigger picture. Which can easily result in low quality software.

Another potential issue is the culturally ingrained resistance of Indians to say no to any request, as I believe it is considered rude by them. If you go to an Indian grocery shop and ask for blankets / jewelry / shark fins / whatever, the owner will say "yes sir, in a moment", then sends out his boy to some other shop in the neighbourhood to fetch the product and proudly presents it to you. Which is good business practice indeed. However, if the same is applied to subcontracting a SW development project with a fixed impossible schedule, the results may be disastrous. This is just speculation from my part though, I have no concrete evidence on whether or not this is really a factor in outsourcing SW development to India.

One prime example of futile diligence in our current project was the implementation of a performance monitoring scheme. The idea was to pass around objects which gather performance statistics. However, the solution turned out to be slowing down the app so much that it was never really used. Nevertheless, its remnants in the code were left there for us to clean up. In practice, this meant passing an extra object parameter to all (about 6000) methods in the code. The guy who did it even added a comment to the Javadoc of each method, noting that the extra parameter was added for performance measurements! Now, I can only marvel at the diligence of that guy, doing his job through all 6000 methods and faithfully inserting those Javadoc comments everywhere. OTOH, a) as noted earlier, the scheme was never used in practice, and I am sure its performance hogging effects could have been detected by an early prototype, making the whole job unnecessary, b) all the Javadoc comments contained the same spelling error, c) such comments do not belong to Javadoc anyway.

I don't mean that this all was the poor Indian developers' fault (except the misuse of the Javadoc). IMO it is much more the fault of managers mindlessly contracting out projects without monitoring the results, conducting strict acceptance tests and ensuring the adequate quality of code and documentation. Not to mention hour based payment schemes which surely don't make any subcontractor interested in saving development time.

However, I think I would be hard pressed to find developers in the West to undertake similar tasks with the same level of consistency and without complaints.

We also have subcontracted testing tasks in this current project to a group of Indian testers. Personally we are only in contact with one of them, so no idea how many they are in total. However, this guy is a gem of a tester, a valuable asset on any project. Apart from being diligent and thorough, he asks a lot of questions to understand the big picture, often tests even more than what was expected, and reports issues found precisely and descriptively.

81

Hmm Interesting views.

I'd just like to throw in mine.

I live in India (I'm Indian) and I've been programming since I was 11/12. All I have so far is an high school education and interestingly I've done two things so far, I taught at an Indian Computer Institute and right now I develop freelance (and got myself a project with a VERY high profile client)

So two things that I think are true from where I stand:

Sure people are people, but the Indian mentality on life and education is very different here, for the months I taught, I saw parents push their kids into IT just because they think it'll get them money or something, also, I taught students doing/finished Bsc and Engineering degrees and 98 out of 100 cannot write a few lines of code in C. (Forget quality code) .

The State Computer Science course here, they have Turbo C as part of the curriculum, C++ to most people is C but only using cout to print.

As for development, with these kind of graduates, you'll expect to find tons of "engineers" out there, coding horrendous things. I've met small size "Companies" that use no source control, they won't even have an idea of what unit tests are.

Its sad that I have so much Ill to say and it pains me. BUT Everyone here is not like this. There are so many of us, that, that maybe the impression people get. lol

Somehow even being successful here means moving somewhere else, because there is no real scope to grow and really hone your skills. There are of course the smart-heads from IIT and other top colleges here that do know their stuff (eventually they move out too)

But the bottom line is that IT education here is pretty sad in my view.

gideon
  • 657
30

I've dealt with three projects that were (mostly) "delegated" to off-shore (eastern hemisphere) resources. One of the three cases used a group (or maybe just one guy -- only dealt with one, but not sure how many others he had doing work) in eastern Russia. They/he did good work, and the project progressed quite nicely, other than needing work on the UI to fix some minor problems with wording from being worked on by people for whom English was a second (or maybe third) language.

The other two were a rather different story. Whether by chance or not, in both these cases the programmers were in India. In one case, essentially everything they did ended up having to be treated as nothing more than a prototype -- usable (to a degree) for testing possible designs, but everything they wrote had to be thrown away and replaced to get production level code. They seemed to exemplify what I think of as the "ISO 9000 mindset". They showed almost religious adherence to policies and procedures, but nearly complete lack of insight into the problem that was supposed to be solved. Their code may well be the clumsiest I've ever seen.

In the other case, the project was eventually just dropped. It had been the hare-brained scheme of a recently-promoted VP, and I'm pretty sure the idea from day one was to minimize expenditure, while still being able to tell him that his idea was in active development. While the code we got was entirely useless, it would be hard to blame the contractor much, since no effort was ever put into managing the project or even just getting them a usable spec. Their code started out poor and quality quickly degenerated when it became obvious nobody cared.

Jerry Coffin
  • 44,795
22

People are people. Some programmers are good programmers, some programmers are bad programmers. Some bad programmers can become good programmers with time, while time can never benefit some other bad programmers.

Location tends to not be a factor here. But maybe opportunity might.

I was asking what the words "Bad Syntax Error OK" meant in GW Basic when I was 8 years old. I grew up with computers. Not everyone has that advantage. Times are changing though, and the 8 year olds of today have more access to technology than the 8 year olds of yesterday.

But it's important to realize programming is more than just knowing how to use a computer. It runs much deeper than that. Here are some key characteristics that separate the good programmers (and the ones who just need time) from the real bad ones:

  • Good programmers are curious
  • Good programmers read online blogs and articles and try to learn more about their field
  • Good programmers answer questions on Stack Overflow
  • Good programmers with 1-2 years experience or more understand that their Computer Science education wasn't a waste of time
  • Good programmers can think outside the box
  • Good programmers are also good leaders
  • Good programmers are proactive and don't need to be told what to do

Most importantly, good programmers are also good communicators. The best programmers are the ones who can persuade others. They're the ones who can patiently debate a problem with another peer until a solution is found.

The biggest challenge is communication.

Whatever the challenge, don't ever stereotype yourself or others. You have just as much potential as anyone else and vice versa. Just remember that you can do anything that you really put your mind to!

jmort253
  • 9,347
22

I am a 21 year old undergraduate from India in my final years of Computer Science and Engineering 4 year degree course.

The very idea of writing this was to say that India is much more than an outsourcing hub. I hope the west sees it that way and instead of absorbing talent, the west should set up more hubs in India. There is some offensive content ahead, but if you understand the larger picture, you will understand what I am trying to say.

Education in India is in a very disturbing state with a workforce produced every year that has no or absolutely horrendous technical skills. The educational system is not at all competitive in terms of innovation or entrepreneurship. this has led our country to huge embarrassments like the recent indigenously developed $10 computer (which turned out to be a cheap Chinese Android based tablet, only maintained by an Indian company), or an earlier claim of another technological breakthrough (which turned out to be a thumb-drive). Education institutes are totally disconnected from the real world of technology and are more interested in students reinventing the wheel, all in the name of innovation. educational institutes, everyone hates them.

Coming to places where you at least expect to learn some hot development skills:

I have had exposure to a few training facilities in India apart from my educational institutes. Programming and software development happen at two levels, application level development and system level development.

For application development, most freshers in India are mass recruited by companies to claim a sitting bench of programmers and to get more projects. At the end of the day, there is compromised quality because the hiring process is utterly stupid.Sometimes, talent is wasted by making people good at their stuff work, on stupid things like creating Java frames and creating simple WinForm and ASP.NET UIs only (I am talking about fresher recruitments and as claimed by some, though I am not sure). If not considering good software engineering practices, that kind of coding can be done by a 7th grader.

But at the same time, there are independent programmers and developers who have a keen interest in things. They are like the unsung heroes who have lost all hope and are least interested in changing the world. All they want, is to make the most out of their skills, so it is all about the money and going abroad. While our courses are hugely limited to system software (C programming using TurboC!!! for 4 frigging years, stupid and vague C++ without proper object oriented concepts using cout in a C program is not C++ , ASM and more C programing using gcc), when in a company, we are mostly made to do application development (ASP.NET, WinForms, J2EE). Basically, a Computer Science engineer is made to do the job of a Software engineer. Yes, knowing computer science helps, but not knowing proper software engineering hampers the process too much, and there comes plummeting the whole system. It is a #fail.

I will cite a simple example. I joined a training institute for my final year project and they wanted me to create an ASP.NET website which would be something of an inventory system (hotel booking, CRM that kind of stuff). Yes it is not an easy task, but not worth working on a project in my opinion. It will just be reinventing the wheel and these projects are huge by nature in a real life. Delivered in 6 months by a group of 3, you can understand the kind of scaled-down unusable system that will result from this. The institutes do not stress too deep and they are more interested in "not scaring the student telling them too much" and "giving an overview, and letting them learn the rest on their own". At the end, what people develop in projects is not even a fully tested prototype, let alone put it up for real life usage.

I took my own topic, a voice guided real-time navigation system. I am using WPF, Google maps API and all the latest in tech that I can. For good Software engineering practice, I am using source control, using MVVM and will give a thorough look at anything else that I come to know of. I am 21 years of age and am a graduate. I guess at my age, people in west are still in the learning phase and become graduates at a later age. That makes western graduates so much better and more knowledgeable. We have quantity but no quality.

In India, the level of work I am doing for my project is generally not expected of a final year undergraduate project. But, I will do it because I want to. At the same time, there are others in my group who are comfortable doing a project in ASP.NET, make 5-7 pages, run database queries, fill up grid-views and not give a damn about security. Hell, even those freelancing websites have better job postings (YouTube clone, Google instant + X = Y Mashup..)

Six months down the line, you will find the same people working in a company that you outsource your business to and you will find me there too. People like them, outnumber people like me ten to 1 :(

to be exact and not ranting, in my whole educational career and acquaintance with over ~500 people, I have seen exactly 4 who had the level of expertise that I would consider them for working on a project with me)

Ultimately, all Indian graduates will write good documentation because it is theory, but do not expect any fool-proof code from them.

Coming to system software, the same is the case. A friend of mine is working with the Android NDK and is working on a live project at a company. He is fortunate to have got this project and I envy him, but this level of work happens in India too. Another senior at my college developed a kinect clone (multi-touch mouse, like in minority reports) in his final year project using just 2 cheap webcams. Equally, there are others who copy codes from the Internet and somehow get a degree reinventing the wheel.

My final word, do not expect a compromised quality all over India, and do not take Indians for granted as cheap software maintainers and suitable for outsourcing only maintenance job.

Also, do not expect that someone who has a good educational background in terms of marks to write good software. India's education system is all theory oriented, there is no stress on practical, sometimes, knowing more or the willingness to know more can land you in trouble from teachers who feel intimidated. Nevertheless, good programmers look for greener pastures in a better career and not just a good job though, there are others who want to land up a good "job", drive around a Honda City, eat out at Mainland China and live happily ever after.

I am more into Audi btw. :)

Chinmoy
  • 101
  • 5
18

Warning, gross generalizations ahead. Viewpoints expressed are not shared by everyone. In fact, the author may not even believe them.

Western developers are afraid of eastern developers. We hear time and time again that our jobs will eventually be outsourced. This is a bad start to any relationship. To make matters worse, we're constantly reminded that our educations are inferior. Eastern developers are cheaper, smarter, and will put up with more hassles. Our professional experience with eastern developers doesn't matter because it's poisoned with fear.

Scant Roger
  • 9,086
18

I have been working for 3 years with indian developers (I am italian). People are people. We outsourced mainly beacuse we needed a team, and in italy it is difficult to find a team, expecially in not popular languages like Delphi. So the main reason is finding a team, not cost.

Anyway the team we found was very good because it had a very good leader. But the other developers were not so important. What happened? now that developer works directly for us, because he is a very nice person and he become also my friend. There is a strong relationship and also we pay him almost an italian salary. Why? Because relationship matters. I've seen many people going to India just to save.

You get what you pay for. Then of course you can save some money, but I think that (expecially for small projects) doing outsourcing only for saving money is a wrong choice.

jsight
  • 101
18

I can't speak for others. This is my opinion, which people don't seem to disagree with. Let me start with some of the facts as I see them.

First, there is evidence that most people aren't really cut out for software development. (For instance UI research indicates that over half the population will probably never "get" the idea of a directory tree.) In the West, those people have no problem finding other decent jobs that they are better fits for. In India, by contrast, there is so much pressure to go into software development that they do anyways. This means that there are a lot of people in India going into software development who really shouldn't.

Next, India is a common destination for outsourcing. Companies do this because it looks cheap (salaries are low). However it is well documented (for instance see the documented cost factors in the COCOMO II model) that all of the following increase required development time and effort: workers at multiple locations, workers in multiple time zones, and workers from multiple cultures. Any project run in India and directed from the West will have all three cost factors. (This is before you add the tendency to find people working as developers who really shouldn't be.)

Finally the absolute biggest challenge in software project management is getting accurate information about what is not working to the decision makers who need to know it. I like this humorous take on that tendency. For whatever combination of reasons, be it desperation, culture, or a belief that the customer is right, this tendency is worse in projects that have been outsourced to India. Sometimes to a comical degree.

The result is that there is a strong tendency for American companies to succumb to the siren song of low wages, outsource work to India, and then for the outsourced projects to turn into disasters. (But the extent of the disaster is not apparent until after Americans have lost their jobs.)

The other way that companies go is to hire Indians into the USA on H1B visas. This gets rid of the remote worker issues. Many Indians want these jobs because salaries are higher in the USA, etc. And there are more than enough truly excellent Indians out there to fill all of the available jobs. But there is a problem. American companies hiring on H1B visas are required to swear up and down that no Americans were available for the job, that the hired person is being paid market rates, etc. But someone on an H1B visa has a hard time switching jobs. This gives the employer a captive worker. And leaves no market incentive to actually treat those employees fairly. This gives companies strong incentives for dishonesty. Too many succumb. The only thing limiting the rate of abuse of this program is that there are caps on how many H1B visas are granted each year.

As an American I have no problem with the best and the brightest coming to the USA. Quite to the contrary, that is what built this country. But treat them equally once they arrive. For instance I know a person from the Philippines who, due to his visa status, has had to turn down job offers from Google, Apple, and Facebook. For about double what he is currently making. If the market was allowed to set the salaries of people like him, there would be a lot less incentive for companies to try to abuse the H1B program.

So there is my opinion. For a number of reasons, outsourcing projects to India frequently leads to disaster. The ones you get as H1B workers tend to be excellent, but that program is heavily abused in ways that make me sad.

btilly
  • 18,340
12

IMO the problem is not East vs. West, but the general idea of outsourcing. Back in the second half of the 90s, the internet boom, Y2K and the Euro currency conversion created a lot of work for programmers, so outsourcing was a hot topic back then. But it was outsourcing within the country, not to the East. Still, many of the problems we expect or experience with offshoring also happend with local outsourcing partners.

In many cases, writing a good specification is about as much work as doing it yourself (albeit Q&D). But since the goal of outsourcing is to save time and/or money, the specs given to the outsourcing partner are sketchy. Add a contractor paid by the hour and a lack of supervision and it's clear what you have to expect.

user281377
  • 28,434
11

I have been living in China for little more than two years now (I'm Canadian) and working with Chinese developers and, strangely enough, working with Canadian Developers overseas. I can say that some of the generalizations made of, at least Chinese, developers are somewhat true that is, most developers I have met/worked with here are :

  • Lack curiosity and creativity. Here I do not think they are inferior or stupid. But rather that it is cultural. Historically they are thought to respect authority first and foremost. As such they will never question a bad design handed to them from "above". Also many of them are mostly interested in technical skills rather than domain skills. I have the hardest time teaching them about patterns and abstract concepts unless they can directly relate to their work at hand. However, after a while, the walls crumble, they get more adventurous in challenging authority, at lest on a technical level, I would not want to get my visa revoked ;-)
  • A threat This has been mentioned before but I emphasise. This is probably the single most important point and what creates the most tensions in dealings with colleges overseas (that is in Canada). In general, the westerners I work with will tend to exaggerate all the negative aspects of working with Easterners. They will be extremely harsh on code reviews while being very lenient to each-other. They will kick and scream if a single oversight on process or good practices is overlooked by an easterner but will themselves kick and scream if asked politely to follow the procedures they themselves put in place.
  • Expendable it is ok for a Chinese to work with half baked second hand equipment. I broke three chairs before I was allowed to get a semi-comfortable one. Then I felt bad to get the good chair noticing that they all still had what seemed like medieval torture apparatus to sit on. However visiting the head-office of the same company the devs there had desks that took the floor area typically occupied by a team of 4 to 6 devs here in China, not to mention the chairs !

In the beginning what they wrote was not always very good. There is the cultural divide for sure but also the long steep learning curve of a badly designed system to begin with. But you know what... after two years... some of the best work done on this system comes from the chinese offices. As this comes more and more visible this exacerbate the threat element even more...

Frankly it's not easy but I think I am on the right side of the fence when looking at the trend from personal experience.

Newtopian
  • 7,221
9

This is a fascinating topic. I've worked in SF and Silicon Valley, but also Europe for local clients, setup an offshore office in India and now run an offshore development shop in South America. I've even done a little bit of work with African developers.

Every region of the world is capable of producing great programmers. I've got a hacker friend in Malawi who's build amazing touch interface rails backed open source systems for HIV clinics, using and contributing to open source projects in important ways.

I've also seen American programmers working at name brand startups and major web companies who couldn't program their way out of a paper bag. People with masters degree's in Comp Sci from MIT and years of industry experience, who when it came to writing good production code, couldn't cut it.

There are very real cultural differences between Europe, Latin America, the US, and India. Then there is hacker culture, which is more or less universal.

The mainstream indian tech community likes to throw people at the problem. The hourly rate per developer might be less, but if the vendor believes in quantity over quality, you'll need twice as many dev's to get the code running.

Certifications. What the hell? India loves certifications, ISO, CMMI, etc... it goes on and on. It's meaningless ass covering. More to the point, it's not how you get good software developed.

The caste system. The caste system is illegal in india, and since independence there's been tremendous work at eliminating it, but it's still a living breathing beast. Most westerners ignore the existence of the caste system. I grew up in the US, but my father was born in India, anglo-indian as it's called, and my mother went to university there as a student, and then returned to teach much later at Indian universities. The caste system is very real, it comes from india and is old, but the british encouraged it and used it to maintain power. Westerners need to know, that they'll take the place of the british, at the top of the hierarchy. You'll get called sir, you'll not be questioned. Most indian managers see their role as telling their underlings what to do. Speaking back and offering alternatives is punished.

Not every indian development shop is like this, Zoho, has built an amazing indian business by breaking all the rules. They hire based on ability not caste or what university certification you've got. By doing so, they've bootstrapped a complete SaaS replacement to the MS Office Suite.

There's a vibrant hacker community in India as well with meetups, mailing lists, small conferences, and the like. These developers are world class good. They often find it hard to get work within the mainstream indian software development industry. I myself found two python dev's for our indian office, they were great, and then our indian manager insisted on hiring a dozen freshers, new graduates to fill out the team. After a few months the hackers quit, their manager had made their lives hell. We were left with a dozen young and enthusiastic employees, most of whom didn't know how to program very well.

The best of the freshers was a young woman who'd built an IDE for dev on embedded systems. Nobody wanted to hire her because she came from a conservative family and Indians thought she'd be forced to quit her job once she was married off.

There are great dev's in india, but the value structure is setup to push them out, and to promote people based on things that have nothing to do with creating great code.

The other big problem is the timezones. It's not an advantage, it's a huge problem. It means there is no constant direct communication between on site and offshore teams. This causes huge misunderstandings, and forces you to write reams of documentation. It makes agile very hard to pull off.

The sad truth is a huge amount of the software produced by indian corporations is low quality. You hear dev's all the time talk about how indian engineers are crap, it's not true, but it's a reflection of the quality of large traditional offshore companies. It's the fault of the business culture in India, not the developers themselves. The dev's are stuck in a bad system which rewards the wrong things.

rabble
  • 111
  • 3
8

Blunt and cynical:

  • Cheaper
  • A threat
  • Lack of appreciation that you trade local code monkeys for more expensive project managers and analysts to liaise with the off shore teams
  • Stakeholders will get what they asked for because of their inability to deliver a concise and comprehensive requirement. This won't be what they wanted. Stakeholders want local knowledge...
  • ...but it's box ticking for senior IT management because it's trendy/popular/KcKinsey said/don't understand developers/...
gbn
  • 2,467
  • 1
  • 17
  • 14
8

I've experienced several projects offshored to Asia (different countries which I won't mention). ALL of them were dismal failures. Despite copious and detailed documentation, specs documents, etc. etc. being sent over the result (if anything was produced at all) was uniformly poor. Usually it either didn't work at all or was so marginally functional as to be useless. Projects were also (if they produced deliverables at all) seriously late.

OTOH I've worked with Asian programmers and others working in Europe and the US and most of them are good, hardworking people who know their jobs well.

Maybe a statement by several of them that all the good IT people leave Asia to work in Europe and America says it all. What's left there is the bottom of the pile, with little or no quality people to provide oversight, training, and team leadership to yield improvement. Having had to deal with Asian IT people living there (at least from some countries) over the phone and email (and seeing interviews on television etc.) there may be culture involved as well. Many seem to consider themselves racially and morally superior to Americans and Europeans (and consider those leaving their countries traitors) and refuse to listen to advise from whom they consider inferior beings. This is certainly not true for everyone from Asian countries, but may be widespread enough to create an atmosphere of "we know best, all problems are caused by the customer" in the offshoring companies over there. Of course companies appearing and disappearing quickly, rebranding themselves and starting again after their name gets sullied by poor performance, also plays a part.

The situation in eastern Europe is better, maybe in part because many of those countries are part of the EU so there's a bigger threat of successful legal action against them if they screw up.

jwenting
  • 10,099
7

In my 10 years at IBM I worked with programmers all over the world in a variety of relationships. The first thing you learn is that the geographic stereotypes are all wrong, on both sides of the ocean. Programmers are programmers the world over... pick 100 of them from anywhere and you will get roughly the same ratio of folks that couldn't program hello world without a trip or three to google, folks that are decently competent and folks that are brilliant.

That said, the geographic generalizations of the business climate in some of those areas is accurate. India for example is a lot like Austin, TX or the Silly Con Valley were in the late 90s and early part of the 2000s... lots of job hopping and revolving doors, folks coming and going every year or so. China on the other hand seems to be a lot more like the Silicon Prairie here in the midwest of the USA, folks pick a company and stay there for a longer period of time. Brazil, Russia and Europe seemed to be somewhere in the middle, not so much that they stay a medium length of time, but that they seem to have a mix of the two, some folks job hopping, some folks settling in.

cabbey
  • 208
5

I belong to the Eastern world and I also have experience outsourcing work from my company to the Eastern world again :-) My company didn't want to invest is's own resources to get the job done, inspite of all the help we could offer to the Outsourcer the Project did fail. It was frustrating to work with some of these Engineers, I think the outsourcing models and the technical expertise can mature more on the East for the betterment. Having said that I have worked with a lot of people in the western world who can also improve. You find good and bad programmers across the globe.

Geek
  • 3,961
4

I live in Central Europe. The outsourcing wave went over us during the recent years. I have worked on outsourced projects from "the West", but nowadays the outsourced projects land in cheaper countries. So I have been on both sides of the equation.

When we were the outsourcees our managers and the guys whom we worked with on a daily basis were nice, treated us like an in-house developer. A slight concern about job security could be felt from the rest of the people, what I considered perfectly normal. Also, we got the second-rate tasks in a bigger project, which is also fine by me, you shouldn't outsource your primary expertise.

Then the projects moved to cheaper territories, which was kinda inevitable.

The bottom line of the whole outsourcing story is that management doesn't give a rat's ass about your knowledge, experience, education or know-how. All they care about is the costs and their bonus. So unless there is a reason why your local presence is needed, software projects will be outsourced eventually to cheaper and cheaper countries.

Karl
  • 527
4

I live in Russia, Siberia and work for German medical company which outsources projects to us. I guess it is a bit more than outsourcing: we have shared teams between Russia and Germany, we have business trips to each other, etc.

Of course I'm subjective, but I believe we are an example of successful outsourcing: code quality and product quality is raising significantly since we started working on it.

It is a bit disappointing to be a cheap labor force, but on the other side we have a chance to work for a big company with great technology and management experience.

SiberianGuy
  • 4,823
4

Disclaimer: I am Indian and this may sound an Indian's view but I have worked with many western customers and even in US. If eastern hemisphere had the worst programmers in the world, why would western hemisphere outsource to east? If you outsource to eastern parts of the globe just to save bucks you are, IMO, compromising quality. Good, fast and cheap, choose any two. When I have to hire a guy I ask my organisation what are their expectations and what are the price they are ready to pay. Its really hard for one to convince a talented self esteemed guy to work for you for lesser pay and more pressure. Its just those freelancing sites combined with unfortunate western guys whose jobs were Bangalore-d that resulted in eastern programmers are code monkeys. If you are ready to pay better price you will be assured of a better result, and do not follow those ISO/CMMI/SEI kind of service companies. They hire talents like they are rearing a herd of sheep or live stock.

Kumar
  • 723
4

I am an American currently living abroad (in Russia) and working as an entrepreneur (and freelancer on the side to pay the bills). I worked in Silicon Valley as a developer, technical team lead, and software/systems architect for over 20 years for numerous companies and startups, some very well known, including one startup which eventually grew to be an industry-dominating multi-billion dollar major international corporation. This last corporation (call it "X") has development centers all across the US and the world: India, Russia, China, Europe, etc. I worked directly with members of some of these teams, and found them to be highly talented and worthy engineers. Assertiveness and creativity I will agree tend to be a more American engineer personality type at the moment, but that will not last for long I believe as freelancing and outsourcing mature.

  • Outsourcing is very clearly about the money. When I left the US, X was not hiring in the US, but was hiring in international offices. X pays non-US engineers about 1/4 to 1/3 (depends on the region) of the salary of an equivalent (years experience, skills) US engineer. Which is still a pretty good salary usually considering the economies of some non-US locations, but this is not good for the pay rate the very existence of US engineering positions.

  • I believe freelancing is the future of computer work, software especially. By its very nature it is highly portable, all you need is a laptop and an internet connection and you're in business. There is always a case to be made for internal on-site teams: more reliable scheduling, predictable skill sets, etc, but they are very expensive to maintain.

  • I see rather frequent, arrogant postings here from US engineers about how terrible all non-US developers are (take a look at, for example, this thread: https://stackoverflow.com/questions/209170/how-much-does-it-cost-to-develop-an-iphone-application). The stereotype is that yes, they're cheap but always also un(der)-qualified and write crappy code. That the only way to get quality is to pay US pay rates to US engineers. Poppycock! US engineers need to wake up -- the industry and the economy is moving away from very highly paid in-house developers to distributed development teams spread around the world. Sure there are bad non-US developers -- but just think back to all those US interviewees who you passed on because they didn't measure up. Some of the absolutely most atrocious code I've ever had to look at or work on was written by an in-house US engineer, who refused to change or improve! Just because some random elance developer did a crappy job doesn't mean that all non-US engineers are terrible. Instead, that elance client should look a bit beyond the bottom bidders, there are real gems out there, top developers even, available at a big discount to in-house US rates. At this particular instant in time, I will grant you, a lot of talent is concentrated in the US -- but anyone who thinks this will never change is very seriously deluded.

  • Talent and experience do cost more than the lack thereof, I will grant you that. But the thing is that the pay scale of US in-house employees is way out of whack with that of the rest of the world. There is a dynamic talent/cost continuum constantly on the move, and the background ambient talent of non-US engineers is only going to go up, which is going to place very strong downward pressure on both US pay rates and the very existence of highly paid US in-house engineering positions (remember: X is hiring internationally, but not in the US. The writing is on the wall). So the more talented will always be able to charge more than the less talented, but you can be sure it won't be at the current going US rates.

  • The concentration of talent around the world is absolutely going to change, just as the physical location of development teams has already changed. Non-US talent levels are going to keep going up, and in the not-too-distant future we'll look back at these threads and think "what were they talking about, you can find top talent anywhere in the world".

Bogatyr
  • 101
  • 2
4

I have worked both in the eastern and western part of the globe and thought would share. I had worked in Bangalore for 5 years before moving to US. Worked in the US for about 8 years and returned back to India. I was forced to sit at home because the jobs are too demanding here. With 2 young kids it was impossible to put in those long hours. Finally found a part-time job. I was shocked to see the quality of work back in India. It wasn't this bad when we had left to US. The young crowd just does not seem to have any responsibility or the enthusiasm to learn new technologies. Like somebody pointed out, saying 'no' is rare (a blow to their ego, IMO) and as a result you will see totally useless or mediocre work. The code is non-readable, no idea of the big picture at all, no scope for expansion, etc. By the time you train a guy (s)he is ready to jump jobs for a greener pasture. Having said that, I would still say there are few exceptionally good ones. If you happen to work with him/her, consider yourself lucky, especially if that person can communicate well!

3

If the quality of the work is poor it is perhaps not so much that they look to India but they look to whoever makes the best bid, and that is likely not to be the likes of Prasoon Saurav but some junior coding team.

CashCow
  • 1,630
3

I'm from Switzerland. I've worked on one project where we outsourced to Ukraine. Developers where much cheaper, but the money we saved had to be re-invested in flying our team to Ukraine every other month to oversee this nearshore team. The project died about one year after it was outsourced.

I am now working on a project which is outsourced to a Swiss company, which itself nearshored it to Morocco. The project is well on its way, but we do have communication problems and quality problems.

I think the main problem is that we offshore project to get them built cheaper. It's always hard to get things cheaper but of the same quality ...

Guillaume
  • 745
3

I've worked with great offshore programmers, but they were not outrageously cheap to hire. I've also worked with very inexpensive offshore programmers, and they were not great.

It's always seemed to me that great programmers in the east probably find a way to get paid as much or almost as much as the great programmers in the west; maybe they launch their own company, maybe they get a visa, whatever they can. But they'd tend to find a way, right?

When seeking out a team of programmers willing to work extremely cheaply, I wouldn't expect to get top-tier talent. True no matter where your talent lives.

Havoc P
  • 918
2

Very bluntly, and very generally, I don't believe that programmers in 'the west' have high opinions of programmers in 'the east'. I'm not sure if this is justified or not.

As some answers suggest, outsourcing is a threat to many in 'the west'. This is an automatic reason to distrust the 'rival' programmers.

I've only seen bad code when looking at outsourced projects, and only a small number of times. This could be because the work went to a cheap shop ("you get what you pay for"), because the project was poorly managed, or most likely because if the project was successful then I wouldn't need to look at the code. In other words, you only hear about the bad code.

There are also horror stories - like the above 30000 line file. Again, the worse the story the further it will spread.

People will say things like 'If you want it done cheap, outsource. If you want it done right, do it in-house.'

If you're learning and improving then I wouldn't worry about it too much.

2

Some of the largest IT companies in the world are in India, if you heard of Wipro, Infosys, TCS etc. The largest Indian companies, whom most "western software professionals" could never afford to offshore would easily qualify as the world's best in quality. They get every certificate under the sun regarding quality just to allay the fears of western clients. Also there are more engineers(degree and experience) in most Indian software companies than most western companies. Also Google, Oracle, IBM, Microsoft, SAP all have development centers and not all of them are there looking for cheap programmers.

So how do we see the western engineers. We see a mixed bag like you see a mixed bag when you look over the ocean. There are qualified super technical people whom we admire and there are douche bags whom we might be forced to work with sometimes. By and large we get along really well in mixed teams. The relationship really sucks if you have "technically oriented" business people in the western end and just programmers at the other end. This is usually a cash starved western company looking to make save some dollars by not hiring a local manager.

Mamta D
  • 653
2

Disclaimer: I do not have any direct experience with outsourcing myself. Below, I present some points that came up when I discussed the topic with a project manager in a large western software company. This guy has spent a lot of time on the ground in India, overseeing outsourced teams.

  • Almost no-one has a computer in their house (too expensive).
  • India's IT education is lacking. Bachelor's degrees in CS are given to students who has never touched a computer (again, it is too expensive to give lower-level students access to computers). Programming assignments are written on paper.
  • The "always say yes" mentality is very damaging
  • Indian programmers need to be told exactly what to do. There is very little initiative.
  • Outsourcing software development to India has been a disaster
  • Outsourcing of some QA tasks has worked OK.
  • Misc.:
    • Electricity is very irregular
    • India is more or less a police state
    • India seems to be politically unstable and has a terrorism problem.
    • Given an option, no-one will choose to live in India.
2

My experience with outsourcing to eastern countries (not eastern europe) has been pretty bad. All of the applications I've seen have been horrendous and just look like a bunch of bad unrelated code glued together to barely do the job it's supposed to do.

I don't think this is due to new eastern programmers being any worse than new western programmers, I think it's due to the eastern programmers not having experienced programmers to guide them. In the western world, working with modern programming languages has been a common profession for ~45 years so there are many experienced programmers that new ones will work with who you can learn from. In the east modern programming has been happening for what? 10 - 15 years? There's a real lack of experience for people to learn from. On top of that, I think (the way I see it from here is) that with most of the programmers in the east who work is being outsourced to, they pick up a lot of bad traits where the goal is just to get the project done quickly by cutting corners, which is experience you should not be passing on to new developers. In the US at least, most programming jobs have been for people working on a limited set of products which they have to support over time. So people have picked up techniques to ensure that the software is stable and secure... this is good experience to pass on to the new generation.

So yeah, basically I don't see it as having anything to do with the amount of schooling a person anywhere gets, it has to do with habits picked up on the job. There are plenty of good programmers out there (though i think they are well in minority) but I don't think they're the ones us westerners will interact with when projects get outsourced.

As for eastern europeans, they have the experienced developers out there. I'm just afraid that they may be phased out to meet the demands of outsourcing.

2

@giddy, Peter: As a programmer hailing from India, I'll have to admit to the truth, sad as it is, of your statements: programming in India is not something people take to out of choice, but out of compulsions, be they social or economic. That's one reason why it's very common in India to find people quickly moving away from technical jobs to purely managerial ones (it's actually called "moving up the ladder", a phrase I've come to detest). Even if you want to continue growing as a techie, managerial roles get foisted on you (that's one reason why I decided to move out of India, actually).

For reasons that are beyond me, career growth is equated with the number of people working for, or to be more accurate, under you. "I am responsible for a team of x" or "x people work under me" is a statement that's considered to be worthy of a "successful" person in India (never mind that the "x people" may be the ones producing the kind of code that has been referred to by others in this thread).

Having said all that, I do like to point out that poor code quality is not something that's confined to India or other "low-cost" countries alone. I sometimes see familiar attitudes and code quality even here in Europe. Thankfully, they're not the general rule though.

JamieJag
  • 101
2

I have had mixed experiences with offshoring our work, and just working with offshore companies in general. For reference, I live in the United States.


The Bad

I worked at a company that contracted a company in India, which had been appraised CMMI 5 and would work on the cheap. The company gave them some client software to write from scratch, and when it came back, the code was buggy, completely undocumented, and generally difficult to refactor and maintain. The company ended up just writing the entire client from scratch and ate the cost of the offshoring.

In another instance, a company I worked at partnered with a company in Asia to introduce their services and products into the eastern markets. What happened was a secret story that only a few people knew (and myself by proxy) where the Asian company took our source code and product designs, broke the partnership, and then released their own products that were the same as my company's.


The Average-ish

In yet another instance, a company I worked at opened up a research office in China, very modern place, they had fancier stuff in their office than I did in mine. I was sent over to the China office for a week for training, as the R&D facility was going to be used for doing custom Linux development. The team did have some people who were pretty good, but as is the case with developers of that stature, they left pretty soon afterward, and the remaining team wrote an API for us to use back here in the States. I'll call the API completely bad because it showed no understanding of Linux, and the underlying source code was pretty wonky at best. But I think the big problem there was the company chose a strange team to give the Linux work too, as no one on that team was a Linux expert at all, and that project was scrapped a year later. I actually liked working with the people from that team, but their management and my team argued a lot over the Linux debacle.


The Good

In other instances, another company I was in contracted work to a company in Eastern Europe. Those guys were really good, they were contracted to do vulnerability testing and while they were actually pretty expensive, they were generally seen as a worthy investment.

I've also worked with a rather gigantic Indian IT services company, and we had developers in-house that were employed by them but contracted to us. There were several good devs there, but that's a more general story as we all worked together on various projects.


These stories are for amusement - I've worked with multiple companies, and I have stories about domestics and foreign companies.

For some of the companies - communication was always the difficult part. I work on Eastern time, and we'd be talking with people 10 - 13 hours ahead of us. We'd also go only through management, not talking to actual developers, so there was a disconnect there.

There were also devs I met who just didn't enjoy their job. We had a Korean dev in, who wanted to come to the states to work because he worked slavish hours for low pay for a defense company in Korea. I was coworkers with a dev (also foreign) who lamented his choices in becoming a developer - he did it to try to make millions.

wkl
  • 2,720
2

Interesting! I'm Chinese and I think I know why programmers here lack curiosity and creativity. Most of my coworkers complain everyday, they hate coding, they dislike designing, they just gossip here and there(it is part of our culture). They come to software companies just for a higher pay(in developing countires, IT guys are well paid), not for "saving the world" or making a difference. No interests, no motivation, no curiosity and no creativity!!!! But there are smart heads(like me ^_^), they do quality works and deliver on time!!!!

1

Firstly western programmer tent to only every deal with India programmers that have written code as part of an “out sourcing” agreement. I expect the best India programmers are writing code for India companies, or are directly employed by large western companies like Microsoft.

I think it would be far to say, whenever I have had to “fix” such code. (From some reason the weston programmers are expected to sort out the mess a few week before the project is meant to ship. Maybe if the code is not a mess, a weston programmer will never have to look at it.)

  • The India programmers did not “get” the vision of what they were meant to be doing.
  • They saw things like “Unit Testing” as “tick box” item and therefore just wrote enough test methods with no thought about what they were testing.
  • The India programmers claimed to understand what was needed and to be able to do it, regardless of the truth.
  • The India programmers never questioned way they were asked to implement a given requirement and therefore never questioned specs that a Western programmer would have questioned and got fixed before writing “correct code to do the wrong thing”.
  • They worked hard and long hours, but did not produce a solution that work, just something that maybe kept to their reading of the spec.
  • It is not allowed in the UK to say you can’t work with an India when you are unable to understand what is said in phone meetings etc., therefore you can’t tell anyone that the project is going wrong. (The time zone problems in themselves are enough to get most UK programmer to recent having to work on a project with India programmers)
  • There is also a lot of resentment when Western programmers have to spend time “baby sitting” India programmers rather than writing code themselves, unlike trainee programmers in the UK, you know that the next month you will just have to repeat it again with a different set of India programmers.

More I think about this, I think the issues are as much about a software companies thinking they can save money by outsourcing coding to programmers that have no understanding of (or real interest in) the problem domain. (Understanding how the West works is part of the problem domain).

(The false belief that a “sales” person can bypass the in house development department, write a spec themselves and then get some cheap India programmers to write the code, is still very common.)

I have had better experience with Eastern Europeans programmer, as they see to understand the West better, are in a better time zone. It is also possible for someone to jump on an aircraft with a reasonable length flight (and little jet lag) for regulation face to face meetings.

Ian
  • 4,623
1

My experience: I'm born and educated near NYC, and have been working with engineers/developers in China and India for over ten years, as well as with teams in Europe. And many of my co-workers are immigrants from China and India.

Generally speaking, I observe that the employees in China and India serve two primary purposes: as low cost centers and as access to the local market. In particular, China is one of our largest markets and where our largest customers outside of USA are; there is a need for local work to deal with customers for customize and test.

My employers also have R&D in India and China, but that's a bit beyond the scope of this discussion.

Generally speaking, "east" is younger and have much higher rates of employee turnover. They're also getting higher pay raises from a much lower base, and I've seen their improving standard of living over the years. Many of them now own motor vehicles (a scooter or a car) and have broadband internet access.

Part of our cultural sensitivity training was how different cultures deal with conflict, hierarchy and authority, and there is a grain of truth in that. Especially in the approaches to authority...

1

Outsourcing just has one purpose: low cost.

Outsourcing is very popular in this industry, even in a large international company, they also use outsourcing inside. West department may use outsourcing to its east department.

I think the major advantages of west are in design and business area. In most cases, west department designs in architect level even provides some base code or libraries. And west department knows business in depth. After evaluation, the base design and business analysis will be transferred to east department.

In my personal experience, west departments are more mature in industry, while east department are progressing quicker.

With development in east, outsource is moving to cost lower countries. Meanwhile, outsourcing is low profit relatively, east companies will build their abilities in own design and business by learning from west during outsourcing stage.

1

I have worked in a large multinational company that had set up a dedicated Indian office. They additionally used Indian consultants from a separate company. The Indian office had better paid staff who had relocated back from the US. I always found the work from the Indian office to be of a very high quality. The lower paid consultants were mostly used for testing and any development work they did was generally poor.

Although I agree with many of the cultural observations in the other posts I think economics is a factor in determining quality. There are very few good engineers globally. A small fraction of the available labor pool. I define a good engineer as someone who is inquisitive, knowledgeable and has had a good education to build on these skills. As the the demand outstrips supply they are recruited globally. There is a small number of incredible engineers in India. Most of these are graduates from the top tier of Indian universities (such as IIT). Likewise there are a very small number of talented native western engineers.

Inversely there are a very high number poor and average engineers. I remember in the dot com boom that companies were hiring western history graduates, who could barely spit out some HTML, because they were so desperate for staff. Now a poor engineer in the west would not get a job. You can now hire the equivalent in India for a fraction of the price. Therefore you get a concentration of very poor staff at Indian consultancies.

Occasionally I would encounter a few gems in the consultancies. They were naturally bright and would ask lots of questions. Usually they were making up for bad training. What is sad is that they would not get any support from their employers. A lot of consultancy policies are designed to limit the skills that a consultant can pick up, such enforced six month rotation period between contracts.

1

I worked for a company like London that had a contract with an Indian recruitment scheme, they were paid well, but, about 2/3 of what most of the consultants were earning, from what I was told they had to employ a certain amount and the CFO seen it as valuable for money. They all had master degrees etc.. more than most contractors. The result? Utter mess! ASCII art competition in headers of c# files, disregard for naming conventions, massive lumps of nested ifs, it was horrid, no idea about OOP, dont even start on SOLID or TDD. Worse they kept churning this crap out.

Me and some others that took some pride in our work, would sit there cursing it in frustration, they had been approached by some others but didnt take it well, in the end management got itchy feet and took us aside incase it was seen as racism (go figure).

Prior to that I had a gig at a price comparison website, they outsourced to Vashai in Mumbai, I went to teach (good two weeks). Again nice people, but all bar one were worth the 1/3 of graduate salary they were supposedly earning, again all with Masters degree. They just couldn't get it.

Just my experience.

1

There are millions of programmers in India, so this answer has to be a generalization. I think the answer has changed dramatically over time. You go back a decade ago (particularly before the .com bust), and the experience was that you'd be hard pressed to find better junior and mid-level developers than by outsourcing to India. They were intelligent, skilled, generally had strong communication skills, but most importantly they were very eager to show what they could do. Senior talent was also in India, but just like in the West it was hard to get to it by outsourcing unless you contracted directly with the developer.

Now though, I think the pendulum has swung pretty far over to the other side. The demand for skilled programmers in India is so huge that the talent pool has been spread ridiculously thin. I wouldn't touch an Indian outsourcing company unless I had a strong relationship with them and knew I could count on getting quality. If you want good programmers in India, you don't outsource. You need to set up shop in India and start screening and hiring people. You can still find great talent (there is actually more of it that stays in India than in days of yore), but to me the notion that you can get that talent at a significant discount is a nostalgic fantasy. It turns out good programmers are hard to find everywhere and they therefore can charge a premium for their services... everywhere. Now I look at India as a place to find more great talent, rather than as a place to get any kind of a bargain.

0

I'm pretty sure the percentage of good developpers is the same in eastern part of the world than everywhere else. This implies that there are a few good developpers in eastern part of the world, like everywhere else.

The problem comes from the fact that "selling software" is the easiest way to make money, so a lot of people pretend they know how to develop because they have written 3 lines of Php code, and try to sell sofware (= outsourcing).

So, it's juste simple maths: there are a lot of so-called software companies, but there are a few real good developpers in eastern part of the world, like everywhere else. To understand, let use numbers, even though they're not real:

  • 100 software companies in western part of the world. 50 of them are good.
  • 10000 software companies in eastern part of the world. 50 of them are good.

So... the chances you get a bad software company are much higher in eastern part of the world than everywhere else. But the important fact is that there are as many good developpers in western part than in eastern part.

To add to the top of that, there's a mentality problem which makes things worse.

And to conclude to what's happening in France: there have been thousands of project that have been outsourced, with catastrophic results, and a lot of them were big projects (big projects outsourcing was like great savings). So now, real geeks and man like me, who are real developpers (real developper = not attracted by money first) have a lot of work in France, because I have do dig in everything that has been done, give "expert conclusion" and the company acts upon. I'm very well paid, so all in one, it's not such a bad thing ;)

Please don't hesitate to correct my post, to make it proper English, because my English is perfectible.

0

Personally, I think everyone is different. I've seen some as good, some as bad.

I think there is a negative perception, because most westerners are dealing with consultants and consultants tend to do the least possible and look for ways to blame others for what they did wrong.

Another thing to keep in mind, many American programmers are immigrants from India. I don't have the statistics, but I would guess about half of them.

Joe
  • 481
  • 5
  • 12
0

My anecdote:

A few years ago I worked on a project with a team from India. I found them extremely pleasant to work with. They really knew their stuff. Our only friction point was response time to last-minute changes from the client; although to be fair, management ego doesn't always translate well across language and distance.

0

In one of my previous jobs I worked on a project which had development split between Ireland, the USA and India. Some awkward aspects of the project couldn't be helped e.g. the time difference but the fact that often the Indians had pretty poor written English meant that things like defect reports could take a lot of time to decipher. Atfter a while I found it easier to pick up the phone and call the person directly where possible. It's a lot easier to clarify what someone means if you can talk to them rather than sending e-mail after e-mail.

While outsourcing is fundamentally about reducing costs, there are talented developers all over the world. The difficult part is being able to distinguish them from the not so talented!

Malice
  • 129
  • 7
0

Well, being from the US and having experience working with a few firms in India, I would say it is difficult but getting better. I feel that they are technically able to do what you ask but you really have to outline everything in detail or it will be a very long and messy project. This is not because Indians do not understand what you want, but that they think differently, at least from a usability aspect on your project.

I will just give a quick for example. We had a project were an Indian firm was building our user interface and some of the database connections. When the project was almost finished we took a look at it, and at first look it was perfect. Then when we started to run through the program we realized something was wrong. When we went to add something, and you were on the page, for some reason you would have to hit the Add button even though you were already there, and then type in the information and then the submit button.

This seemed counter-intuitive to us as we figured we were already on the page and didn't need to press the Add button and would fill out the information and then select the submit button and nothing would happen. They designed what we asked but it functionally didn't make any sense to us at all here in the west so we ended up re-designing the whole back end.

I find that working with other countries, though lower in cost, seems to take longer and may actually cost more in the long run if you are dealing with time sensitivity against your competitors. On that project our competitors ended up a few years ahead of us due to the difficulties we had. Now I know this was all due to communication breakdowns and understanding and I feel you have to have someone that is good at explaining the process and can speak technically with both groups on the same level to make things run smoother.

Jas
  • 6,313
0

I'm a ASP.NET/C# programmer from China. I totally agree with Péter Török. We've just taken over a project which is developed by Philipen for several years. The code is the most disgusting I've ever seen. Every single class at least has 3000 lines. They are such code wasters 'cause the code are really prolixity. they've no idea what reuse is. And they don't do unit test. The whole system is on the edge of crash.

Currently we're trying to fix the bug for the huge project. The work is really like a nightmare.

gekowa
  • 111
0

The worst mistake I made is outsourcing to India. It was only for basic HTML, and the programmers were more than capable of programming PHP and SQL (at least they thought so anyway). We outsourced them to create a few forms for us, and what they came out with is hundreds of tables inside each other. Not only that, but the lead project manager took a three week holiday without even communicating with us.

From what I've seen of the East, I don't believe that the East deserves the attention of the West. Again, I have nothing against Indian people, they are amazing, but the Indians that I have experienced have a horrible work ethic.

My advice: You'd be crazy to outsource to India.

0

I would say that it is the same as with programmers from anywhere, sometimes a programmer is good, sometimes he is bad.

I have worked on multiple teams with programmers from the "Eastern" world (including Europe...which IS East of me. Some of them were bad, some were good.
I once worked with an Indian man who was the fastest, most skillful programmer I have ever worked with. He very rarely had a bug and his code was always neat and clean and done before it was expected including testing.
On the other hand, I worked with an Indian man who spent 9 months at his desk on his cell phone laughing and talking. The managers weren't sure what to do with him though because his work always got done. It wasn't always the best work but it got done. 9 months later they discovered that he had spent his entire employment there sending the work to his friends and family in India without telling anyone. He had turned himself into the manager of an outsourced development team by his own choice.

Humans are humans. Some of them suck, some of them don't.

-3

Note: This is a highly subjective view and hast most likely nothing to do with reality

US Programmers - nothing great, average guys, many hipster fags

European Programmers - are there any?

Eastern Europeans + Russians - mostly geniuses who would write evil viruses/bots for a glass of vodka

Indians - mostly javabots in bangalore who do it only for the money

Chinese - the next javabots

jsz
  • 111