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

A question to those here who have experienced both IT work in both the US and in India:

Over the past year, I conducted well over thirty technical phone screens in hope of finding a single, somewhat-skilled Java development contractor. The majority of those interviewed were Indian people who were working in the US on H1B visas. Interview results ranged from the mediocre down to the abysmal. The resumes of all these candidates claimed several years of work exclusively in Java, and many also purported to have had lead/architect roles.

My screening technique is an insult to a good developer. I ask questions that anyone who has written any decent Java code should be able to answer without pause. For example, I email a small snippet of code containing a try/catch block and ask the candidate to trace through the flow of program execution if the checked exception is thrown. Literally half of candidates think that program execution terminates whenever a catch block is entered and the contents of that block done executing. How could someone have written any quality code and not know this? I'm not asking Java trivia.

What's going on here? If I was going to travel half way around the world to work as a Java developer, I'd be sure to read a couple of Java books on the plane. Is there something uniquely American/Western about expecting people to "know their stuff"? I'd attribute my observations to general, world-wide idiocy except that the rate of ineptitude relative to claimed experience was far worse with Indian candidates. Perhaps a Mid-Western, Fortune 1000 company isn't a compelling place to spend six months on a contract? The role was to do back-end engineering work on a pretty large, well-know site -- something I would think would be compelling compared to the average "maintain a crappy legacy banking system" gig. If I claimed to be a Java developer and didn't know much Java, I'd be so embarrassed that I'd study every night to achieve competence.

I feel like such an Ugly American asking this question, but I can't discount my observations. What am I missing? Is there some selection bias in my data set that I'm unaware of? I also find a general lack of creativity in these candidates, but I attribute that to the rote nature of Indian education (at least that's what I've read about most schooling in India).

Note: I'm not trying to start a "Java sucks" language war here...When looking at a candidate for the long term, I don't care if he/she knows Java at all. However, when you claim to have done Java for five years and don't know basic stuff, I have to question if you know anything at all.



Blaming "rote learning" for lack of technical capability of a considerable majority of a "regular" Indian programmer is simplistic.

If I may list the issues that are possibly unique to Indian programmer, they are, in no particular order:

* Money triumphs everything. Most Indian programmers don't care for the technology as long as money comes

   a) in ever increasing quantities
   b) from a reputed, brand-name company
   c) offers foreign travel, with US being first choice.
* Admissions to Engineering courses depends entirely on how "HOT" the market is for that degree. couple of years back it was CS. Now it is Electronics and Communcation Engg (ECE), just because it allows you to compete both for CS jobs and Electronics jobs.

* "Work Ethic" - that can be quantified as pride in one's individual contribution, quality of output, constant drive to improve one's skills and knowledge as a distant measure after social status, money for many Indian programmers.

* Enjoying Programming for the sake of it is considered trivial pursuit and not "serious". For instance, being a Python/Rails/Lisp/Haskell programmer of some capability is a matter of pride in US etc. Not so in India. If you are not working on "Enterprise" stuff, all you get is a "oh.. ok".

Of course generalising the above behaviour to ALL Indian programmers is a disservice and wrong. As a hacker(if I may claim so myself) and a native of Bangalore, I'm proud of many excellent programmers I have met in the last 10 years and I feel that many of us are on par with hackers from elsewhere in the world.

To answer your "selection bias" question. There are many reasons why you will not get a qualified hacker to appear on your radar. Getting a US visa is a huge pain in the neck. If you want a H1B you will have go through a lot of circus. Any self respecting hacker would balk at paying upto 60% of their salaries to body shopping firms.

H1B applications are flooded on the first day of applications by big name companies and body shoppers. This leaves no space for a hacker (who by nature are content to be hacking on their own) to "hustle" to get into USA.

I wouldn't touch a lot of these H1B programmers myself. My own hiring processes back home in India have been similar to yours. I would typically give a programming test and a computer to the interviewees and ask them to solve them for me. A significan percentage of candidates from large, brand name companies would fail. Some of them wouldn't even know how to use command line SQL query tools.

