Most companies end up having to choose one. If you're the latter, you absolutely don't try competing with FAANG for the same talent.
(I do think Amazon is a rare example of a company that both developed software as a core competency but also real world operations)
That said, I'm always happy to see companies diversifying their geographic footprint. Smart, conscientious people exist everywhere, not just in Western tech-hubs. And I hope in the future the choice isn't viewed as "to be one of the best software companies in the world you have to be in Silicon Valley, but if you want low costs, go to India, etc"
Additionally, Uber is focusing on being a global superapp company, not just the US (its just their cash cow).
A ride hailing app is more or less a commodity, see all the Uber clones out there: Lyft, Gett, Arro, Flywheel, Kapten...
That's not accurate. They have software to match riders to drivers while optimally setting the price of the trip based on the current demand/supply. It has to work in many different cities while preventing fraud and/or gaming of the system. It's a legitimately hard engineering problem that requires sophisticated software solutions.
The competitive advantage does not lie in the software quality for Uber, but in other things (customer install base, driver base, brand awareness).
This is one of those oft-repeated tropes on HN that needs to be out out to pasture for good.
No, you can't do the same job with a few dozen engineers that is currently taking the market leader many thousands of engineers to pull off. That's just hubris. The reality is that it's more complicated than you yet realize, and if you were to really delve into it you'd see the fractal complexity.
For one, good tech workers are hard to find anywhere. A candidate needs a range of attributes to be effective at this type of work. That type of talent is hard enough to find in the western world, it will likely be just as hard to find in the east.
Two, Indian tech labor isn't that cheap, a conclusion I draw from my own anecdotal experience. My first job was working for what you may call a "body shop" that was US based with US only employees. The owner started the business after doing sales for an off-shore, India-based "body shop," and he did it bc cost of labor was approaching the cost of labor of US workers, and the US workers would tend to produce higher quality (less defective) work (his words, not mine). No idea what the details were, but he has a thriving business.
Finally, there might be a lot going on right now, but why haven't companies outsourced sooner when there was nothing stopping them (even visas were easier to come by before Trump)? I believe they have contemplated it, and changed their minds for good reason.
There will be a very large lag time between ideation and solid implementation unless you have an extremely verbose product team.
So be skeptical when a politician or mega corp manager utters the words "labor shortage" - there is no such thing.
The same engineer who is making 30k in India makes 5 or 6 times the salary when moved to the SF office. Similarly the Engineer who makes 200k+ in SF gets 4 or 5 times less when moved back to India.
Comparing Mercedes to Honda is not the right comparison. There are good and bad engineers in both the US and India. So why pay 150k+ for a Honda in US when you can get the same Honda in India for 30k.
Do we say there's a caviar shortage because it's expensive? Or say there's a CEO shortage because CEO compensation is high?
Every company in the USA wants a good CEO. But there are only very limited number of CEOs in the USA that has a good track record of running a successful company. So companies are willing to pay more and more for the top CEOs.
It's the same reason why drivers are paid very low. If there were only 100 drivers in SF who were capable of taking you from point A to point B with a reasonable amount of certainty they would be also be paid in millions.
Everything is supply and demand.
In case of SanFrancisco, the supply of good engineers that are available to be hired used to be limited compared to the demand.
Once you remove the restriction of being able to be physically present in SF, the supply increases much more than the demand. Which results in the reduction of salaries.
If this were the case, salaries would rise until the supply equaled demand.
People have been calling this "shortage of engineers" for decades. A shortage means that demand exceeds supply at a given price (salary). If the market were free to adjust there can't be a long-term shortage. Salaries would quickly rise to the point where supply and demand were equal. If there is really a persistent shortage, why hasn't this happened?
When you talk about goods, long-term shortages can happen when either the supply is artificially constrained or there are some kind of price controls in effect. Which one is causing this shortage? There is no labor cartel in software. Nothing like the AMA keeping the supply of doctors limited. Anyone can learn from online sources and become proficient, and universities graduate truckloads of developers. So there's no artificial labor constraint. There is also no externally-mandated maximum salary for developers. So how can there be a long-term shortage?
Is the reason why a 1 bed room house price in SF is 5 times or more higher than that of a similar house in Kiev or Bangalore because it's 5x+ the quality?
No. It's mainly because the supply of housing cant keep up with the demand.
As you can see, the housing price started to drop as more and more companies are going remote.
Is it not possible for a market economy to have a food shortage? Just a price of food at which some people happen to starve to death?
No programmer shortage, but just a price of programmers at which some business opportunities fail to be profitable?
"We'll have flying cars!" (Need runways, air traffic control, can't let drivers steer their flying car themselves, too dangerous, etc.)
"Work will be outsourced and we will lose our jobs!" (Your comment)
"Artificial intelligence will replace humans and revolutionize everything!" (AI is really hard and nowhere as promising as once believed)
"With gains in productivity, we'll all work 10 hours of week and spend the rest of time writing poetry and traveling!" (We'll just increase total economic activity by making you work the same number of hours)
"The Internet will put an end to ignorance by giving everyone free access to the total sum of knowledge in existence" (Human biases are really entrenched and can't be changed by any amount of information)
I wonder how many other futuristic predictions being made right now will age like milk.
Normal Western approach: take everything at face value. Local background-aware people approach: understand everything as two-three level below what they are pretending. Not that they are not skilled workers, but you have to count for the lying inflation (e.g. 30% of Pakistanis fly pilots got their license thanks to someone else).
We are now outsourcing development to Mexico, not only is it cheaper, but they are in similar timezones so if there is a question they can ask directly not send an email that they won't get a response to until the next day.
Outsourcing to India is not trivial. It's a bit like outsourcing to China, where you _must_ have a deep understanding of the market and the players, so you don't get, well, duped. I have already gone through three different ventures where outsourcing to India didn't go too well, and it was commonly because the layer of management you end up dealing with, will say yes to whatever you ask them to do, regardless of time constraints or engineering talent.
Now, you made an interesting point regarding the current visa situation. See, I am myself a visa holder who came here from Europe, to work for a startup. The whole process was painfully hard. Even renewing the visa is a complex matter. Costs have gone up, and so have hurdles to get even the supposedly "easiest" kind of visa, which I believe must be a J1. My employer sure spent a lot of money on my L1.
It seems that some US engineers believe that their jobs are being "taken" from them by "unqualified", or "substandard", or "underpaid" immigrant engineers, and that getting a work permit in the US is something almost "trivial".
In reality, companies like Uber, Google, Microsoft, etc., will be shifting more jobs abroad, not because it is cheaper, as I think we must agree that the inherent complications of foreign teams may outweigh the potential savings, but because talent is _global_. And if they cannot have the required talent in home, they will surely look elsewhere.
You(or others) may be getting mixed up between complaints of legal vs illegal immigration. Illegal immigration does tend to displace American workers for forms of manual labor like on farms, roofing, etc. Legal immigration like H1B tends to be gamed by large corporations to get cheaply paid workers for contacting companies. If talent was truly global, they wouldn't do this.
Let's say that it is true, and that the US job market is larger for blue collar vs. white collar work seekers. Then one must ask why there isn't a ban on seasonal workers yet.
> Legal immigration like H1B tends to be gamed by large corporations to get
cheaply paid workers for contacting companies.
That's not true. Large IT outsourcing companies, yes. FAANG, no. H1B salaries are publicly available, so it is easy to prove it.
> If talent was truly global, they wouldn't do this.
Quite literally the opposite. Since talent is global, there simply are good engineers everywhere, and bringing them to the US market is an advantage.
This gap should probably narrow as more remote work becomes normal, and more people move out of the Valley and can actually live decently on 150k, rather than 300k.
I've decided that's it's a personal decision to a company. Many find benefits in having some teams in India or Asia, some don't so they don't. We should really divorce politics from this discussion. I'm ok with company A saying they like Indian devs and company B saying they enjoy the benefits of keeping it in their geographical area. I've seen outsourcing backfire. I've seen it succeed. I've seen team leads emerge in India and direct an entire product from 10,000 miles away. I've also seen dead weight that I had to go out of my way to get productivity from. You see it all and you'll get it all, so why the fuss?
Because people are afraid that they won't be able to command 350K a year salaries anymore. The fear is that the "good old days" of SV salaries are over is being materialized.
Imo its overdue, but I also am perfectly happy making an average salary in a HCOL area, with aspirations to move to a low or middle COL area.
I live in a low cost of living area and get the good and bad of my choices.
that's a common technical people pitfall. politics permeates society, and ignoring it is only to your own detriment exposing you form exploitation of those whom play the political game, of which you most assuredly participate in, whether you want an active role in it or not.
In one view, the one I had for a long time, companies are free agents. They can set up where they want, come and go as they please, hire and fire at will. They add value by creating jobs and profit and society should be thankful for that.
A different view, one I hear a lot in the more intellectual conservative circles (Brexit and some Trump supporters), is that companies have a duty to their people, and society at large. They should train people (through apprenticeship, rather than strip-mining universities / the local market), try to promote stability, avoid huge disruptive layoffs, etc.
I used to think the first but have come around to the second a bit.
No, it's a pitfall people fall into when they read politics into any topic.
Politics permeates society, and by design.
Also this thread is about employment and moving jobs across countries, which is an extremely politically changed topic.
that quite literally requires reaching compromises in place of whatever optimal mathematical solution may exists.
 including people that might want a certain solution to be implemented _and_ fail. they do exist, especially in older groups where the power structure is fragmented and the dynamic dysfunctional.
These decisions have externalities both positive and negative. "Divorcing politics" means ignoring those externalities. It is unlikely to happen.
I have come to realize that the only people who ever say this are people with no skin in the game, i.e., who aren't in the gunsights. I suspect (actually, know) you'd feel differently if you were training your own replacements just prior to your unemployment.
They’d pay less than that.
Uber is preparing for a death spiral as their financial backing runs out and they need to shrink to the profitable markets.
If Uber radically shifts its focus to focus solely on smaller profitable markets and the people working there are swapped out then has the company ultimately failed/died and had to be reborn?
It may not be a General Magic style death but it seemed reasonable to me that at least philosophically it is a death spiral nonetheless.
Many of their top markets have ruled their drivers are employees (or requiring similar compensation/benefits), except Brazil. I'm unsure if they can remain anywhere near their current size (versus the headcount of a traditional livery service) based on that regulatory environment, even with McKinsey style transformations to their business (ie offshoring).
> "But one detail in particular caught my eye. About 24 percent of Uber’s bookings—all the money that customers pay through the app and in cash, including driver earnings—occur in just five cities: New York, Los Angeles, San Francisco, London, and São Paulo." 
London: https://www.theguardian.com/technology/2018/dec/19/uber-lose... ("Uber loses appeal over driver employment rights")
France: https://www.reuters.com/article/us-uber-court/top-french-cou... ("Top French court deals blow to Uber by giving driver 'employee' status")
California: https://finance.yahoo.com/news/california-regulator-uber-lyf... ("Uber, Lyft drivers are employees according to California regulator")
New Jersey: https://www.nytimes.com/2019/11/14/nyregion/uber-new-jersey-... ("New Jersey has demanded that Uber pay $649 million for years of unpaid employment taxes for its drivers, arguing that the ride-hailing company has misclassified the workers as independent contractors and not as employees.")
New York: https://www.nytimes.com/2018/07/02/nyregion/uber-drivers-pay... ("New York City regulators are moving toward significantly raising wages for drivers for Uber and other ride-hailing apps.")
That alone should make people suspicious of this legislation. In the long run, this is really, really good for Uber/Lyft.
I've seen that consistently across companies in the past decade. Europe salaries have been stagnating while India and China can be growing 10% a year. The gap, assuming there was one 20 years ago, didn't last long.
The Indians I've worked with who returned say they did it because life was easier. Sure they make less money on India, but in India servants come every day to cook and clean (for about 60 cents a day). As one guy said "I know how to cook, but I didn't realize I'd be cooking every meal"
The best engineers I've ever worked with were definetly not making that sort of money, mostly because they were the sort of people that didn't like going to interviews and were more interested in tinkering with their side projects and hobbies than competative careers.
One of the reasons to move to India would be the availability of talent even if it is at comparable cost. Companies like to scale and lack of talent is a risk they want to mitigate.
This is not how ratios work.
If B/G is high, G/B is low. But if P is a very high number G/B * P must be a decently high number as well.
I have worked in one, 80% of the work is in making the managers both India & American look good to upper management.
India is also a huge market for uber.
Disclaimer : am Dutch.
papadag : https://goodmenproject.com/featured-content/dutch-dads-and-t...
Set the "Steuerklasse" to 1 for singles, 3 for married employees.
Closer to 150..
Are other engineering disciplines valued higher?
That a new grad in SV can out-earn a seasoned dev located elsewhere was never sustainable.
People will point out that the rent is absurdly high too, and maybe it is, but I'd also wager that these employees are renting from colleagues higher up who approve these salaries because they know they'll get a large cut.
Based on the salaries of my friends in SF, $150k is a very reasonable salary that allows a fantastic lifestyle.
No, maybe you aren't going to $100/plate restaurants every night or living in a $5000/month luxury studio, but there are plenty of great apartments in Oakland (where I live) for $1500-2000/month.
What's actually started to become jarring is the difference between SF proper and the rest of the region. SF rents seem to be almost 2x comparable places in the East Bay, plus the general price level is higher from Prop C and all the other insane junk the electorate wants. 2x the cost and the city is rapidly becoming a tent camp, I'm happy to live a little farther out and commute to work 1-2x/week when I'm not WFH.
I think even Ukraine or Belarus do.
The engineer is paid less than the value they produce because they don't assume any of the risk. If the product they produce turns out to be worthless or break, they don't have to pay their salary back.
Engineers are never fired? Not even when the company shuts down?
> If the company goes bankrupt, will the engineer be willing to bail the company out?
Sometimes yes, with their (and mine) taxes.
Engineers never lose assets because their work doesn't produce value, or destroys value. Engineers aren't liable for the success of their work. Engineers don't have to return their salary if they don't produce value.
> Sometimes yes, with their (and mine) taxes.
This is an argument for everyone capturing the value produced by companies, not the employee. If you want to argue for harder taxation of corporations, or fewer business incentives, then sure. But this is unrelated to the relationship between the engineer and the company.
Didn't think so.
The gap is a function of Moore's Law. If Moore's Law slows down, the gap will narrow. If not, then not.
Or ”senior engineers”, but anyway.
A company that is swamped with ad revenue money may can afford this but for the rest (especially when they are VC backed) there will come the time when they have to ask themselves if they really need 4000 engineers to maintain the service that brings in the money (= a few apps and a cloud based backend)
For two years.
And moved all the jobs back again.
The time-zones didn't work and communication was poor. Ultimately it cost more money than, say, off-shoring to an East European country (which they did instead).
The whole outsourcing to India was a disaster. Made additionally worse by Java developers trying to write C++ (pre-11 too), so memory leaks everywhere. Fun times :(
There are great people in India, but you have work to find them.
There has been a growing bubble of using software and apps and pretending to "disrupt" traditional real world markets that has been there for years. I suspect a big part of that bubble was dunning-kroger effect of software engineer's arrogance, investors extravagance, and willingness to burn cash fueled by prior experience with actual software companies which spilled over to optimism about being able to do the same in traditional markets.
AirBnB, Uber, Lyft, Grubhub, other food delivery apps, WeWork, Tesla. They are all examples of what happens when you judge a traditional business from the rose tinted glasses of software companies, almost ignoring the efficient market hypothesis about these traditional businesses long before these "disruptors" came along, while exaggerating the value the software part really provides.
I wonder are we going through a similar phase that happened mid-2000s when outsourcing became very much the preferred delivery model. Then user-centered design and agile pulled it back onshore.
I'm earning roughly 4k USD per month and our developers in India earn 1k USD per month.
The output of the entire 12-people team there including managers etc is the same as output of 1-2 people with a 4k USD salary here, but with a much lower quality and maintainability.
And that's not counting the hours spent negotiating fixes or giving detailed instructions.
"Outsourcing devs to India" - this may be an oversimplification
- Shareholders: Saving money, more money to Shareholders pocket hopefully
- Management: Decreasing costs, better path to achieve xyz goals; therefore easier to meet bonus targets
- Dev team: Increasing uncertainty about job security, quality of product losing control
- PM, UI/UX, designers, related fields: Increasing uncertainty about job security, more overhead to develop products and features; potentially slower feature release
- Other teams in the company: increasing more work to deal with teams in different parts of the world (but that's already happening with Uber with teams across the world)
- India's devs: more high quality and better paying jobs
- India's devs market: slight increase in competition of
- Consumers and User: minimal disruption, they don't care
I think the Outsourcing can be done because not all dev work is weighted equally across the board. Are you going to use a $300K dev to correct a spelling mistake in an app or use that dev to further the AI development of autonomous driving system? I cannot answer why this is not a good approach but it sounds reasonable.
Now, there are a lot of other consequences of outsourcing the work if you proceed to second order thinking. Having Uber to vouch and invest in India will increase its prestige in software development market further; however, for the US side, that only adds more pain to the idea that big corporations are self interested only and undermines the US labor market.
When things do go wrong, there's a bit of an attitude of "of course it broke, they sent all the jobs overseas!"
People living in advanced economies growing at 2% do not seem to realise that the growth that they need for their survival actually come from developing countries growing at 6-7% actually adding assets, or store of value.
The capitalist in me sees this as a win: more value for shareholders, and a big life improvement for Indians.
Can someone explain to me why it's a bad thing? I understand it might be bad for current and future US-based Uber employees, but aside from that, what's the downside? The way I see it, this helps more people overall (and I don't really care about which national flag you identify with).
I am not aware of anyone who has succeeded at this in practice. Do you know anyone?
Romania has been great.
Pakistan was /terrible/...
India has been a mixed bag. Firms tend to be terrible. Individuals tend to be good to great. The great devs tend to move here as soon as they're able.
There are a few companies that abuse (abused?) the H1B program but that was always a small but visible percentage, but more importantly, actions taken under the Obama administration had drastically reduced the abuse.
The much greater percentage are employees who studied in the US, or worked with companies in India and then had them transfer to the US. Eliminating the H1B visa simply means that they will now do the same work from India or Canada instead, further reducing the number of jobs in the US.
So, almost every one of them?
These don't replace their US operations, but add to them and grow them in ways they couldnt in the US itself.
That said, I think the debates mostly come from the amount of times this has gone very poorly in the past. CEOs who come in to cut costs are often CEOs who aim to replace their top of the line US employees with not top of the line Indian employees but bulk middling/bad Indian employees. And for the US employees who remain this makes working with their code awful and slowly drains the company into a mess that people then have to deal with when inevitably things get bad enough to bring everyone back on shore.
When I’ve worked at companies who pay the money for good Indian employees, they’ve been reasonable to great to work with. But that’s rarely been how offshoring has worked out in my experience.
The other is time zones and remote work in general being difficult, but I’m generally in favor of remote work and think as more people do it it will become more efficient.
But competition works the other way, too.
Which developers are sitting around making less than a third of what other developers with the same skillset are making? The best ones?
> Can someone explain to me why it's a bad thing?
I am just a layman, but how I see it is simple. If you move everything in a branch of business to another country, you will loose the possibility to do that branch in case of some bad event would strike. That event can be because of politics, but it can also be because of nature.
If you move all production to China for example and they have basically a monopoly on producing a certain good, let's say batteries as an example. Then I think it's pretty much inevitably that they're going to use that against you as long as the nation states exist. The prices will start to go up artificially and by then you may start looking for options, but then they may already own all big mines in the world and have taken claim on the basic materials you need.
What do you do then? The only answer is to suck up to whatever their demands are.
Are those devs currently unemployed and waiting for the phone to ring? If they're going to be headhunted out of the current jobs they'll have to make it worth their while. Conversely their current employers may make them counter-offers. The end result being that overall cost of hiring that person can be significantly higher than initially anticipated. If there was an abundant supply of potential workers the wages would face a natural downward pressure. Even in Silicon Valley...
(I was being sarcastic, by the way)
I also wonder, I know there are a few big software companies in India.. how do they manage to build large operations without hiring $300k per year US engineers from the Bay Area? I wonder if there are actually some good engineers in India. Weird. I heard they were all bad. But I guess with 1.3 billion people they might have a couple of good programmers. Possibly. OR maybe the large Indian software/internet companies probably actually hire the best US engineers and just get by with them. That's probably actually it.
For example, I moved from a third world country to a first one to work as a developer and people here aren't any better, just a bit more lazy, than my former country and worker laws are more strict(better for workers). They could just offshore the work, but instead they want to employ people here for a bigger cost, and I'm here because I get paid magnitudes more than on my home country.
The cost of hiring low quality labor to do your “soft” dev work (UI, web front end, etc.) is that you’ll probably end up with a badly done and frustrating-to-use interface with tons of bugs. See like 75% of websites.
Regarding language, most of my peers have decent English skills given we have spent like all of school life learning the language(more years are spent learning English than the native language). Most of us also spent a lot of time watching American/British shows in English given the lackluster scene of Indian TV. Yes we can't converse like natives, but I bet Indians can speak English better than most other nations whose second/third language is English.
As far as talent pool is considered, yes we aren't anywhere close to Silicon Valley but I think the gap will reduce in the coming years given the proliferation of the internet. And the explosion of cheap Internet has been a relatively recent event, thanks to "Jio" - a Telecom conglomerate. There is no reason someone who understands English and is persistent enough can't learn basic principles of software engineering from the Internet. Hell just leetcoding is enough to get a job in America(from what I have seen on r/cscareerquestions) Also given India has 4-5 times more students than America, there is a larger pool to sieve from. India already has a more rigorous mathematics education programme(thanks to the russians) and Indians are increasingly getting good at competitive coding competitions. I feel the quality of developers in India is only going to get better with time and software giants can surely set up more and more offices here.
Lastly, cultural differences obviously exist and will continue to exist. But I don't think they are much of an impediment to the work culture. Like most my friends are religiously apathetic and believe in democratic, liberal values unlike say the Chinese. Indians have been working in America for decades and they have done quite well I would say. Cultural differences are reducing with time thanks to multiculturalism and the internet.
India might very well be on the verge of a software boom, thanks to newfound awareness in the youth thanks to cheap Internet and an overall better education than previously. Hell china could do all of this without much help from the west. Now they have their own Tencent, Baidu, Alibaba. India has a lot of handholding from the west and Indian expats, surely we can develop quality software in the coming future as well.
This seems like the best decision Dara could take at the time being and if Uber is able to recover from this mess all well and good.
A good point taken below is the shift from product-oriented to operations-oriented company. I guess this transition is long-overdue and expected to make sustainable profits.
This not an American bank outsourcing legacy systems for maintenance, so the usual experience is irrelevant.
Let us remember that uber has engineering teams in countries, where they are not allowed to run a car pooling businesses.
What does "India" have to do with it? Where I work we have Indians, Taiwanese, Americans, Australians, Austrians, Canadians. It's really no factor, I don't get it?
And you can find far more 80k level developers in individual cities in India than you would in a small mid level city in the US.
At some point where you live matters a lot. You can be rich, but if you can't get things shipped because the roads are bad, you can't get clean water, there are no local services around (haircut places, restaurants, tradespeople to fix your house), not to mention fun things to do, it looks worse.
I have this conversation with my friend Mike. I work and live in SF as a software engineer. He lives in Indiana and earns 8-10x what I do as a surgeon but I'm not sure he's actually better off. Especially considering there aren't great schools for him to send his kids to or interesting people to see in meetups.
Kids who grow up here are excited to bring their degree back close to their family. We have no problem relocating people from other parts of the US, when they need a job and look they realize our small city has what they need, and while the exact attractions are different and lesser, they are still good enough.
Who is paying domestically $80k or +$80k/year in India? Probably just FANNG.
I live in Canada and my assumption would be payroll & state taxes would be less in India compared to USA. There is also the advantage of having great leverage over a country when being a big fish in a smaller pool like in India.
From anecdotal experience, turnover is much higher in India. Changing jobs every 2 years seems to be the standard way of advancing your career and getting a good raise.