If you have 10 people and none of them have jobs, you have 100% unemployment. If you then bring in 90 people with jobs and keep the 10 people with no jobs, you have 100 people and only 10% unemployment.

See? Bringing in people and giving them jobs does help local unemployment.

let us not forget that microsoft let go about 5000 workers to reduce costs, so your analogy then becomes similar to

You have 40 employed people and ten unemployed.. the employer then fires 30 of those and replaces them with foreign imports that are cheaper, now of the sample group instead of having 20% unemployed you have 50%

you then have the same number of jobs, but with more people to share them around between.

let us not forget that microsoft let go about 5000 workers to reduce costs

It's not a great comparison. It's normal and healthy for a corporation to trim the fat. The American automotive industry is a great example of what happens when you don't get rid of workers and assets after they become redundant and/or unnecessary.

If Microsoft legitimately can't find talented workers, I suppose there's nothing wrong with employing a handful of foreigners. The total number of H1-B visas isn't terribly high in the grand scheme of things (limited to 65,000 per year, maximum stay of 3 years; 6 if a renewal is approved)

Microsoft employs approximately 89,000 people, and received 3,517 H1-Bs in 2006.

Also don't forget that there are plenty of American citizens working abroad. I can't find a great source for data on this, but Google turned up an article from 2005, claiming that there were approximately 4 million American expatriates at the time.

H1-B visa holders also tend to be highly educated by the very nature of the program. I fully support the notion of attracting the best and brightest minds to my country. It might make me less competitive in the job market, but will almost certainly be good for the country as a whole.

Perhaps the biggest injustice of the system is the manner in which foreign graduate students are treated. We award a huge number of advanced Ph.D positions (often government funded) to foreign students, and force them to return home after they've received their degree! Not only are we depriving American citizens from educational opportunities, but we're also essentially educating other countries' workers for free.

If you have 10 people and none of them have jobs, you have 100% unemployment. If you then bring in 90 people with jobs and keep the 10 people with no jobs, you have 100 people and only 10% unemployment.

OK, you made me laugh. But...

Theoretically you should get an even lower UE rate. You see those 90 people with jobs will need someone to serve them burgers when they go McDonalds. If 3 of the original 10 unemployed get jobs serving the needs of those 90, leaving you with a 7% UE rate, and, more importantly, with a lower number of unemployed people. That, at least in theory, is how bringing in skilled labour is meant to reduce unemployment.

yes.. because getting in foreign workers will help REDUCE local unemployment.... maybe in soviet russia.

Yeah, because unemployment is "the problem" - not getting the damned job done so that something of value gets created and sold so that wealth can actually get produced, salaries, taxes, and bills paid, and economies improved, right?

I've been having a tough time finding a reasonably qualified programmer from straight out of college. I'm not looking for senior database developers, just people who can solve basic logic skills and... write software!

From fresh grads with MASTERS degress in IS I get blank stares from such questions as: (in any language of choice!)

1) If you had a string, and wanted to replace part of that string with another string, how would you do it?

2) How would you add 5 to each element in an array of integers?

3) How would you add 5 to a field of integers in an SQL table?

4) Write up any form of database "select" query. I don't expect it to parse, just have the basic pieces. Honestly, just a simple "Select field [, field2] from [table] where (conditions));" would suffice.

5) In your language of choice, take a variable containing the value 5 and construct a sentence that says "I have 5 children".

These are all questions I would consider basic when looking for a database programmer, which is the position being advertised, and for which many of the resumes I see are clearly targeting, with words like "Oracle", "Database", and "Information Architecture" in them, underneath "Masters Degree" and "Information Science".

I'm ok with missing a few. But getting only 1 or 2 sensible answers out of 10 or 20 like this?!? How *does* one get a Masters Degree in Information Science without being able to answer basic questions like this? Supposedly, the job I'm offering is why they went to school, but they aren't even qualified to begin. So what did they do for 6 years?

If you are hiring a welder, he'd better know how to weld. If you hire a doctor, he'd better have a good working knowledge of medicine.

Why can't we expect to hire fresh programmers who know how to... program?

I don't qualify my advertising with *any* form of educational requirement. I only list the skills required. Of all the programmers we now have at our small-but-growing-fast company, none of them have even a BA.

PS: We're flexible enough with our hours that one of our programmers is going to school to complete a degree in Mathematics.

I'm not asking for Masters degrees, but I'm getting them. And they sure aren't helping them much, at least as far as I'm concerned.

The problem here is not the available candidates, it is your approach to trying to fill the position. Please, hear me out (as this is something I've run into myself, more or less).

First, if you're looking for someone with specific skills, you are intrinsically expecting them to have experience with those things. Like most things in life, you can not gain experience or knowledge in something without doing it, first. If you are looking for entry-level candidates, you are looking for intellectual aptitude, a foundational skill-set indicative of the ability to learn, and a broad but shallow understanding of many different topics. If you want someone who has a more topical understanding than just the basics, but not someone more skilled than "entry level" (say, intermediate or experienced) then you are looking for someone with a PhD.

We're not (necessarily) talking about incompetent students, here. A student who was (say) a tech while going through school is going to put the things on his resume which relate to his academic preferences and strengths. There isn't all that much which can be covered in a semester.

Also, consider that something known is not always easily conveyed in a foreign format. It's damn hard to orally convey a lot of the things I type on a daily basis (and the logic/process is sometimes also difficult to convey: the "speech" part of my brain is somewhat disconnected from the part which performs the work, it would seem). I imagine I'm not alone in this, at all. (Likewise, pen + paper isn't the same thing, especially if your experience is very environmentally confined or "mostly academic".)

Now, granted, I do not know your hiring process or requirements, but I can see such a scenario play out in such a fashion (and have seen it a number of times). IT is complex; there are a lot of things to look at, and unless you're already locked into a sub-field, the amount of things you can (and might have to) study to land a job to start a career in a sub-field is intimidatingly large. Not everyone has the opportunity to grow in their field "organically", and it's very difficult to hit a moving target (ie land a job) when the market is tight.

I've seen a lot of job postings, and been to a couple job interviews with questions like you describe. Sometimes they're looking for an introductory position and don't realize it. Sometimes (as I suspect the case is with you) they're trying to pull an experienced or intermediate-level developer or systems person in at entry-level wages.

I think the difference between a US college graduate IT person and an Indian worker is probably that the Indian worker's schooling has been more highly tailored towards job postings and the fact that he very well may have "abandoned all hope" (at all) for a number of years while he underwent his schooling. Sure, you'll get a programmer that way, I imagine. There's also a good chance he's fairly interesting and knows where to get the good curry. Maybe doing that is the "productive" and "financially conscious" thing to do - or whatever the going phrase is these days for selling your country (and countryman) short to the benefit of your company.

Sure, you'll get a programmer that way, I imagine. There's also a good chance he's fairly interesting and knows where to get the good curry. Maybe doing that is the "productive" and "financially conscious" thing to do - or whatever the going phrase is these days for selling your country (and countryman) short to the benefit of your company.

You know, I enjoyed most of your post, but found this section really lacking.

You seem to be suggesting that you should hire the inferior person, if he's a native of the country you happen to be born in (or are a current resident of), over the superior person who is not a member of the same group.

How is this reasonable? If you do this, then you're just short-changing your company, and putting everyone's paychecks at risk. Thats one of the things that people who havent run a business dont get. The pressure and obligation to keep the business solvent and growing so that everyone gets to keep their jobs and keep getting paid, is quite intense.

Hiring inferior (but American) staffers over superior (but foreign) folks doesnt help anyone, least of all your countrymen. It just creates another marginal business that probably wont last, and will then drive up the unemployment rate.

You pick the best people you can afford, and you ignore things like nationality, gender, ethnicity, religion or sexual preference (assuming the person can fit in with the group). And thats it.

You seem to be suggesting that you should hire the inferior person, if he's a native of the country you happen to be born in (or are a current resident of), over the superior person who is not a member of the same group. How is this reasonable?

It doesn't look reasonable from a little-picture bottom-line view, but in the big picture it's not only reasonable but important. This is why Congress limits foreign workers. Of the two workers, the local is likely to spend more domestically, will pay more taxes over his or her career, may serve on a jury, is many times more likely to do volunteer work, and is infinitely more likely to defend the nation in times of crisis. Nations prefer local workers because local workers prefer their nations.

Is this nation worth saving? It can't produce a programmer that can write a "SELECT" statement in 5 years of computer science training! Ill informed graduates need a serious lesson in "real life" and need to return to their collage with this results and protest.

I had six years of computer science, taught simple SQL to students as a TA, and now years later I look up SQL commands. It's just not worth remembering when I've got examples in my own code or online, and I use it so rarely.

He's looking for someone to do a relatively simple DB-related job. He's asking a few questions that should be dead simple for anyone who's only so much as worked through tutorials in a few related subjects. It ain't rocket science.

You talk about "foreign formats," about not expecting academics to have practical experience, you talk about "tailored toward job postings"... but those are all hand-waving and pretty feeble excuses for not having a clue of basic concepts of the job they're applying for. No employer should be obligated to hire morons unless it's to do with Affirmative Action. If they can't handle this kind of stuff they should submit their application to MacDonalds.

I find it hard to believe it's so hard to get a hold of people with such basic skills. But if it's true, the educational system is deeply flawed and we need fixes, not excuses.

I'd object to "all". While it is quite possible less common in other fields, I know lots of CS and SoftEng graduates who got a university education precisely because they wanted to add a strong theoretical background to the technical skills they could acquire on their own.

"Seriously don't expect university graduates to be able to do any professional job well, engineering, architecture or software coding, all the graduates will require years of training to become anything approaching useful."

Years of training, eh? Hmmm... if only there was some kind of institution that could offer this training, perhaps for a tuition fee...

Even architects have to know the basics. Or their fancy designs would fall over. There's a reason you make engineering students build bridges out of spaghetti. The same computer students should know how to build a DB out of a flat file.

Right, but not too many people try to hire engineers for their spaghetti-gluing skills.

That's why I dropped degrees as a requirement altogether. Yes, that means that sifting through applicants becomes a lot like an American Idol casting (you have a few hundred applicants for the position, 90% of which don't even come close to qualifying), but it's worth it.

As it's for malware forensic, asm plays a role. Especially understanding asm you didn't write. So one of the centerpiece questions is basically:

You have this piece of code in a subroutine:

pop eaxinc eaxpush eaxretn

What do you expect it to do, and what would you do in your disassembler?

Believe it or not, anyone who was able to solve that was a VERY good analyst. That's a question you can hand out in written form, get written answers and you sieve out those 90% that don't even have the foggiest idea what's going on (those are also the 90% you don't need). I don't even read the answers (ok, I glance at them so I won't get someone who wrote "no idea, but I don't care, I'm here for the fat check"), I don't care how they answer it. I care that they understood what's there and that they have an idea or at least a hunch (hunches are quite valuable in that biz) where to put the crowbar.