So, your sampling population is the one which is contaminated by people who are largely motivated by the desire to work in US and not by technology.


Your points are true for Indian programmers who work for outsourcing shops. Many don't.

Google probably has 10K+ H1B engineers from India working for them (and not via an intermediary). There are thousands of H1B engineers from India with graduate degrees from top US schools. A very large majority of these Indian programmers care about technology, as do most programmers in India who work for software (non outsourcing) companies.

By saying that "Most Indian engineers don't care for technology" you are painting these guys with the same brush. Even with your qualification that "not all are like this", it reeks of bias. A more accurate statement might be "Most Indian programmers who work for outsourcing shops don't care about technology".

/An admittedly biased but more informed opinion from someone who has worked as an H1B engineer, has a graduate degree from a top 5 CS school in the US


This was in reply to a question where the poster wanted to know why it is hard to find good Indian programmers who currently live in India.

Someone who has studied in US does not really belong to the "Indian Programmer" set I was talking about here.

If you read my comment elsewhere in the thread, I defended people working for non-SWITCH companies including google for bucking the trend. I know that the caliber of programmers working for Goog, Y!, MS, Adobe is much higher than the typical Indian programmer who aspires to a H1B visa, whose primary motivation for a US Visa is increased money and social status.

I'm not painting everybody who is on H1B as bad. But if you consider that nearly 100,000 apply to H1B visas from India, it not hard to see that a vast majority are not of the same caliber as potential GOOG/MS/Y! employees.

Well, I have worked in India for 8 years as a programmer and have interviewed dozens of potential employees to work for startup companies that I worked for AND I have had the opportunity to interact with a wide sample of H1Bs in the USA. I stand by my measure of "most programmers" even if it is anecdotal.

And your paraphrasing "Most Indian programmers who work for outsourcing shops don't care about technology" carries the same bias that you try to dispel. I personally know a lot of programmers who work/used to work for SWITCh companies while also being excellent hackers and FOSS contributors.


  Is there some selection bias in my data set that I'm unaware of?
Yes. You are looking for a Java Contract Developer, who happens to have a H1B visa. There is a very high chance the majority of people you would get to interview would be ones who are below average programmers, and are in to this profession only for the money bit and not for the love of it.

As mentioned in this thread, majority of H1Bs are lapped up by the big services firms and body shoppers. Not many would be willing to leave a permanent job in a big firm and apply for contractor position. But yes those who went through body shoppers and are just looking for a better pay package would queue up to interview for you. Sad but true.

So your selection set really is "mostly" bottom of the pile programmers, and hence such hard luck for you.

On your observation about general lack of creativity, these people are probably not the best ones to form an opinion, but yes our education system is to partly blame for it.


What you are missing is that any H1B willing to work as a contractor by definition works for an intermediary. These intermediaries actually operate in a grey area of the H1B immigration law, take a percentage cut off the contractor's pay and therefore, the only H1Bs who work for them are those who can't find a job with a real software company. If you are lucky you may find someone who just lost a job with a real company and was forced to work for an intermediary.

My advice to you is to only interview H1Bs who have worked for other software (non-outsourcing) companies you have heard of before. If even those are hard to find, interview only those who have worked for top outsourcing firms say Wipro, Infosys and TCS.


I think it's simply because Indians are more willing to pad their resumes, in an attempt to beat the system.


As against Pakistanis or Trinidadians who aren't? What's your proof?


I'm venturing into dreaded downvote territory here...

Consider it anecdotal evidence, but I've known several Indians who've done that, and I've seen it while reviewing resumes for interviewees as well. I'm not sure about Pakistanis (they're culturally similar to Indians tho) or Trinidadians (never worked with or interviewed one, and if I did I wouldn't have an adequate sample size). It doesn't matter; as a developer you're much more likely to interact with Indians than Trinidadians.

FWIW, I'm an Indian myself. And know many other Indians that don't pad their resumes, and are very talented/hard-working people. But if you had a job posting in the US and measured x = %age of Indian applicants that have fluff on resumes, and y = %age of non-Indian applicants that have fluff on resumes, you'd find x > y.




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

Search: