Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Behind the 'Bad Indian Coder' (theatlantic.com)
39 points by aram on Nov 17, 2013 | hide | past | favorite | 63 comments


Here is how this discussion usually goes: Topic: "Soviet cars are crap"

1. "I am from the USSR and my fiance's uncle's neighbor drove his car for 500000 km without ever opening the hood!"

2. "I once had seen a BMW being towed, there are crap cars everywhere!"

3. "There are bad and good cars everywhere, it's racist to believe some countries are better or worse at making cars than the others."


Change cars for Scottish sheep and it sounds like a famous joke


Change cars for Scottish sheep and it sounds like at least one famous joke to at least one person.


Hmmm I've seen this joke before in HN, so the at least one person is likely to... Whatever :)


Good god, this is a stupid article.

1. The American programmers who stereotype an entire fucking country based on cheap shitty code bought from a stupid offshore center should be forced to take a statistics class. I have seen ten year old PHP code written by people who now work at one of the top three companies which makes me want to puke. I don't go around claiming that the top companies are bad or an entire race is bad.

2. The developer who got into a debate and started whining about societal issues is kind of lame. No one gives a fuck about whether you are in a wi-fi shuttle or what the competition is as long as you, the individual, can deliver code.

3. Meta discussions about the education system are hard to evaluate. One general trend is that more people go into the hard sciences in India than they do in the U.S. This means that a lot of potential barista servers are writing code. Ergo more crap. This doesn't necessarily mean that the education system needs reform or doesn't. It is what it is.


Employers are to blame. "Developers are all the same, find the cheapest ones." Never mind that it might take twice as long to get it right as paying the right person more for half the time. Not to say there isn't a place for low-price coders, but you don't have a right to complain if low cost was your primary objective.

This is just one of many factors behind the startup explosion. The smartest hackers realize that finding an "employer" or "boss" exposes them to a variety of dysfunctions, such as working for a company that may prioritize employee cost over quality or output.

And we can pretend that companies prioritizing employee cost over quality will eventually go out of business, and they might, but "eventually" can be 20-30 years if you keep your costs low enough.


I'm not all that familiar with Indian developers, but what I have noticed is the extremely high amount of Indian "security researchers" and [security] "hackers".

I'm unsure as to why so many people there are attracted to information security, in particular. That wouldn't be bad, but the problem is that the majority have horrible, broken English, maintain blogs and even go as far as writing books with tons of plagiarized content and finally most of their writing is about entry-level script kiddie tricks or how to write Batch files/VBScript to open and close a CD tray in Windows.

Anyone who has searched for "hacking tutorials/blogs/articles" and similar queries or who has an interest in infosec knows what I'm referring to.

It seems as if many of them see security as some sort of toy field, or they're motivated by conflicts in their surrounding areas and are interested in cyberwarfare as an avenue to participate.

The archetypal example of this is Ankit Fadia. In any event, it gets old and nauseating to look at these people. There are good Indian programmers and security researchers. But they're always the tiny exception. Maybe I'm biased, but it seems as though the ratio of unskilled IT workers to skilled and competent ones is much higher in India than anywhere else.

Inputs?


extremely high amount of Indian "security researchers" and [security] "hackers".

Just one data point, but with Tarsnap's bug bounties, I've noticed a nearly 100% correlation between "submitter's name sounds Indian" and "wildly bogus submission which looks like it was produced by blindly running a website security scanner".


> Inputs?

rolls eyes. You provide a bunch of anecdotal evidence about a country of 1 billion people and then ask people for inputs. I lived there for eight years; there are smart people and there are stupid people. The bell curve applies to every fucking demographic in the planet. Guess what? When you nickel and dime, you tend to get cheap labor and cheap labor sucks ass. This applies to call centers too. So instead of complaining about the race/ethnicity of the developer, maybe the complaint should go up to higher management.

To give you an analogy: This is like deciding to buy a shoddy car because you are cheap and then complaining that the neighbor's porsche outstrips you every time you take it to the drag race.


True, but I still believe my observation about their computer security scene is valid. Like I said, a few simple search queries will yield lots of results.


True, but I still believe my observation about $x is valid. Like I said, a few simple search queries will yield lots of results.