The rest is training. What I need is people who don't fear to get their feet wet, who don't mind poking at code and who can play with it. I need explorers and tinkerers. It doesn't matter if your answer is right. What matters is that I see you pondered it and had an idea.

I've been having a tough time finding a reasonably qualified programmer from straight out of college. I'm not looking for senior database developers, just people who can solve basic logic skills and... write software!

You are in luck. As fate has it, I am straight out of college student, looking for work as a programmer.

From fresh grads with MASTERS degress in IS I get blank stares from such questions as: (in any language of choice!)

No worries, I will give answers instead of blank stares, though blank stares may last 10-15 seconds as I parse questions. My language of choice to answer questions is Ruby. Let's look at some answers that you claim Master's graduates have trouble with.

1) If you had a string, and wanted to replace part of that string with another string, how would you do it?

This function returns a string with find changed to replace, first instance only. A nil is returned is the target string is not found, and removes the target string if a replacement string is not provided. For instance:

def string_replace("I like blue.", "blue", "red")

would return:

"I like red."

2) How would you add 5 to each element in an array of integers?

arr.map{|num| num=num+5}

3) How would you add 5 to a field of integers in an SQL table?

UPDATE tblname SET col = col + 5

4) Write up any form of database "select" query. I don't expect it to parse, just have the basic pieces. Honestly, just a simple "Select field [, field2] from [table] where (conditions));" would suffice.

You pretty much answered this one yourself. In any case, for an example,SELECT firstname, lastname FROM people WHERE age >= 21would get the names of people who can drink (in America)

5) In your language of choice, take a variable containing the value 5 and construct a sentence that says "I have 5 children".

x = 5str = "I have " + x.to_s + " children."

These are all questions I would consider basic when looking for a database programmer, which is the position being advertised, and for which many of the resumes I see are clearly targeting, with words like "Oracle", "Database", and "Information Architecture" in them, underneath "Masters Degree" and "Information Science".

I'm ok with missing a few. But getting only 1 or 2 sensible answers out of 10 or 20 like this?!? How *does* one get a Masters Degree in Information Science without being able to answer basic questions like this?

About me, I am a college graduate from a well-known university with a Bachelor's in Computer Science from the College of Engineering with a 3.5+ GPA. Since you don't correlate degrees with talent, I won't bore you with the details. However, if you are willing to take a chance, I am willing to demonstrate my abilities and prove that I can do what you need, so take a chance on a random guy from Slashdot.

No Slashdot account, but I can reached at hire.random.guy.from.slashdot@gmail.com (Registered just for this purpose.)

I'm not the guy who was (presumably) hiring, but let me comment nonetheless.

1) String replacement. No need to get overcomplicated - use String#sub [ruby-doc.org].

2) Update an array. Your assignment to "num" there is meaningless. For one thing, you're assigning to a local (lambda argument) which is going to be immediately discarded afterwards. For another, if you're trying to mutate the array in-place, then you should be using Array#map!, not Array#map. And if you're trying to make a new array with values, then you do not need the assignment at all.

You're looking at the wrong degree, IS is a managerial degree not a technical degree. Just like a Management degree, IS gives very very little information about the person's actual skill set. A Management degree says "he likes money and people". An IS degree says "he likes money, people and computers".

You must remember, all "people management" degrees are fundamentally about managing unqualified and/or stupid people. So you hire an MIS for say managing the computing needs of an office with very little computing needs, managing the software installation part of an assembly of line for kiosks, or thousands of similar jobs requiring only minimal computer skills. Your MIS guy's resume saying "oracle" means he's used some basic qui query engine in class. Well, obviously that's quite valuable if you want him managing a call center. Not so much if you want him programming.

A qualified programmer will have a degree in science, engineering, mathematics, or occasionally some "interesting" major, and ideally list a slew programming languages. For example, if you see a guy with a degree in Music Theory, Economics, or French that knows C, Java, and Ruby, well I promise you that guy can learn SQL infinitely faster than your MIS.

I mean, business gets all excited about these business oriented degrees we academics sell, but mostly these degrees say `` This person lacked the initiative, confidence, and curiosity to pursue real academic interests. We recommend using them to manage people without collage degrees. ''

While I agree that anyone with a university title for computer science should at least have some basic ability in actually writing code, I think you misunderstand what computer science is all about. It is simply not intended as vocational training for programmers. Of course, a student with any sense at all would make sure he is at least employable outside academia, but the point of a computer science study is not to become a programmer.

Let's face it Programming is what the majority of computer science graduated end up doing after they get their degree. I have been handed people with fresh BS and MS degrees who seem to have zero concept of even the most fundamental aspects of software design and development.

Things like:

What is a god-class and why don't we write them?

How to break a problem up properly into objects, what functionality belongs in which object?

A complete lack of any kind of grasp of even basic design patterns.

Why should methods/functions not have 20, 30 or more arguments.

Why don't we nest ten if statements one inside the other with lots of else ifs thrown in and why don't we open an if statement line 112 and close it in line 768 (with 8-10 levels of nested If-elseif-else statements in between... of course).

These guys are excellently prepared for becoming academics but the schools they came from don't seem to be very concerned with giving them the basic skills they need to get a job outside of academia. When they don't even have a couple of proper courses about, say, web-app and web-service programming. It is almost as much effort to train some of these university graduates up as it is to pick a person off the street who is self educated in basic programming, or even has no clue of it at all and train him/her up. Another thing is that some of the more business oriented of these schools are starting to turn out grads that have been taught nothing but "industry standard" (read Microsoft) OS'es/programming languages/tools. Nobody is doing a young computer graduate any favors by teaching him/her only MS or only *nix etc. They have to have a basic grasp of both. Walk into any telecommunications company and you will quickly find out that Microsoft products are not an "industry standard", "DirectX" is not the universal de facto standard for game programming, "OpenGL" is not dying, a huge number of software gets written for other platforms than PCs and server systems, the list goes on... The best people to hire are usually complete nerds because they alone tend to have the kind of basic grasp of software development that is needed because they acquire it in their spare time. Mind you it is definitely a plus if these nerds have a degree. There is, however, a surprising number of people with computer related degrees applying for developer jobs who simply seem to have a very limited clue about how to develop software. Unfortunately comp-sci seems to have become a popular choice for people intending to become programmers. Perhaps we should split comp-sci into two paths? One for people intending to get a job in academia and one for those destined for the commercial job market?

