I know I'll be downvoted for this, but the truth is, if these companies would offshore the jobs to Philippines or India, it easily becomes a $30K-50K/year solution. $50K is more than enough to attract senior devs who will run circles around their American counterparts.
These companies are so unsure of their ability to judge the output of their workers that they're requiring their people to relocate to Austin. What makes you think they'd be able to find a great person and manage them effectively on the other side of the planet?
"the truth is, if these companies would offshore the jobs to Philippines or India, it easily becomes a $30K-50K/year solution" - If this was a solution believe me the market would figure it out and reflect that. In fact if it was true, there wouldn't be any engineering jobs available in the US in that it would be uncompetitive to have engineers in the US. Outsourcing has its places but it is not a magical solution where costs are dramatically cheaper - in many cases companies are figuring out the hard way that it is dramatically more expensive.
"If this was a solution believe me the market would figure it out and reflect that. In fact if it was true, there wouldn't be any engineering jobs available in the US in that it would be uncompetitive to have engineers in the US."
Isn't this what's already happening right now? The US is still competitive only because of the Capitalist structure that is already in place. Obama and other Occupy(tm) Socialists are destroying that, and soon you won't have any jobs left.
p.s.: Most of us from the 3rd world would like the US to keep its superpower status, to balance the threat of China. :)
Obama and OWS (which I wouldn't lump together) are a red herring to this discussion.
Unless the laws have changed dramatically in the last few years, there was never any barriers in place contracting labor outside the US assuming you paid them as contractors. If anything, US labor laws favor outsourcing over insourcing "native" contractors due to tax laws surrounding 1099 Technology workers that were put in place in the early 90s.
So really, despite the fact that scales are tipped in favor of foreign contracted labor (cheaper rate, less tax and legal considerations) businesses STILL prefer to hire local labor. To me, that's very telling -- it has a lot to do with the fact that much of the foreign talent, like the US talent, is already gainfully employed and tough to access.
Please, tell me, what senior engineers in the Phillipines or India have 15+ years of software development experience. They don't exist, because the software industry has only been there for the last 5-10 years.
So please, take this "our senior developers (with only 2-3 years of real experience) are just as good as your top US developers" idea and stick it where the sun don't shine. There is a huge benefit to hiring people that have been eating, sleeping, and breathing code since age 10. Our 15 year senior developers might only be 25 years old, but they can code circles around any of your 2-3 year experience engineers.
"Please, tell me, what senior engineers in the Phillipines or India have 15+ years of software development experience."
I do. Started working as a software dev in 1994. Moved to Bangalore to take up another sw dev position at CyberCash India (an offshore office of a Virginia based ecommerce product company http://en.wikipedia.org/wiki/CyberCash,_Inc . ) in 1998. C on VAX Unix. Those were the days. Lived and worked in the US for a while before returning to India (and have no plans of going back to the USA :) ).
" They don't exist, because the software industry has only been there for the last 5-10 years."
You have no idea what you are talking about. Infosys was founded in 1981, for example.
I never worked for Infosys or any of the large outsourced services dev companies, but the idea that there are no developers in India with 15+ years experience is rubbish. (Not getting into whether 'number of years of experience' is a valid metric for judging sw talent).
And as for "living and breathing code", I started programming when I was 10 years old, on a Sinclair ZX Spectrum in the Eighties, writing games in ZX-80 assembler. We even had a club for Spectrum devs - in a small town in South India, in the eighties. I have many classmates who still code every day (though they have fancy titles like "Senior Architect" these days).
Did most of my generation of coders move into management? Sure they did. Are the good developers swamped by tonnes of clueless people flocking to the "hot career"? Sure they are. But none of that is specific to India.
If you have to deal with dumb Indians off a boat who can't speak English but seem to take your jobs, I sympathize. There are a lot of dumb Indian devs. But I've also had to deal with a lot of dumb American devs who think they are automatically superior to all Indian devs "just because". Plenty of those too.
(all this is just to counter your idea that people with 15 years of experience writing code don't exist here and "the software industry has only been there for the last 5-10 years" (roll eyes). Please educate yourself before making such emphatic (and false!) statements.
I stand somewhat corrected, but you must admit you are in a very small minority in your home country, and your salary probably reflects that.
What I've noticed from working first-hand with outsourcing companies is that they promise degrees and accreditations that don't exist. They promise the developers working on your project will have 5-10 years experience, but for the most part you will get developers with 2-3. They promise masters level CompSci but you are lucky to get associates or trade school level. They promise systems and network engineers with MCSE or RHCE or CCIE but you are lucky to get MCP or CCNA.
I apologize for making blanket statements, but there is a lot of job hopping for qualified candidates in Bangalore (as I'm sure you are aware), so the outsourcing companies are usually offering those candidates that are new to the industry and have not had the time to generate sufficient experience and get a better job somewhere else. That is just the reality of what I have seen in my career.
Hey no worries. I completely agree that outsourcing companies (Infosys, TCS etc) suck big time. The services outsourcing companies scrape the bottom of the barrel talentwise and lie through their teeth to their clients, are infested with scummy middle managers and so on. I am not arguing about any of that.
Just saying, don't dismiss a country of a billion people so easily - with so many people, there have to be some smart ones.
Good engineers are a minority in every country.
That said,the USA (and it is a great country) has the advantage of attracting smart people from all over the world to learn, work and settle there, so you have a constant influx of really smart people, an adavantage no other country has(these days, Canada and Australia maybe?). The US also has the finest universities in the world. So I am not surprised that in general, the US has the best tech companies and the best engineers.
But that doesn't mean there aren't good engineers elsewhere. I was only mildly pushing back against your somewhat sweeping generalizations. No insult or harm intended.
If the only Indian devs you've encountered are the lying incompetents exposed to you by the typical Bangalore bodyshop, I am not surprised if people draw conclusions that may not be very flattering.
I live in a third world country and I know what you mean. There are spectacular developers in Tunisia, but they are a tiny minority. So the point here. The % of developers that can do the work.
Yes, there are pretty impressive developers in my country. But what's their numbers and what are they doing now (either hired, working abroad or running their own businesses)? Are there a new and constant supply of good devs so you don't run out of them (considering you have the money)? Are they enough so that you company can scale when needed? Is there good sales people, managers, office assistants (because you don't only need developers for you business)? Is there a good infra-structure (Internet, Telecom, Importing stuff, Airports...)?
Factor all this and you'll find that third-world countries make no sense to run high yield businesses.
the post I replied to didn't make the nuanced argument you do. I am fairly anti outsourcing myself - in practice it results in ancient rotting codebases that people in the West don't want to maintain anymore landing up here and train a new bunch of third grade developers.
I mostly agree with what you say, but that wasn't the point made by the poster I responded to.
He(?) made a statement that India's software industry is only 10 years old (false) and condescendingly extrapolated that to say that therefore there aren't any senior devs in India with 15 years experience (also false).
I quote "what senior engineers in the Phillipines or India have 15+ years of software development experience. They don't exist, because the software industry has only been there for the last 5-10 years."
My post was only to refute his specific claims, and push back just a little bit on his condescending tone. No more,no less.
I made no claims about whether it makes economic sense to outsource to India (or Tunisia or wherever) or comparing India to Silcion Valley, or absolute measurements of number of good devs/square km or whatever.
Please don't assume that we third-worlders didn't have 8-bit computers when we were kids. Here in India we had at least two licensed clones when I was 10: dB Spectrum Plus, a ZX Spectrum+ clone by deciBells Electronics and SCL's clone of the BBC Micro B. I hacked on the Beeb at school until I got a Spectrum of my own at home.
I'd posit that it's not necessary to being a good programmer anyway.
On a tangent, does it really take 15 years before you can start tossing about the phrase "senior"? The only job ads I see asking for that kind of time appear to be aerospace/government, so I'm curious if it's just the startup bubble making me think 7 years is fine?
To have "senior" appended to your title, no -- that is basically nothing, and means as much.
To be a genuinely "senior developer | engineer | programmer" in the eyes of others it probably takes at least 15 to 20 years of experience building and running things. Not all of that needs to be professional - writing door games in high school counts.
If the company feels the work cannot be done by a local worker telecommuting , how can they expect it to be done by someone sitting half the world away.It is no longer about how good native / non-native developers are - it seems to be more about is the developer at a place where I can meet him when I want to
Total nonsense. The good developers in Philippines or India don't work for $30k-$50k/year any more than we do. They earn close to our rate in country or relocate to Europe/the US.
I'd strongly encourage you to consider why you're likely to be downvoted before posting. I think that a milder version of what you just claimed, backed up with some data or at least some personal experiences, would have been a good contribution to this discussion. You might have been upmodded.
I tried (well, was forced by management) to remotely lead an offshore team (in India). The project was quite complicated (storing, retrieving, and interpreting the results of a large quadratic programming model with millions of variables), and the programmers were paid $12/hr. The first pass was a disaster. I described the problem generally, and got nowhere. I then asked them to use a hashmap to store the results, and they responded ".NET doesn't have a hashmap." I explained that .NET must have some kind of data structure that would allow us to retrieve a variable's value based on it's name or some other lookup key, and that's the approach I recommended they take, though honestly, they're the ones spending hours on the code, so they were free to take an intelligent approach the problem and shouldn't feel obligated to take any approach I suggested, though I was happy to help. A week later, I got code based on arrays. They were iterating through one array to get the variable name's index, then looking it up in a different array. And doing this millions of times.
So you'd think I'd soured on offshoring, right? Not really, I'd soured on trying to find good programmers with a decent math background for $12/hr. We ended up hiring two people located in India, one with an MS and another with a PhD (both from good US universities). I think we paid an annualized rate of $65,000-$75,000 each, though I don't really remember, it was around that much. That was considerably less than we would have paid in the US, and they were good programmers - even better, I was able to describe a need rather than a solution, and they were definitely able to fill in the gaps and get it done.
So, could they "run circles around their American counterparts?" Well, that all depends on how you define counterparts. If you go by dollar-to-dollar, I'd say so - it's unlikely that you'd hire someone in the US who could do this for such a low salary (though plenty of grad students here do as "research assistants" it for a tenth that salary and a tuition waiver). If you go by salary percentile, I'd say no way. The guys we hired were good, but it'd be stupid to claim that they'd run circles around the top tier of US-based programmers. The top tier in the US is very very strong.
Overall, I'm not sure it was worth it, though I wouldn't claim it was a bad experience (like the $12/hr programmer experience, which was definitely a bad one). The company still had to pay me and other developers the higher salaries to oversee the work, converting us into "architects" who managed overseas teams - and I could have just written the damn code myself. We were considerably less agile, and our local people (including me) were less knowledgeable of the code base even though we were spending time reviewing. At the same time, it's hard to hire anyone with these skills, so if they're available overseas, I'd say it's a reasonable option.
Just whatever you do, don't fall into the trap that it will be "easy" to hire "top" developers for vastly lower salaries who will "run circles" around Americans. I do think that you can, with substantial effort, hire strong developers for somewhat lower salaries who will perform well, though you will (in my experience) incur enough overhead that it makes more sense to do this to access top talent than to save money.
The quality of work from a non-native almost never reaches that of a native. They might be willing to put in more hours, but most people will choose quality over quantity.
Managing outsourced workers is expensive, and quite a hassle too. You will most certainly have to hold their hand much more than a native. Without significant oversight and hand holding, it's a recipe for disaster.
In most successful outsourcing scenarios, there is a dedicated team to manage the outsourced workers. For every one success story with outsourcing, there are 50 failed and frustrated attempts.
Encrypting with ROT13 does not cause you to be not defaming the company, either legally or ethically. (Encrypting with SHA-1 might, but I wouldn't bet your out-of-court settlement on it. IANALATINLA.)