Where $x can be an element of the following set: { America is a gun crazy violent nation where the streets are filled with people roaming with guns taking shots at minorities. , Abortion is murder, A woman's right to choose is important. }

Pick your favorite bias. You will find "simple search queries" that will yield lots of results.


All things considered, the charlatans receive disproportionately high results and representation. Never did I imply there aren't competent Indians in IT, but they do not receive as much spotlight.

Second, your insistence on me generalizing about "1 billion people" is erroneous. The ones high enough in the caste system and with sufficient income to pursue such endeavors (and then the ones actually pursuing them) are much lower. India's demographics are well known for being highly mixed when it comes to social status and involving lots of polar extremes.

Finally, your example biases are radical in comparison to the view that I point out.

Ultimately, there is an issue. Don't try to take this as the ravings of some biased madman.


> Like I said, a few simple search queries will yield lots of results.

https://www.google.com/search?q=queen+elizabeth+reptilian+pr...


When I was growing up in india, Ankit Fadia became somewhat of a minor celebrity in India. I was not sure what he was doing or who he was but I believed he was some sort of a computer god. All the kids around me started reading his ethical hacker book. Maybe that has something to with lots of Indians wanting to be 'hackers' ?


There's a nice entry/summary about Ankit Fadia on a Quora. Google for "Ankit Fadia expert quora"


Or, if you don't want to have to sign up and create an account, there's this piece from attrition.org:

http://attrition.org/errata/charlatan/ankit_fadia/


"Security Research" which can be a euphemism for hacking, has a built in reward metric and a low barrier to entry. It is also attractive to people who like to solve puzzles. If you are in a mass market being a "data base developer" at an job factory probably has very little positive feedback and peer recognition, but break the copy protection on a DVD so that you and your friends can all share a copy and you are a hero (lots of positive feedback).

One community is self sustaining, the other isn't. So if you're self taught, spend most of your time cracking security systems, you are a 'security researcher' which is a slightly safer moniker than 'hacker' given the current political climate.


If you are a white person who has grown up in the West, you cannot grok the extent to which in India (and many other countries) children follow an educational and career path that is ordained for them by family and society, rather than willingly chosen.

In the US, programmers, doctors, etc. have historically chosen those specific professions as a match to their talents and interests. In India, programmers and doctors (and other professionals) are those who got the highest marks on some exam, completely irrespective of interest or specific talent.

For a fortunate minority, there will be a talent/interest match by chance. The others make bad programmers.


There are also safety nets in the west like social security, disability benefits that give you the courage to take chances and pursue your talents. In India you either become a software engineer or live in poverty.


I've talked about this before[0], and I'll try again.

I am an Indian developer. In my previous stint, I had to maintain PHP code. It was written by a Canadian developer. It was such a nightmare to maintain, I rewrote the code base entirely. I don't blame western developers for that. In fact the person had initially outsourced it to this particular developer because he thought western developers would write better code than Indian counterparts.

Now I work full time for a SV based company. I still am in India. No one has complained about the code yet. So can we stop generalizing and blaming all Indians for this? There are some really good programmers in India who "care about perfecting recursions".

[0]: https://news.ycombinator.com/item?id=6509220


I talked about this many times before too (and here again), but Indian programmers get a bad name because the 'throw over the wall' factory line coder shops. Where 100s of coders have 1 m^2 each next to eachother; computer, headphones and working isolated by sitting like that all their working hours. No 'training' to speak off, no senior of quality helping them. And (big!) companies in the west just throw a spec over the wall and expect the result to work. This is just most of Indian outsourcing and the quality is a guaranteed drama.


I think this has more to do with the types of companies that outsource to India. They're not doing it because they view India as a source of talented programmers. They're doing it because they view India as a large source of cheap, disposable butts in chairs. And guess what? You treat them that way, and that's what they become.

I think the moral here is: seeking the best talent from across the world is a worthy goal, but seeking the absolute cheapest labor force possible leads to pain and suffering.


"I think the Indian education system as a whole is greatly flawed in that it does not urge students to think, but rather to memorize, or ‘mugging' as they say in India" - sadly, that one sentence pretty much sums up the Indian higher education system (from a guy who "mugged" his way to grade 12 before coming to North America and having to learn to think).


For web at least, in some ways it's a cop out. All the developers I worked with are self-taught and in any case colleges in the West tend to be way behind industry practises.


I made a lot of teams in out sourcing countries for companies in the west and it's possible to get good quality from anywhere. The problem is that not much people (after al these years...) know how to guide and manage a team in Indian; it's just not the same as here. Most companies (I saw this recently at HP and Accenture for instance) think you can just chuck stuff over the fence to India and expect something back which works. You'll be lucky that way if it even compiles (it usually doesn't if the project is done by more than a few people)!