Let's face it Programming is what the majority of computer science graduated end up doing after they get their degree. I have been handed people with fresh BS and MS degrees who seem to have zero concept of even the most fundamental aspects of software design and development.

Things like:

What is a god-class and why don't we write them?

I've been programming professionally for 17 years, most of it in C++, and even I haven't heard of a god class. I can make a guess, but it would just be a guess.

Have you considered that you may be mistaken regarding how commonly used that term is?

>What is a god-class and why don't we write them?
Sorry. I have no idea what this is. I guess that after 15 years of programming, I'm just too dumb.
>A complete lack of any kind of grasp of even basic design patterns.
While the book, "Design Patterns" was sort of interesting, I'm afraid I'm finding the practical implications few and far between, and of almost zero importance in the production of commercial software, on schedule and within budget.
Frankly sir, I think that if anyone is guilty of academic mental self-pleasuring (not that there's anything wrong with that...) in the domain of computer science, it's you.

If I can make this political, I would blame the conservative movements strategies over the past decades to push free market economics. The only way to get tax cuts for the rich and unchecked corporate power in a democracy is by convincing more than 50% of the voting population that they will someday, soon, be rich and the head of one of those corporations.

I often here things like 'Fuck you socialists! when I get my MBA I am going to be a rich entrepreneur and I don't want to have to pay tax to support scum like you!' from people going through university on borrowed money and their parents contributions. They honestly believe they have a free ticket to the top 1%, along with around 50% of the population. Those numbers don't add up.

unfortunately, it seems that if/. *had* outsourced their coding this silly javascript nonsense we're seeing would be fixed.... eventually, and for lots of money, after a process consultant had submitted the change request forms and the technical lead had decided that a complete rewrite using.net was the only way to solve the problem.

Use NoScript. It loads me a nice reasonable rendition of slashdot without all the bullshit. Slashdot is actually the reason I started using the plugin. I don't know what the fuck Slashdot coders are doing that is so script intensive on a fucking news/forum site since Google docs and Gmail which uses tons upon tons of Javascript runs reasonably while what should be a simple site of html,css, and a conservative amount of javascript feels like I am loading 72 instances of Eclipse on a 486. Get your shit together slashdot.

Agreed. I used to read Slashdot 10 years ago on 233 MHz Sparc 5 workstations, running SlowArseis and it was perfectly reasonable. Now it keeps beachballing my MacBookPro, which is ten times faster on clock speed alone, never mind it can do a lot more in a cycle, has faster bus, RAM and hard disk.

I would've thought Slashdot of all places wouldn't succumb to the gleeful bloat which has rendered spectacular advances in hardware almost irrelevant to the end user experience.

I would've thought Slashdot of all places wouldn't succumb to the gleeful bloat which has rendered spectacular advances in hardware almost irrelevant to the end user experience.

Indeed, this shit does not bode well for the future of slashdot. These sorts of counter-productive and superfluous web-site "upgrades" are the kind of thing that often precedes the death of a company. It's like the brains have already left the building and the company is just left running on empty until it collapses under the weight of the remaining stupidity.

I don't want to start a holy war here, but what is the deal with you Slashdot fanatics? I've been sitting here at my freelance gig in front of a MacPro (3GHz / Quad-core, 8GB of RAM), directly connected to one of the internet's root servers, for about 20 minutes now while it attempts to load the front page with all the new scripting. 20 minutes. At home, on my Pentium Pro 200 running NT 4 on a 300 baud modem with IP over Avian Carriers (http://en.wikipedia.org/wiki/IP_over_Avian_Carriers), which by all standards should be a lot slower than this MacPro, loading the old site would take about 10 seconds. If that.

In addition, during this page load, Chrome will not work. And everything else has ground to a halt. Even Twitter is straining to keep up as I type this.

I won't bore you with the laundry list of other problems that I've encountered while surfing the new site, but suffice it to say there have been many, not the least of which is being unable to get the preferences to actually change anything, despite the open source 'Bazaar' architecture seemingly allowing the community to quickly suggest a fix without waiting for a proprietary solution to release a solution. My 486/66 with 8 megs of ram printing on a daisy-wheel printer and posting that surface mail to OSDN directly to request a printout of the front page by return post delivers content faster than this cutting edge computational monster on government-grade bandwidth. From a productivity standpoint, browsing Slashdot no longer just occupies my employer's paid time but interrupts my personal life and sleep pattern too now.

Slashdot addicts, flame me if you'd like, but I'd rather hear some intelligent reasons why anyone would choose to use Slashdot over Digg.

I'd say its time to pull the plug on free trade and let these people jump start their own local economies on their own merits, and not on shoveling their crap into the USA. India has not done a damned thing for the USA and I see no reason why the USA should throw its people out of work to subsidize India's economy.

Whether you agree with the outcome or not, foreign labor has helped to reduce the price of many of the goods and services that westerners rely on every day. India has allowed us to save $0.05, $5, $50, maybe $500 on a consumer goods at the cost of our manufacturing base.

The reason your typical Dell computer costs $400 is because they can ship part of the costs of support out to India. The same is true of big-box retailers like Walmart selling t-shirts and teapots cranked out in Chinese, Indian, and Indonesian factories for substantially less than local boutiques like American Apparel that sell US-made goods. Part of what you're paying for is branding, distribution chain inefficiency, fashion, etc. but it's important not to discount the labor cost--no matter how small--because that's all part of the race to the bottom.

If you don't like outsourced IT for any reason--"I don't like China's stance on Tibet" is as good a reason as "I find their accent makes resolving a problem over the telephone difficult"--then don't buy from companies that use it. You'll probably have to pay more for it, but nobody said having principles and sticking to them wouldn't require some sacrifices. Chances are good you'll find it's not as expensive as you think and a lot of times you'll end up with a better product/service because of it.

The masses have spoken: saving a few bucks is worth it. If you don't like it--vote with your dollars and encourage your friends and family to do the same. Arguing for government regulation so that american workers don't' have to be competitive is ridiculous. Screaming nonsense like "India hasn't done a damned thing for the USA" is rediculous when you consider the role workers in developing nations play in producing the products that fuel every aspect of our lives.

Drugs-- $5.00 here, $0.10 thereDVD's-- $19.99 here, $2.49 there (and in reality about.50 at the local markets-- but $2.49 full copyrighted retail).Clothing-- $1 or less there--- $19.99 here.

There is *no* reason the clothes, drugs, movies, songs, etc. etc. should have that extreme of a price difference.In a normal capitalistic society, we would be allowed to buy the 10 cent pills there and import them here and resell them for 20 cents.

We have all this dvd regionalized shit, and protected trade zones, and other restrictions on free trade.

Our declining wages would not matter so much if we really were getting the benefits of free trade.

But the wealth here is literally being pumped out of the country- and the jobs too.

There is *no* reason the clothes, drugs, movies, songs, etc. etc. should have that extreme of a price difference.

Just because you haven't been able to think of the reason doesn't mean there isn't one.

To take the example of a DVD, only considering America and India. A film has a fixed cost of say $100 million to recoup from DVD sales, and each individual DVD has a cost of say $0.20 to produce and sell. If the DVD seller only sold at $19.99 in both countries then sales in India would be negligible, meaning that sales in America will need to cover the entire cost of both making the film and pressing the DVDs.

If they sold DVDs at $2.50 everywhere then the margin would be insufficient to cover their costs.

What you are ignoring is that the by selling the DVD in India at $2.50 the company knows it wont cover all the overhead costs, but it will cover some of them. If Indian sales generate $5 million then it lowers the amount they need to charge in America to make a profit by $5 million. If films etc weren't sold at a lower price in countries with lower wages then they would have higher prices in the countries where they are sold in order to cover the lost revenue.

The problem is that they want to have their cake and eat it too. They want to source globally and produce wherever it's cheapest. They don't want us to source globally and buy wherever it's cheapest. They want your wages to be competitive with foreigners. They don't want their prices to compete with products sold abroad. It's not a two-way street.

The problem is that "free trade" should mean that the price in market A cannot be more than the price in market B plus costs for transportation to and sale in market A. Any person or company should be free to fly to india, buy 5000 copies of the latest DVD, fly back, and sell those DVD's for any price he or she likes. That *is* free trade.

Companies, especially if they sell a non-commodity (ie there is no competitor with the exact same product; compare bricks to dvds), love segmenting markets so they can maximize their profit. Offering student discounts is a prime example of this: students have less expandable income, so the optimal price for them (ie the intersection of supply and demand curves) is lower than for non-students [ignoring the 'hook 'em while they're young' argument]. Market segmentation is always good for the company selling goods, and can be bad for the consumer on the wrong end of the segmentation.

Free trade *should* limit the ability of companies to segment markets based on geography just as anti-discrimination practices *should* limit their ability to segment based on race, gender, religion etc, which are also good proxies of income (eg http://www.census.gov/Press-Release/www/releases/archives/income_wealth/005647.html [census.gov]; blacks earn (median) 30k, hispanics 34k, whites 49k and asians 58k). Just imagine having separate prices for black people and white people!

By granting companies the sole right to distribute something and enforce that right using the courts, international treaties, customs, and DRM, we are allowing them to operate as if free trade does not apply to them.

Although free trade has increased the average wealth in developed societies (wealth measured not just in money but also in what you can get for that money) it has also increased wealth inequality (the second effect being much stronger than the first).

As you pointed out, there is a huge difference in prices between the same goods in the original (developing) country and in any destination developed country. The difference is mostly captured by companies and then passed on to CxOs and large shareholders (small shareholders usually get a pittance on account of their share being a tiny percentage of the total).

Basically this is because of two effects:- Job competition with foreign based/born workers (outsourcing) means that companies can (and do) pressure local workers to keep salaries low.- Intellectual Property laws create artificial barriers which are only enforced in developed markets, thus resulting in high-spreads in the cost of medicines, video and audio media and trademarked goods (all which are very IP-heavy).

A lot of the problem is that large companies have a disproportionate amount of influence with politicians and thus get laws passed for their benefit which usually negatively affect people and small up-and-coming companies (anti-circumvention laws, over-broad IP laws and other barrier to entry laws).

It's thanks to this regulatory capture by the industry that the wealth produced by Free Trade has been channeled mostly to a small number of people.

Although some defend that what's needed is more Free Trade, it's my opinion that what the kind of trade we have now is not Free and that until the political system and the laws are fixed to remove the undue influence of special interest groups, rules have to be put in place to restrict trade: the truth is that, things being as they are now, just like the positive aspects of free trade went into the pockets of a few, the negative impact of restricting trade would hit the pockets of that same few.

Free Trade must be built on a basis of true freedom of trading, not in the tightly controlled channels of wealth as we have now - the trade off should be clear: either the benefits are free to flow to all or voters will turn against the opening of borders which is a requirement of Free Trade.

The fair price is 10 cents in both places.
Under real free trade, you couldn't prevent it.
Prices are not relative under real capitalism.

There is no such thing as a fair price. The sooner you accept this, the faster you will understand economics. It is an empirical "science", not a value judgement. In practice, however -- in the real world -- retail margins are around 100% in developed countries (broad generalization) but 10-20% in developing countries, as a result of the low rents and low wages paid to retail employees. With similar differences, but smaller amounts, at the wholesale level, one would expect retail prices on many things to be less than half of their developed country equivalent, just on this one factor.

So right now, I compete with someone who makes 1/10th of what I do-- in part because I'm subsidizing research on his health care and his movies and entertainment.
By your logic, billionaires should pay 2 million bucks for the same shirt that you and I buy for 20 bucks.
Cable TV should cost a billionaire 100k a month.

I don't know if anyone said that, but if he/she did you're both wrong. Prices are based on the idea of maximizing profits, which in cases like drugs and IP is equivalent to maximzing revenue. If there is little transfer between two markets, then this is achieved by charging the price where you would lose total revenue (sales * price) if the price went up or down even a little bit. Millionaires might pay more than the unemployed for, e.g. jewellery, just as you suggest. I suspect they pay less, not more, for cable TV due to an externality: the unemployed watch more TV.

But you're right that is in effect a subsidy, but it's not an explicit or deliberate one, as far as I can see. It's a logical result of maximizing revenue.

Prices are not relative-- it's only because of gross sellouts and artificially protected regions that such *extreme* price differences are maintained.

No, prices are dependent on the particular conditions of each market. That's all. They certainly are not "absolute truths" -- if that makes them "relative" then I'm comfortable with that term.

Within the U.S. competition brings down prices rapidly-- but between the U.S. and India, it doesn't.

It does, for consumers in both countries. Google "comparative advantage" for the how and why, if you really want to know.

When it comes to shipping out labor, everyone seems to miss the big picture.

What is the purpose of a nation? To benefit and protect the citizens therein (at least that's what is sold to the citizens). Everyone has to be a member of a nation whether they want to or not, and most nations only allow you to be a citizen of their nation and no other. So people are effectively trapped within one system. As of yet there is no such thing as a global citizen.

So a nation's goal is not to server the world, but to serve its citizens. If it can serve both the world and its citizens simultaneously, that is great. But if it has to choose between one or the other, then it must serve its citizens first.

Originally in the US corporations were limited entities that were only allowed to exist for public benefit and only for a limited duration until their objective was reached. But that changed over time, and now corporations are some of the most powerful entities in the US. Corporations in the US benefit from many things, including physical production, access to the US market, subsidies, government contracts, tax breaks, tariffs, and many other benefits from being registered as a US corporation.

One must remember that a nation and its government is there to serve the betterment of its citizens, and not corporations. If it benefits a corporation to outsource to another country, but not the citizens, why do it? The nation has no obligation to benefit the corporation unless it also benefits citizens. In fact that's why US corporations are given all the advantages they get - in the end it benefits the citizens.

But once the public is being injured by the current regulations governing international business, it's time to change the laws. Why benefit a tiny proportion of the US population consisting of high-level execs as well as foreign nationals at the expense of the vast majority of the US population through regulation?

If a company wants to be "global" and hire foreign workers at the expense of US citizens, I have no problem with that. But they must lose the benefits of a being a registered US corporation. They must truly go international, meaning no tax breaks, no subsidies, no being on the advantageous side of tariffs, etc..

Uh, except for all the coding and tech support they're doing for us. Yeah, this kind of crap hurts when you hear it from this class of a guy that may very well control your future employment options, to at least some degree. But, I'd say their coding has done plenty for the USA... just ask the managers who have outsourced there. You don't like that comment? Does it enrage you? Well, then that's an emotional reaction and I'd say it's misleading you.

Economies are prosperous when they're efficient. They're efficient when the most work gets done with the least amount of cost. If going to India makes tech more efficient, the USA as a whole prospers. Does this hurt our feelings as geeks? Yes... hell yes. But you know what? I think I'm a better value than an Indian employee, and I think I can prove it (and I think I am proving it, along with many other IT folks here). Every single country that has shut itself to trade has suffered.. every.. single.. one. Why should we be any different - we obey the laws of macro-economics in this country!:)

I find it a little too convenient when the/. libertarian audience gets all antsy for government protection with regards to outsourcing. Should individuals take care of themselves and should society have as much freedom as possible or not? Ultimately, in 20 years, I think we're going to have a partner in India that we will be very happy to have, particularly with the rise of China. We'll also have such a depreciated dollar, and the Indian talent will be relatively scarce, we will reach a parity, and all boats will rise.

_Nothing_ works when it's in the form of an Idea. Socialism as an Idea doesn't work. Libertarianism as an Idea doesn't work. I find the "we should privatize all the roads" Libertarians tiresome and insipid, but find myself agreeing more with general Libertarian principle than with Liberalism, Progressivism, Neoconism, etc... But people like to try to get themselves under an umbrella. "I'm Republican and a neocon, therefore anything Obama does I must hate, no matter how trivial or whether I would have cheered if Dubya had done the same thing".

The correct Libertarian approach isn't an idealistic one, but a societal "greedy" one. We shouldn't have 100% open trade because of some ideal. We should determine what policies will be in our best interests and will protect the rights of US citizens, everything else is secondary.

The cost of free trade will be playing out over the next few years, but was started years ago.

It is really about a race to the bottom via who will work for less, and who will work sweatshophours for ppl that run the companies that make idiotic decisions like they did during the DOT COM daze.

These new to the game ppl in India will also suffer once the US companies have canned all theUS workers who WERE the #1 customers of these US companies.

They will see what a tangled web has been woven, much like the tangledthreads of the international finance thieves that sent trillions into oblivion.

Customers with no job tend to spend less, holy cow who would have thought !

The US was the largest economy in the world, but then it sold out most of it textilesand manufacturing jobs to 3rd world countries like India.

Companies in India do not follow our labor laws, but yet they are attached to US companiesas proxies and do work for customers within the US, so that is a loophole.

If India had to pay the same licenses, fees, taxes, ad naseum that US corps didthings would be a bit different.

With an unlevel playing field these talking heads can spout their rhetoric, but onceit all comes falling down due to 100's of trillions in derivatives tanking then hishigh and mighty attitude will have to descend down to the mere mortal's world.

If Americans are unemployable then why are they the ones paying the Indians to do the job?
The money is coming from somewhere, and to make others do the work for you takes some brains.
What this guy doesn't answer is why is it that when I have to review code coming from India it is full of bugs, short cuts, and shit that doesn't make a damn bit of sense even to the Indian staff that's stateside?

I have to review code coming from India it is full of bugs, short cuts, and shit that doesn't make a damn bit of sense

Amen. I won't say that all the programmers in India suck, because that would be an inaccurate stereotype. However, I will say that The worst code I have ever seen from American programmers I have worked with was better than the best code that came back from Indian outsourced groups. I suspect that all the GOOD INDIAN PROGRAMMERS CAME TO AMERICA TO MAKE BETTER MONEY.

Why would you hire the leftovers? Really, you think that you can just get better quality by spending less? Really?

Why would you hire the leftovers? Really, you think that you can just get better quality by spending less? Really?

Here's the deal: Manager X tells their boss that they can save the company millions of dollars by sacking US IT staff and sending the work to India.

When the software comes back from the Indian sweat-shop it's a steaming pile of sacred cow shit, but by that time Manager X has got big brownie points, a big bonus and a promotion and doesn't have to deal with it. Now the problem is dumped in the hands of Manager Y and the few US IT staff who are still left at the company.

This is just another example of the perverse incentives in Western business which gave us delights such as the credit crash, where bankers could make multi-million dollar bonuses by lending billions to people who never had any chance of paying the money back... of course they wouldn't have to repay their bonuses when the loans went bad, and the government would bail out the banks anyway.

The tragedy doesn't end there. Manager Y gets a lot of heat to get the (allegedly finished) product out the door. His few remaining IT staff (who are usually the cheapest, not the best, of the original staff since they should only have to make a few "adaptions") try to puzzle together what the outsourced programmers created (or rather, they try to find out what the hell the code is doing and compare it to what it should do. Usually it doesn't really match), and the product gets postponed because the IT people have to rewrite some portions. The more different outsourced groups worked on the product, the more has to be rewritten, interfaces for the defined interfaces have to be created (because 'definition' seems to be a very variable thing in outsourceland. I guess it's translated to something akin to 'guideline' or 'noncommittal recommendation').

In short, they work their collective asses off to pretty much reimplement the tool. In the end, they will have created the software anew and dump the sacred cow doo.

Manager Y gets fired because he way overspent (after all, he only got about 10% of the budget he needed to reimplement the software, but that wasn't planned), the programmers get yelled at for saving the project (which surely boosts their motivation... their motivation to check for other jobs, at least) and Manager X gets to hire a new Manager Y and IT team, which will, in turn, face the same fate.

This post and its associated rating (currently 50% Troll) is a prime example of how/.'s moderators have really gone downhill. The text of the post is both relevant and spot-on, rather more insightful than otherwise, and in no way is it seeking to get a rise out of the readership by misleading obstinacy. Sure, it's cynical as hell, but then again, the current situation in the US would seem to warrant precisely such an attitude.

It seems the mods need more education about what "Troll" really means -- for starters, "Troll" != "Disagree", and "Troll" != "Do not like".

Methinks this kind of modding behaviour is the/. equivalent of griefers. Meh.

That money came from banks who threw as much as you wanted at you provided you put up your house as collateral.

How it works now, where the real estate bubble popped and banks cling to money like it's worth anything anymore is beyond me, though.

But... maybe just because banks stopped handing out money like crazy, people can't spend anymore, got no job or got laid off, and the economy is in the gutter? I don't want to say that spending money you don't have is any good, nor do I say that banks should hand any bum money for nothing (and, face it, giving you money for a house that's already drowned in mortgage is 'for nothing'). But what some people don't understand is that the economy can only thrive if people have money to spend. To have money to spend, people need jobs. To make "everyone" have a job you effing have to stop shipping in more people. It should be a no brainer.

One of the core reasons for the economy downturn is simply that companies tried to manufacture in China and India and sell in the US and Europe. That doesn't work. You give a little money to Chinese and Indian people who can basically survive (but not buy your fancy high tech, 'luxury' crap) and pay nothing to US and European people who should in turn buy it. Buy it with what money? People need jobs to earn money, to have money that they can spend. It is as simple as that.

I know there is going to be a lot of flak directed at HCL.But unfortunately HCL is not the only monkey around.I live in India, and have a lot of friends working in such companies (Infosys, Wipro, HCL, TCS etc., etc.,)These service companies have lot of PR support due to feeding poor kids meals blah blah (you get the philantrophy angle, right?)

However beneath the facade lurks pure evil.Firstly these are service companies. they bill clients by the hour. Which then brings us to their processes and employees.Innovation and smart working is discouraged, and the training given is "how to bill maximum hours" and "how to fool the client into believing you are working".

So these drones are taught how not to work smartly, how not to do more with less time. you get tonnes of reports tones of meaningless slides to fool the clients, who are anyways willing to get fooled.

But kid yourself not, same is the case with US based service companies also, but with service companies a smaller percentage in US(except in Law area), things don't seem obvious.But Indian IT has become a service economy with drones. Drones who are dumb "copy paste" coders.I am in a product company, and often we get software engineers with 10 years of "coding" experience who do not know how to use regular expressions. Infact in their job, they would do a manual search and replace, because they can bill more hours to client.

Such practices actually make hiring intelligent engineers bad, They want drones.Till few years back, when product companies were unheard of in India, many people migrated off-shore. Nowadays the drain has stemmed, but with lots of money coming in, even good engineers are flocking to this circus, and the whole place is a mess.

Now why do Amercian comanies like to get screwed? Well the managers there can justify their paychecks more readily if tonnes of drone like reports and jargon filled meaningless data is thrown around in board meetings.

your PHBs love these drones. They work for 14 hours a day at half the cost. OTOH, an intelligent enginner will work for 4 hours finish the work, and charge double. How will they boast that they have a cheap engineer working for 14 hours a day?

Now Microsoft loves these companies very much. Because they promote windows, and in their advertisements, boast about better performance and all that BS. The public here trusts these guys. Wow CEO used to clean his own toilet. Woweee!

They go to these fund raisers, do hoop haa about poor kids, give a few hundred dollars to a charity, and they are the ambassadors of good will.

The dark side is brushed under the carpet.Whats not told is that number of hours each employee spends at his/her desk is counted. Every time you go in your wing, your clock starts ticking.Every time you go out, clock stops.

Companies like Accenture India division make employees sign on bonds that they are willing to work 12 hours a day. Its all a circus, and the American PHBs love their circus animals.Who suffers. Grads in the US, and engineers like us who have so limited options in India. Moreover our reputation suffers. We are clubbed "Indian engineers are not intelligent".

On the plus side product companies are growing, but on the downside most of these have these drones who cannot unlearn what the service industry taught them?Ever wonder why India does not have companies like Intel, Lenovo, Huawai emerging, but only subsidiaries and service drones?Well I just gave you your answer.

One of the most practical courses I took was one where we did team programming projects, and had to work on a spec. That was as close to real life programming as I ever got...

I don't think it should be a focus but a basic understanding of some process (any process as new processes are derived from elements of old ones) would go a long way to new grads fitting into IT work (which is where most people doing computer stuff in college end up).

if you are poor, you tend to be more highly motivated than when you are rich (and yes, middle class, or even lower middle class american counts as rich in this world)

#2:if you are poor, you can be paid a lot less to do the same job than someone less motivated and in a better socioeconomic position

do you know what #1 and #2 are? facts. now mod me troll and flamebait, but you know i speak the truth. deal with it (or more likely, suppress my words and go on whining)

computer programming is a rather interesting skill in the internet age: if you have a terminal, and a keyboard, all that matters is the quality of the mind behind those two things. doesn't matter where you are, doesn't matter your age, doesn't matter your education level. here on slashdot, we are all familiar with the internet as a universal leveller when it comes to things like music distribution or political dissent. well guess what: it applies to computer programming as a career choice as well

that fact is not nice if you are rich westerner, but it is still a fact nonetheless: you have a hell of a lot of highly motivated, much cheaper competition out there. deal with it, or whine. but i don't see what the whining is supposed to get you except self-righteous victimization. it certainly won't get rid of the competition or get you higher pay

life is not always kind folks. just fucking deal with it already and stop the pathetic whining

On one level, that may be true. There are a lot of people who think that College is supposed to be the same as a tech school. They go to college expecting to be trained for a specific career. Some colleges have begun to oblige and are acting like the trade schools that some students (and parents) expect them to be.

If you've only been trained in retreading tires, you don't know how to mount a new tire on the rim and balance it. When the CS requirements of some schools consist of "MS Office" in three different sections, how in the fuck do they expect their grads to know anything?

Now, on the other hand there are plents of schools who are giving real and complete tech educations. These people are constantly getting screwed by employers who give up after interviewing a few of the other kind of student.

Lastly you have the tech executives who want nothing more than to lower costs. They want the cheapest labor, and nothing else. They are pushing to raise the H1B caps. They are pushing for outsourcing. It has nothing to do with the quality of US grads. It has EVERYTHING to do with the fact that they want to pay people less money. If I spend 6 years in college and have a Master's degree, you can kiss my ass with your $35k offer. The guys right off the boat from Bombay will be willing to take that sort of job. They don't have $50-200k in student loans to pay back. It's basic economics. What this glut is doing is providing a greater supply of labor in order to drive down prices.

If you're the only plumber in your town, you can charge pretty much whatever you want. No one else has the skills, knowledge or tools to do that work. What happens if overnight four more plumbers come to town? Instead of being able to charge $75 per hour, you may have to cut back to $50. What happens if ten more plumbers come to town? You'll suddenly find yourself working for minimum wage. That's what certain executive-types are trying to do to technology.

Perhaps Mr. Nayar should stop beating around the bush and just state the reasons why he thinks Americans are unemployable:Americans enjoy running water.Americans don't want to live in a small mud hut with their whole extended family.Americans don't want to work 80 hours a week on slave wages with no overtime.Americans have a higher cost of living in regards to just about everything.Americans usually need cars to function in American society.Americans want to have 72"+ LED backlit LCD TVs.Managers don't get bonuses for hiring Americans.

I personally think that every job should have a wage that a person can live off of, "unskilled" or "skilled". If you want to see something funny, hand a CEO a floor buffer and watch him fumble about with it.

I wonder what he earnt this year? I would say that a rich overpaid CEO complaining that people won't accept a sub-standard wage are the epitome of hypocrisy and greed. I'm surprised he's not whining that good slaves are hard to find.

I'm currently working at a major US tech company and litterly every program I have inherited from some out sourcing group is utter crap. I'm talking about EVERY variable is a global variable, one source file for a 5000 line program, no makefile just a line at the top which says compile with gcc blah blah blah, and the list goes on. The reason for out sourcing is not skill its cost. Why pay an American programmer who knows what hes doing when you can out source it and get a program which barely works and when bugs arise blame something/someone else.

In the long run these companies are going to learn the hard way that paying an out sourced developer who has a 3 month class in C will get you nowhere near a developer with a CS degree in terms of quality, functionality, and efficiency.

I'm currently working at a major US tech company, and have worked at 2 other major US tech companies prior to this, and in every case except one, the source code I have inherited from some in-house coder is utter crap. Magically, every one of these in-house coders has an "Western" name, one was Canadian, the rest American. I'm talking about single source files for thousands of lines of code, 10+ classes (many unrelated to each other), functions written by copy-pasting the internal code of other deprecated methods, so that even if the deprecated methods are removed, the code lives on disguised under a different name. These guys couldn't even just call the deprecated methods, they had to copy-paste the internal implementation so that the ugliness of their work wouldn't be easily apparent. I've inherited code where the nuts and bolts were wrong, e.g. wrong numerical integration routines, incorrect convergence on non-linear curve fits, etc. were just wrong, but it would have been painstaking and laborious to figure that out and verify the results, so of course, those in-house coders just skipped that part. In another company, these in-house coders developed, over 2 years, a solution to synchronize databases, which required data transfer to the tune of 16x the total size (in bytes) of the database - involving a lot of unnecessary XML conversions, and it too had a lot of copy-pasted code. So strangely, some of what the HCL CEO has said is true, as much as I hate to admit it.

For some companies, the reason for outsourcing is that in the end, GOOD coders are rare, and BAD coders are plenty. That's true in the US as it is overseas. Why pay top dollar for bad code in the US when you can get similarly bad code by outsourcing for much cheaper? Many US companies offer fairly competitive starting salaries, at least twice as much as the 35k or 40k reported here for other software houses, often more, if they can find those GOOD coders here locally. It is simply that GOOD coders are in fact rare, and many companies recognize that. So I can see why they might as well just outsource since the quality isn't going to be much better by recruiting an army of (expensive) BAD coders locally.

The biz lobbyists first claimed that not enough US citizens were going into the field. Now it's that we are "too lazy for the details", not quantity? Which is it? Outsourcing and H1B's were never sold as a way to replace "C" Americans with "A" 3rd-worlders. Did they lie to Congress and voters?

Supposedly, the Indians coming to the States are the smartest. I find them to be no better than American educated and trained workers. IIT is not a breeding ground for great talent, rather superior attitudes. No different than the Ivy League in the United States. I have worked with plenty of Indian talent in Silicon Valley, and managed many as well. It depends on the person; where you go to school, or if you go to school, is irrelevant.

The Chinese and Europeans are the folks I move to the top of the interview list.

Don't be an idiot, there was nothing racist in the original statement. The poster was merely talking about his/her experience with the average quality of coders from different countries. In my experience there is also a difference, this is not because of skin colour, but because of a combination of the local culture and/or the quality of the education.

I also happen to agree with the sentiments of the GP. Personally I find the top coders that I deal with are from Europe (especially Eastern Europe), China, South Africa and Australia. Bottom of the pile is the Indian subcontinent (India, Pakistan, Bangladesh) - technically they are fine but culturally there seems to be an aversion to thinking for themselves although I suspect that's the fault of the management culture there and the legacy of the caste system. The next to bottom I find to be American programmers - they tend to be pretty low on the technical scale (my suspicion being that the US education system is not very good) and are terrified of doing anything on their own initiative or anything slightly innovative (which manifests itself as apparent laziness as the common response seems to be to avoid any communication on the subject - not returning e-mails or calls). I have come to the conclusion this is due to a) fear of being sacked due to not having employment rights, b) fear of being sued as the culture is so litigious, c) fear of stepping on someone's patent, causing their employer to have to fork out money and leading back to point (a).

Of course this is anecdotal and only represents what I personally have experienced.

Don't be an idiot, the original post was absolutely 100% racist. Let's read it carefully:

"The Chinese and Europeans are the folks I move to the top of the interview list."

He clearly has stated that he shows preference to people of a specific ethnicity over others. That's textbook racism. It's not crosses burning on your lawn or racial slurs racism, but it is racism.

What the original poster has done has clearly described that they do not judge each Indian or American applicant on their own merits, and gives preference to Chinese and Europeans by "moving them to the top of the interview list." It may turn out that he hires more Europeans and Chinese over Americans and Indians, but their country of origin should have no bearing on his choice of qualified employees. Only their work experience and the answers they have to questions pertaining to the job should be relevant in an interview.

Besides, if he overlooks that one star programmer from India or the US just because of his prejudice, then he's doing a disservice both to the himself as well as the prospect.

We may be a litigious society that's lost a lot of it's motivation for working hard, but I'm an American myself and if you had treated me that way and you had interviewed me for a US position, I would show you just how hard working and litigious I personally could be. Thank goodness such treatment is against the law in the US.

I myself have worked for large outfits and many in my family work for large outfits. My experience and that of my loved ones is that working with Indian companies is a guarantee for disaster. Recently my sister witnessed a $50 million project being trashed. The problem is that Indian IT companies usually limit themselves to implementing exactly what you specify. Or, if you ask for an analysis, they let a bloated system emerge. Unless you work for a CMMI level 4 company this attitude is next to useless.
People that master "tech process and methodology" wind up being slaves to "quality". Quality as in "meticulously following the procedures." As more than 90% of businesses don't really have quality in place -or at best, have some quality shroud- this means that de facto they are slaves to the next management level. Very convenient once you are the manager.
The problem is that higher management and share holders don't understand that this is common practice. They only see that Indians cost 10 times less than European/US people. If you need 20 times more people to do the work, cost double. The bureaucracy of 20 times more people cripples your organization.
Man, I've seen a team of 10-15 people writing 'make' files for package generation. And particularly crappy 'make' files at that. Had to wait hours to have them running a 'make pkg' command and returning me the generated package. For Christ's sake! This is something you think about and implement on a rainy afternoon and which takes 1 minute to run each time afterwards.

Until a couple of years ago, I worked for a major US IT firm, in Storage, and went to Bangalore to train new 2nd-level support guys on our mid-range products. The guys themselves were generally OK, since they weren't new to the industry, though there were some odd gaps in basic storage knowledge, such as SCSI protocols. Not something you'd expect to find in a person who'd allegedly done 2nd level support at another company, one that specialized in storage!

In general, though, I wasn't training new graduates from the likes of IIIT-B, but I met a few and had discussions with their managers. What I learned was that these young people were under immense pressure to succeed in IT, with the hopes and expectations of whole extended families riding on their backs. IT is the ticket out of the slums, and families make enormous sacrifices to get their kids in to the industry in the first place. In college, I was told, there's also massive pressure to score high marks, and the process is more biased towards rote learning and cramming for exams. Not totally, of course - that would be impossible - but the point is that, like the Indian education system in general, it's tighter and more authoritarian in terms of curriculum, and the schools themselves were under govt. pressure to deliver high numbers of graduates.

I hate to say this, but I met a few "graduates" who were simply not "graduate material", in terms of basic intelligence, curiosity, enthusiasm, or ability to absorb new concepts. Other graduates I met have great careers ahead of them, but I came away with the impression that "graduate" over there is a bit (again, not totally!) like "MCSE" in other countries: a statement of the exams you have passed, not a wider measure of your ability to function in a complex, ever-changing IT world. The problem with "cramming" is that while it might get you through an exam, the knowledge is not integrated and retained as well as it should be. I'm seeing this myself, now that I'm getting to go to university as a mature student (Engineering), where some subjects would IMHO be better assessed by e.g. thesis, not exam.

If an American called Indians unemployable, that American would labeled a bigot. But Indians say that sort of thing about Americans all the time. According to India, and a lot of US companies: all the smart people in the world come from countries where people earn as little as $1 a day.

If anybody in the US suggests that visa limits not be raised, India screams and cries about US racism and xenophobia. But, what percentage of Americans work for WiPro? My understanding is that India is not all accepting of immigrants from Bangladesh. And how can India's caste system not be consider one of the earth's most extreme form of bigotry? I might add, the US has a well earned reputation of being lavishly generous in matters of immigration.

India constantly warns the US about the horrors of a "brain drain" that would becaused by the US not allowing unlimited guest workers from India. But why isIndia not worried about the Indian "brain drain" caused by the "best andbrightest" leaving India. We might also want to give some thought to the US"brain drain" that is being caused by the US "best and brightest" avoiding STEMjobs, because the job prospects for Americans is so dismal.

Azim Premji, who owns 79% of WiPro, recently wrote an article that warned that "US protectionism will be counter-productive"

"If we get into protectionism, then the West is going to get a wave of protectionism in response, and that is going to turn back the clock 20 years," Premji told The Sunday Times.

"And it will be America and Europe that suffer," he said because they will be excluded from the only growth markets left, in Asia, Africa and China. You are not going to grow at 10 per cent trading in London, are you," he asked.

Ever hear the expression: "what is good for the goose, is good for the gander?"

India is one of the most protectionist nations on earth, and they have been fora long time. If India wants to consider guest workers part of trade agreements,then when does India make good for the three million Indians already living inthe USA? Or does India consider "protectionism" a one-way thing?

We must be thinking about two separate versions of 'the US' because the one I know today consists of 99.9% people with migration background.

Personally, I think the man is right. In light of what Indians are willing to do for less money, of course Americans are unemployable. Vice versa you could also say that Americans are just not willing to be enslaved the way Indians are. So his whole statement becomes rather relative, doesn't it?

The Problem is that we keep being willing to receive our support from Indian

So far in the last 12 months I've had three side projects that projects that were outsourced but for whatever reason such a mess was made of them that the clients have brought them to us to fix at a higher than normal rate.

My employer's now collaborating with an "reverse" outsourcing mob who've set themselves up to help people bring their failing outsourced projects back and are getting a fair bit of work through it.

To be honest, the quality of code I'm seeing is easily the worst I've ever seen and that includes half-assed open source projects. Whether that's because it's just "sweatshop code" as one client put it or they are attempting to write super advanced AI code generators and using them to generate the code...and failing miserably, I don't know. But it's terrible. From the complete lack of imagination and forward thinking in design, right down to the god awful highly inconsistently cased variable names.

Remember this is *three* different projects from three different Indian companies theoretically written by three different sets of programmers. The code all looks and feels the same, which leads me to believe there's something going on industry wide over there. What that is I have no idea but they need to fix it quick smart as the industry as a whole is getting a bit of a reputation.

What I do know is people are willing to pay much more once they've tried outsourcing and failed.

Those that don't go out of business in the mean time that is.

(Yes I'm sure there's some top quality code coming out of India, I doubt most of it is written by the sorts of companies in this articlee).

I'm living in the Philippines, I can answer the crappy code part. While many might like to think of us as being a 'third world' kind of country, we are more of a follower of first world trends in disguise, we do it by building cheap look-a-likes and selling at a price our market can accommodate. We don't really fit the glove of this whole "X World" thing.

That said, Why: It's simple. We are what we are because our ethos is "Near enough really is absolutely good enough, anything better is a waste of money, effort, and time". An analogy: You want a straight and level sidewalk? Damn, that's going to cost you extra. And you want it free of obstructions like telegraph poles, open drains, plus all the little lines that we refuse to step on? You want wheelchair access too? And you want it to actually be 'finished'? Well, for that kind of crazy desire, your price has now reached exactly the same as what you would pay in first world USA or anywhere else in the world for the same quality stretch of sidewalk.

Americans want stuff done on the cheap. Guess what - you actually do get what you pay for! (I know, who'd have though!)

Uhm, the guys who invented the transistor, and setup a bunch of well-known semiconductor companies, the traitorous eight [wikipedia.org], how many were born outside the USA? Of the rest, how many were born to immigrants to the USA?

(The answers: "at least 3" for the first, and "at least 1" for the second).

It's hilarious that a nation whose success was built on waves of immigration can spawn people so ignorant of the contributions of immigrants. The rest of the 1st world doesn't mind though - we'll be glad to take the USAs spot as patron of the world's best & brightest - please do stop your H1-B programme.

The last code delivered by Infosys was functional... but had to be ripped back out of production.

The next bit of code didn't follow any of our published standards. It took several days to fix the obvious problems, then it got booted out of testing for a week's corrections.

They used to be a lot better back in 2003.

The biggest problem right now is that they won't say "no" to management about anything. Insanely crazy schedules-- "Sure, we can meet that". Grossly abbreviated testing... "Okay- we can mitigate that risk".

I think most of the super sharp guys are now management there. The actual coders are now getting down to low experience yes men/women who are not as clever and rush things without following standards.

Doesn't matter-- you just can't get around the fact that they currently make 1/10th of what we do and bill out at 1/3 of what we do.

Doesn't matter-- you just can't get around the fact that they currently make 1/10th of what we do and bill out at 1/3 of what we do.

This is part of the problem with the kind of short term "thinking" that a lot of the MBAs who decide to outsource a lot of this stuff engage in. They don't realize and/or don't care that paying 1/3 of what it would cost to write it here is actually more expensive in both "money cost" and missed opportunity (which is often the *really* big price that causes a lot of companies to go under) when you have to do it several times over before you get something close to usable.

Instead, they tend to see things more like this: "I cut our expenses by x%. I want a bonus. Now let me find another place to work before this decision catches up with me."

Perhaps someone like Gartner needs to write a TCO report on outsourced code... only then would the MBAs take notice.

Seriously though, it really sounds like a study of the TCO of MBAs is more in order -- how many outsourcing snafus, and how much of the current financial woes in the US, are due to MBAs with precisely the mentality noted by the GP:

"I cut our expenses by x%. I want a bonus. Now let me find another place to work before this decision catches up with me."

Amount of money earned by a married U.S. Army sergeant with children per day in Iraq in 2007: $170

Amount of money earned by a Blackwater military contractor per day: $600

"We support our troops," indeed. How bitter. I have good friends in the military, and these Blackwater goons are effectively stealing wages from them. Meh. Another example [washingtonpost.com]:

Army Gen. David H. Petraeus, the top U.S. commander in Baghdad overseeing more than 160,000 U.S. troops, makes roughly $180,000 a year, or about $493 a day. That comes out to less than half the fee charged by Blackwater for its senior manager of a 34-man security team.

By any strict economic definition, there is another word for "profit" -- "inefficiency". Ethically speaking, one might even stretch things a bit and call it "theft". Making a living is one thing, but fleecing your customers simply because you can is a crime in all but name.

This will never work. Just like businesses, most people care about their bottom line. Any Midwestern autoworker would sign under your post, and yet look at their spending habits outside of buying (heavily discounted) American cars. I bet they don't think twice about buying the cheapest jeans or kitchenware made in china while shopping at some mega retailer.

What that CEO actually means is that American employees aren't willing to
1. Put in 4-6 extra hours every day
2. Lower coding standards (use 's' as variable names, enormous methods, no refactoring, cutting corners)
3. Be mindless enough to follow a team lead's decisions without proactive thinking or questioning.
Which is why they'd never fit in at HCL.

My experience with the majority (and yes there are exceptions) of Indian IT workers is that they have little or no creativity or the ability/willingness to question obviously bad design. Yes they get the work done but at what overall cost to the business.For example, the IT of an Airline was outsourced to an Indian company. We had to get a firewall rule added so that passenger details could be sent to Homeland Security. It took over 3 months for their supposedly expert network managers to get the rule added even though they had been supplied with detailed instructions on how to do it.When asked why it had taken so long, the answer given was 'We have no one here who has done that sort of configuration before'. This was coming from a company that boasted how many Cisco certified people they had.

On the other hand, there are exceptions and most of those (IMHO) are people who have been trained outside India and have thus broken the mould so to speak. Many of these can think creatively and add real value to projects. Ironically, these Indians have a very low opinion of companies such as HCL etc to properly run western IT departments.

I'm posting as an AC as I'm currently working in an IT Dept that is about to be outsourced to and Indian Company. I'd like to keep my job as long as possible.

I don't know where you're working. Such poor work habits have only been the case in one environment I've ever seen, out of many my own job history and the many partners I've worked with, where the manager had frightened and alienated all the staff and they were all job hunting. (All 5 of those engineers resigned within one week of each other: it was frightening to see as a corporate partner, but I gave 2 of them recommendations because they were _good_ at dealing with that mess beyond what I would have tolerated.) One of the reasons those engineers balked was because not only was the product "not perfect" it was demonstrably broken due to the excess "features" added by the manager that were not part of the core requirements, and it simply would not work.

American workers are more willing to question authority. It drives authority nuts, and I've had it happen with international scenarios, where I struggled to be allowed to speak directly with the actual engineers so we could resolve the confusion about the most effective approach. We also loathe the telephone tag of sending our question to a call center or a manager, who rewrite and re-interpret it, then having them talk to a technician, who re-interprets it, and eventually gets to an engineer who wonders why we want to gogo-fratz with the banana puddijng, but does their best to send back an answer. We Americans try to sneak past those layers of management and bureaucracy to find the person who actually knows, and trade notes. (I do, anyway, and try to send them my patches.)

Then you're doing something wrong. I'm sorry for this, but I can't stand people who blame job markets for being unemployed. There's *always* work, so long as you know where to look.

If you have a CMU degree, developing software at home *casually* for 20 years is hardly an endorsement. I could say that same thing and I'm only 30. Being unemployed for 6 out of 7 years is also very, very bad. I'd think twice about even touching you for *any* job if I found that out. Hell, working in MacD's would have looked better - I've recommended IT staff for employment even though they've been working at supermarkets, etc. lately because I *know* it's a tough market and they need to take what they can get. It also makes me wonder what the hell you *have* been doing for those years, if you weren't working. Maybe you travelled, maybe you lived off your savings, maybe you started your own business, maybe you did other things, but hell - 6 entire years of unemployment is a bad place to start from. You think you're going to land an MS job with that on your record (not that I've ever seen the big deal with MS jobs, to be honest)?

And I've found jobs online and offline - the best ones are normally online but I've landed some lovely places offline too, usually by word-of-mouth (90% of my clients over the last nine years have been by word-of-mouth). And I don't mean "keyboard shuffler" jobs. I make a good living providing IT management to schools (state and private, primary, secondary, college, already supported for IT or not) in London - hardly an "easy" job to land, especially for a kid straight out of university, especially for one with *NO* work experience when they started, especially for nine years of full employment in a row (seven self-employed but often working for only a handful of clients on a regular basis) and *especially* when I was actually hired to work on critical IT systems in preference to the existing, "free", borough services provided to those schools & colleges. It's a matter of persistence and having something to show. Getting an interview and getting a job are vastly different things - the interview is HARD to get, the job shouldn't be if you've got to interview.

Something about your post suggests to me that you have FAR too high an expectation based on the fact that you have a skill that you have rarely demonstrated in a work environment, but mostly "at home" on toy projects. I can program in C, Z80 and x86 assembly. I can manage SQL databases. I've made my own toy operating systems. I can build and manage networks. None of that matters, even though I use it as part of my job. I'd love to have a job doing certain parts of that, but it's just not possible to fill my hours with the tasks I enjoy the most. I have dozens of those sorts of qualifications, projects, etc. too, they appear on my CV, but equally I have a full history of employment in a relevant sector. Recession? Stop blaming external factors for your expectations. England is in one of it's worst ever "recessions"... at the height of it, I left one job to seek out another because I wasn't enjoying it. I have a house with substantial mortgage, a wife who earns her share and (at the time) a newborn child. I competed for the new role against 50-year experienced IT managers, in a London borough, and walked into the job - not because I was cheap, not because I was perceived as being easily led, but because my history spoke for itself even though my employers understood 0.1% of what was on my CV.

I don't think "no one wanted to hire"... I think "no one wanted to hire YOU". I'd probably bin your CV if you have a six year unexplained gap in it and your biggest project was an MMORPG (I'm sorry, but it's a game... unless I'm a game developer, I *will* just ignore that project as nothing more than a hobby). I'd be worried that you can't find a job online (I view submissions from skilled IT people who submit on paper with suspicion if they could have filed online) - that's where the *best* IT jobs are... they are shor

Erm... 1.25 years of unemployment on a CV (and I don't know the rules but in most places you ARE allowed to do volunteer work and sometimes a small amount of actual work and still claim). Followed by the following thoughts in a potential employer's head:

"He was on benefits for over a year.""He didn't do anything else in that time.""If I employ him, there's nothing to stop him leaving in 3/6/9 months, whatever the cut-off point is, and then going back on full benefits for another year.""Maybe he's using me to 'refresh' his benefits.""I'm not going to get the best work out of him, and he's been idle for at least a year, and then he'll probably leave or get himself sacked.""Why should I employ him?"

Unless you can answer that last question, there's nothing in it for an employer. It's harsh, yes, but true. Especially true as you get older... if you're going to employ a 40-year-old over a 30-year-old, they better have 10 years of experience to draw on! If they can't show that, you might as well employ the 30-year-old (who will want less money) and train him.

I've worked with some of the largest offshore vendors, and I would say about 60-70% of the software developers/do/ fall into your generalization above. Another 20% are as good as anyone else I've worked with, and about 10% are above-average.

I recall reading somewhere that in a basic programming concepts class, during the time when everyone was hopping on the comp sci bandwagon for easy money, there will be about half the people who come out of it simply unable to grasp such simple concepts as control structures and variables in any meaningful way -- no matter how good the instruction. The problem as I've come to see it is in India, your actual aptitude for programming isn't really relevant to whether you get into the training. I don't know why this is, because in theory this is tested for ahead of time.

The difference I see is that in the US, most people without such aptitude will change their majors. In India, it's no deterrent -- this is often the only way out of abject poverty and so they will understandably fight tooth and nail to complete their training and enter the workforce. This in turn heavily weights the available pool of developers in the direction of "incompetent".

It's not that the people of India are as a whole any less likely to have the ability to succeed in computer-related careers than anywhere else in the world population -- but desperation drives a disproportionately large percentage of unqualified people into this career path.