I think the 'defense' in this article is weird though; as a humanitarian the circumstances feel bad; as a company owner; what do I care who goes to work in what way? If you deliver bad stuff you don't get work. The reason why is of no interest to me in this case as I personally cannot help fix it. Maybe I can, but at a cost equal or the same to hiring people who can sit next to me in my office and that was not really the idea now, was it?

Actually ; the fact that everyone knows this already makes it even weirder that every big company is outsourcing the crown jewels to those countries. And then come back 'home' crying. It's just irresponsible towards the clients and local workers.

That said; you can train mostly anyone and manage quality anywhere, but it's just harder than 'in the same office' until you have the process perfected. This means you going to India and spending a few years with your team establishing training ,education, process suited to your company. Companies work with people like me to set that up if they don't send people themselves. One of the worst things I see is companies who go once, meet the native guy they selected as boss there and then never go back (most work like that in my experience).

It's just investment in people (and your company); it's not much cheaper (or at least much) than programmers locally if you want to do it well. But unfortunately everyone wants as cheap as possible.


There's this ISP in Belgium, Telenet, that does this. I've never understood it. Their code is some java enterprise crap, and when helping out helpdeskers I've seen it and I've had the opportunity to see some of the code. It's easy to point out 10 obvious errors in each of their (horribly long) functions.

The problem is that this infects all of their business processes. Even the quality of the code, which I'm sure costs them dozens of FTE-equivalents on an ongoing constant workarounds at least. There's also a constant workload for damage repair, whose costs probably go beyond merely the cost of the people doing it.

The real big problem is the complete and total disconnect between the business and the development side. The impact of this goes from prioritization problems (spelling fixes get precedence over database corruption bugs), to month-long projects having to be redone multiple times. It also means that there is a massive disconnect between the business policy and what the system will actually do (legal frequently freaks out over it too. On one hand it lets some customers openly abuse the telco, and it often disconnects people for a payment deficit of EUR 0.01 that was caused by that very system). And of course, the business has to cope in the meantime.

The government has assigned a "judge" (ombudsman, but with legal teeth) to do nothing other than override this system in ridiculous cases.

Why the fuck do (large) companies accept this sort of shit ? I can understand a startups' "needs to work right fucking now" attitude with uncertain market fit, but hundreds of millions of revenue depend on this software ...

Although this is partly why I've heard people leave Europe. In Europe, firstly, the money available to pay for a job is determined by "social order", not by value of the position. So a programmer makes $X (less than EUR 70k, and that's very, very well paid, and keep in mind minimum tax level is 56%). Even the one that when he makes a small mistakes crashes the entire network. If there's budget, they hire more programmers, not better ones. So you find 20-year old php monkeys doing those jobs, and constant outages. And second, sadly, this behavior is not at all limited to huge telcos.

Baffles the mind.


Bit offtopic but you are right; in the EU you better elbow yourself up to management before you are early 30s or you have reached the plateau money wise. Programmers (good and bad) use 'tricks' to get 'higher up', usually by outright screwing their colleagues in making management thinking they are worth more. If you don't, you'll be stuck on a pay grade which has not much to do with the value of your position.

Anecdotal; I know a lot of crucial programmers in companies who love programming and their job but are stuck with 'raise with inflation' wage and if they threaten with going their bosses tell them sure, bye!


I too have experienced bad Indian coding ... as well as bad US coding, bad European coding, etc. I've experienced good coding from all those places too. I think the biggest issue with Indian coding is that it's predominately out-sourced and thus very hard to make sure the out-sourcing agency's business needs are aligned with your own.


I believe as they say, 10 apprentices does not equal 1 master. When you work with any outsourcing company they have people of all skill working on the project. You will get their best masters at first, but at some point the "b" team will be brought in and you will start seeing bad code.

I think this must be somewhat the nature of hiring contract workers because I have seen it again and again coming from all counties, as well as within the US.


Really, you think the biggest issue is that the project specs are always too vague?


You can't write a specification that's completely unambiguous, combined with the fact that the agencies bill by the hour which creates an incentive for the agency (and their contractors) produce work products that meet the specification but that any logical programmer would avoid. This includes producing volumes of repetitive (and copied) code instead of careful refactoring, so not only does it cost more to get a functional product, but that product is far less maintainable.


You lost me.


Don't ask ME for a clear spec ;)


I've worked with a handful of Indian developers who were great, and happened to be living in the US. Almost all Indian developers I've dealt (or had colleagues deal witH) with remotely (them living in India) were not good. Surely there's not something inherently genetic, as the people I worked with here in the US would be just as bad.

The common trait I noticed with the 'bad' developers in India was a tendency to always say 'yes', almost in a servile manner.

"These are the goals for the next week - can we hit those?" "Yes".

"We need to incorporate some full text search, either with Solr or direct Lucene - do you have experience with either?" "Yes".

"I need the login system to also do some logging and alerts based on the criteria I sent over yesterday. Was there anything in the email you have questions on?" "No".

OK, in that last one, the answer was a 'no', but the 'yes' position - "Yes, I can do it, I know this, everything will be fine" got to be a bit baffling, because clearly after several days or weeks would go by and nothing would get done... asking "did you understand the specs from 2 weeks ago?" was met with a knee-jerk "yes", yet the understanding wasn't there.

No doubt, I've encountered this with non Indian developers of all stripes and locations, but far less often. It feels like culturally there is a big emphasis on projecting an image that you know everything that needs to be known. I think that's common to many cultures/locations, and perhaps more common in software than other fields (?). But it's also easier to detect when you're face to face, even just on an infrequent basis.

All that said, I did a code review of code from the Ukraine recently - it made me weep with joy (almost literally). It was a massive project, but it was some of the cleanest code I've seen in more than 15 years, and probably the cleanest code I've ever seen of that size that was not a large open source project. I was humbled at how good it was, and how disciplined that entire team was. One thing I learned about their operation is that they have regular communication daily, and one of the project managers gets over to Ukraine every so often for some face to face time. I can't say that's the key, but I bet it doesn't hurt.

EDIT: Someone else mentioned specs being vague. This brings up another point I've noticed with offshore Indian developers moreso than others - a willingness to ask for clarifications. It ties in with my point above, I think, but is another angle. The Indian developers I worked with in the US seemed quite comfortable asking questions about specs/docs - the ones I've worked with who were based in India rarely asked questions about anything. Is this just cultural (living in the US tends to make you question things more?) or something else, or just my lone experiences and everyone else's is the opposite?


The common trait I noticed with the 'bad' developers in India was a tendency to always say 'yes', almost in a servile manner.

This may likely have nothing to do with <programming>, per-se. Others can chime in with more nuance, but essentially you are seeing a culture gap. Imagine a culture where it is incredibly rude to say 'no' directly; and its equally bad to put someone in a predicament where they must say 'no' directly either as well. In this situation, a simple confirmation sequence that might be common in the USA ("everybody OK? This will be done tomorrow, yes?") which is also sort of leading and yet reflexive can be counter-productive. To put this another way, in the USA its common to ask "how are you?" but its very uncommon to answer "bad". The common answer is 'fine, thanks'. That is the type of 'yes' you are getting...its a formality (not an analysis). The format of communication (like a 'how are you?') may not be viewed as an appropriate context for <debate> (especially, breaking rank in front of peers, etc.)/

Anyway, its interesting premise to consider if its applicable in your situation(s). It makes remote team work much more challenging somtimes, that is for sure in my experience.


I completely believe it is mostly cultural, but still don't quite understand it (did a tiny bit of work in China years ago - another big cultural shift).

The 'formalities' of "how ya' coin'?" "fine, thanks" generally don't have any bearing on my professional work schedule. Someone who says "fine" when they're unhappy... that can lead to problems, but they have other outlets to deal with that. Someone who is essentially lying on a consistent basis on a team project - that has a much bigger impact.

"Do you have any questions about the project?" "No"

"If you have any questions, reach out ASAP - call/email 24/7 if you need anything." "OK".

2 weeks later... nothing's done, and it's clear the other party had 0 clue about what was asked for.

Again... the impact of this on projects is way different from casual/social/watercooler chat. I just don't understand the culture differences enough to know what it stems from and how to combat it.

That said, I'm not in a position where I'm dealing with any Indian-based developers right now, although that might change in January.


I've talked with some programmers about this who moved from India to the USA and do excellently there.

In their view the problem is the family culture. Since India is in large parts still very much a developing country and has been for a very long time, they have big families with the expectation that big multi-generational families care for one another as a group. That includes getting jobs, food, etc.

So these people grow up being able to ask most of their social circle to help them in some manner and being able to expect to get this help unquestioned. So quite a few indians use family connections to get into IT jobs they have zero qualification for, by being helped by family, acquaintainces, etc. That is why in chat you often see indian developers ask very bluntly for someone to do their job for them.

I'm not entirely sure where this "yes" culture comes from, but i suspect it is connected with this knowledge that they don't know anything pairing with the desire to keep the job, because it's not just their income, but their entire family's.


I share your observations, but take umbrage with this:

>It feels like culturally there is a big emphasis on projecting an image that you know everything that needs to be known

I don't think it's about projecting an image. My way of thinking about it is that inside everyone's head there is a module that's responsible for taking two inputs (1: the state that you would like to exist, 2: the state that you observe to exist), and producing one output: the state you believe to exist. Different people have different algorithms for doing it. Certain algorithms are more prevalent in some cultures than others. I know several Americans who heavily weight input #1.

I lived in Bangalore for a few months, and have taken long vacations in India twice. I found that the issue described is very similar whether you're booking a taxi in advance (not a great idea, btw), or outsourcing code. My rationalization helps me to be at peace with it most of the time, but not all.


This is inherent to any country where software outsourcing is a significant industry.

The outsourcers sell billable hours that are supposed to be cheaper than hours of developers hired locally, but during industry boom any individual contributor worth their while will shop around for Microsoft/Amazon/Google/Facebook/Yahoo offers that come attached with H1Bs and salaries much higher than local, even accounting for cost of living.


I have seen many such threads show up on HN from time to time. I don't understand how anyone can arrive at any such bold conclusions based on anecdotal evidence.

I am from India, I have spent some time in the out-sourcing industry. And, I think any generalization is never absolutely true. Like in any other country, there are good universities and bad universities in India, there are smart people and not so smart people, passionate people striving to always learn and do better and people just working to stay employed and get by.

And, finally you always get what you pay for. There are out-sourcing companies in India that offer services at low cost ($/man-hours) and there are companies that offer services at higher costs, it's up to the customer to choose what they need. And, in my opinion since the entire model of out-sourcing is based on saving costs and by out-sourcing companies competing with each other, I bet there are more low cost services than higher ones (supply and demand).


Smart interviewing helps filter-out bad engineers. I don't know the situation in other countries. At my work (India), 3 days of back-to-back interviews typically yield one or two employable engineers. And our code is on-par with code from other branches of our MNC, as evidenced by global reviews and testing. The upper management sees this and steady increases our head-count.

It's as silly blaming "Indian" coders, as saying Indians are poor, don't eat cows, are Hindus, etc. We are a diverse lot. Perhaps more diverse than those in the west are used to, but that's how things are here.

One systemic problem I see in most companies that I have worked for is that the companies get structured to promote even those with about 5 years of work experience into management positions. That certainly isn't enough time to develop deep competence in some of the complicated technical fields. That's been changing slowly in the last few years though.


It sounds like you probably work at a quality company with high standards. It's unfortunate that there are companies who don't practice the same diligence, yet you get all stereotyped together as Indian coders.

In the US I have a totally different impression of Indian coders which I happen to know is shared by more than just myself. That is the Indian coders I have known were extremely smart and particularly good with incredibly complex code. One of my friends who got hired at a place where the team was mostly Indian confessed to me that he was somewhat intimidated to start because the team was "all these genius Indian coders" and he wanted to be sure he would hold up to their standards. I hope that does not sound racist. I thought it might be interesting counterpoint that Indian programmers located here in the US do not have a negative "bad coder" image that I'm aware of - quite the opposite in fact.

I know this is a stereotype just as it is to stereotype outsourcing. But, I think most US programmers negative opinion is not directed at the programmers themselves, but rather the logistics and various other challenges of outsourcing.


I believe the word "racist" is used only with a negative connotation, so I don't think that applies to your comment. But some of your colleagues seem to have a positive prejudice towards Indians. I have had European colleagues express such a positive prejudice towards (a regional caste of) Indians, a couple of times. (I assume those with negative prejudices preferred to remain quiet.) I merely expressed my own opinion to the contrary, rather than argue hard to correct them.

You are probably right about the logistics of outsourcing. I have not been involved in either end of such a transaction.


Can you tell me what company you work for, and if you hire freshers? I graduate next year and the only companies I've seriously considered applying for so far are located abroad.

I just added my email address to my profile.


Sorry, Mayank. The company does hire freshers, but only through campus interviews. These interviews are typically at some universities in the four southern states. I have not come across a case where a fresh engineer joined us by any other means.


Ah, alright. Thanks for the response.


Hey Hey Every One - Here I am to confess - Do you know how It feels like to the Bad Indian Coder and reading such articles every now and then? I am the Bad Indian Coder.

I have made engineers at client company , literally smack their head due to frustration.

Yes , I write bad code.

I am sorry Mr. DHh,JDM,SPK, and many others.

If you think why I do not want to learn the stuff which would make me perform well? Let me tell you how the system works.

There are a set of outsourcing companies - let us call them the the {o1,o2,o3,o4,o5.....} There are a lot of companies in USA who want to outsource work to INDIA.{u1,u2,u3,u4,u5,.......}

So , after a lot of negotiation based on skill set of labors ,labor costs,billing rates,legal agreement - A company from U chooses a company from O. WLOG, let's call them u and o.

You know what , even before you see the bad code , the foundation has already been laid for bad experience - both for engineers at u and engineers at o.

Why?

You see the outsourcing companies o1,o2,o3,o4,o5 are run by very good , very talented , very ambitious people. For example: Narayan Murty , Ajeem Premji,Subroto Bagchi .

These people pay themselves a lot. I mean a lot. Also , these people cannot commit to a branch. These CEO/Co Founders have their team of around 500 people who are quite bright as claimed by their academic backgrounds , have very good degree in their resume and these people are also paid a lot - I mean lots.

What do these people do? They do the process I described above of finding some u company.

Once the project starts , what does the company does?

They hire developers(you can replace developers with testers,QA guys,coders,donkeys, - whatever pleases you)

<<They actually do not hire , they have a pool of people on bench who are showed as the labor in the negotiation process>>

The u company is charged something like ~20 dollars per hour per engineer working at the o company. Have you ever wondered how much the the developer/tester/qa guy/coder/engineer gets at the end? I understand that , since you are paying ~20 dollars per hour and 20 dollars/HOUR as per Indian Standards is a LOT . LOTS.

But the end developer/engineer/tester/QA guy/coder gets NO MORE THAN 18 DOLLARS PER DAY. I get 10 DOLLARS PER DAY.

The company o charges from the u company much much more than what my BODY EARNS for the o company.

Where does the rest of money go ?

It goes to pay the CEO and the team of sales and so called Strategy team.(AVP,VP,consultants -you name them - these are not billable people).

All of these have one thing in common -

They have very good degree on their resume.(Bachelor from Elite Indian School , then Masters/MBA from an elite University in USA).

I do not have such a degree.

I cannot leave job. No school in USA would accept me because a) I do not have an elite degree on my resume. b)If I write GRE exam (That GRE exam fee is half of my month's salary) I would not be able to take care of some people I care about.

c)If you read b , then you might imagine I cannot afford any school without 100% scholarship.

How my college went?

Yes , Officially I did went to college for a computer science degree.

But in my college 1)No lab sessions were held for 4 years. 2)The questions that would be asked in exam were like - what is an os , write a short note on file systems , why you need synchronization- The same set of questions were asked every year and every other year. We were given a set of question banks and asked to memorize the exact same answers.

Little Did I know that memorization without understanding is cyanide for brain.

Somehow after college ,after so much struggle I did end up at the job.

Now in the current scenario-

Why should I learn APIS for the code which is proprietary to the u company and train myself to become a ninja bug fixer for muti threaded applications?

Why should I learn the debugger developed by the u company which would make me fast and make me deliver results on time?

Why should I learn the language I do not like?

Why should not I learn The things I like from moocs , which would make me get a real job.

Yes, I write bad code, I do not care how much the client engineer rants about my code, or how much pain in the ass my code is for the u company.

You , the u company never outsource the design/interesting/algorithm stuff for cheap . I know we would be terrible at that too , but at least we would learn some stuff.

I am paid just 10 dollars per day.. I did not study in an elite college - which means that people who studied at elite college would use me as a whore to get richer .

The Companies in outsourcing business are not run by entrepreneurs(even though they like themselves to be called as such) , the o companies are nothing put pimps.

I am the whore. No , I am not depressed.

Please stop blaming the labor , stop blaming the awful code.

Please stop outsourcing all together.

If you want to do outsourcing , please I beg you all the people who want to outsource , I beg you - PLEASE FIND HOW MUCH IS THE END DEVELOPER IS GETTING PAID.

This is not a PART OF CONTRACT - The contract entails that the Company in USA will have no say on the salary of the Engineer in India - the company will just pay as hours.

There has been a lot inflation in the last 10 years, thanks to the stupid Ghandhi - Manmohanh -2g scams, coal scams,.

Prices have increased 3 times in 4 years of food items.

But Wipro/Infosys/TCS Paid $330 per month then and now also pay the same .

On every year , at end they give hikes of just 6%.

But , please do that once.

If I were getting 40 dollars per day , I would have worked hard , day and night and at least managed to deliver respectable code.

But , I am not bothered about your deadlines , or your your escalations.

I am not bothered as long as I am not getting money to buy at least one good thing for people I care about per month.

It's almost the same system in all the u1,o1,u2,o2,u3,o3,u5,o5 companies.


This is a hilariously stupid article. It makes sweeping generalizations of a country of a _billion_ people using nothing but anecdotal evidence. Really, if anyone is going to make a claim as bold as this, and as potentially insulting to a race of people as this, they better back it up with some numbers.

This is very clearly a case of "you get what you pay for". If you want cheap labor, you're going to get cheap quality. Just like everywhere else, there exists good programmers and bad programmers, passionate people that strive to learn and get better and those that work just to get by.


I am yet to meet a coder who likes to rework on a code written by another programmer. This is regardless of it being an India/Western programmer


You have met me now. I find it fairly interesting to pick up pieces of code that other people have written. Often teaches me something new, gives me an insight into how the person thinks about solving problems. I think of it as pair programming separated in time and space.


and text like “Link will be sent to your mail for to update your Password.” sprinkled throughout public facing parts of the website, which just doesn’t give your customers the best impression of you and your business.

Poor spelling and grammar only seems to be relevant when made by someone who is not writing in their first language.


I disagree. Poor spelling and grammar is an abomination in professional software if it is client facing.

It doesn't matter in the slightest the background of the person who wrote it.


> I disagree. Poor spelling and grammar is an abomination in professional software if it is client facing.

It is abominable, but I have seen poor spelling and grammar on software released by Toshiba, I haven't heard any complaints about it.


I'd add to this that it's pretty evil in code too, just more insidious.


In what respect, the identifiers or the keywords?


Keywords wouldn't be a maintainer's problem, assuming the code works. Calling functions that are misspelled can get you into trouble fast though.


Of course they can't compete against 26 year old Stanford grads.

The problem at large, though, is that they also can't compete against someone like me - who is 34 and has an Arkansas High School education! (Which is not exactly something to brag about.)


This is bad for many Indian developers, May be little down south of India can make a difference in quality of commitment and quality of code...! Much of North India, is known for cheating attitude...! Don't call me racist now...!


Being stuck in the education system myself, I fully agree that the system is flawed. But I think you get what you pay for, if you raise the buck it won't be difficult to find some excellent coders in India.


Google "Companies ruined or almost ruined by Indians".


So, how do you find good Indian coders?


Just like you find good programmers anywhere else - involving your best programmers in hiring decisions, trying to tap into networks your programmers have, looking at people who have written non trivial open source projects ....


My only experience with indian coders is their listings on freelancing sites that bid very low. Far lower than would sustain a person in the west. 200$ to make a copy of Gmail. Stuff like that.

My question to y'all is: why is it that I have not yet heard a "we hired indians to code x, and the code was really well done and documented"-comment from anyone yet?

Is it because good indian / paki / nearby coders do not exist, or because they're hired, do the job well and nobody has a reason to mention their work to anyone else?




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

Search: