They were somewhere between ok and not good. Felt like we got about what we paid for - their cost was about 50% of a US dev. They were as productive as a low end US dev, so in some cases ok value but since hiring low performers tends to hurt a team overall they weren’t worth it.
We’re a mid range company (decent cash comp, not much else since startup). I’m sure if you’re paying more you can do better. But that’s how it’s always been hasn’t it?
More specifically:
To be in the top 10% of earners in the USA, you need an annual income of at least $148,812
To be in the top 5% of earners in the USA, you need an annual income of at least $352,773
The median salary in the USA is approximately $59,428 per year
This is the usual ebb and flow of offshoring in the tech industry that's been going on since the 90s.
There has never been a scalable arbitrage for tech talent by going over to another geo, and there won't be one in the foreseeable future. What US HCoL talent gets paid is unfortunately the fair and natural market rate for that caliber of talent, at least if you need to hire more than like 10 people.
Companies in high income areas have two options for outsourcing:
1. Just go for the cheapest salary, quantity over quality style.
2. Find a replacement that has a comparable level of skill, experience and knowledge to the local talent they have or would need.
Now for (1), there is almost no floor. You can get devs for five bucks an hour. For some people, it's the only way they can make any money, so they take it.
For (2), people will gravitate towards earning 10-30 % less than a local equivalent developer. Low prices drive up demand, and since there isn't that much supply of strong candidates, that drives up their fees. At the same time, the employer pays a bit of a tax in terms of time zone, proximity and cultural differences, which introduces overhead, so it can't quite reach the local salaries. But it can get pretty close.
A lot of the outsourcing horror stories are (1). A lot of the actual success with outsourcing is, in my experience, (2).
I believe (1) is primarily responsible for these ebbs and flows you mention. The feedback loop for software development (in terms of whether it pays off economically) are _long_. That seems to force history to repeat all the time, because decision makers rarely see the consequences of their actions. The incoming generation of leadership did though. And then the generation after that didn't.
1. One $unit of $resource from supplier A is cheaper than from supplier B.
2. The price difference is sufficient to allocate a certain amount to dealing with quality issues (from lower efficiency to lawsuits).
3. If it turns out the quality issues are higher than expected, switch to supplier B.
The thing is, this doesn't work with software development. (2) has that pesky long feedback cycle. (3) typically is about equivalent to starting over from scratch.
First, my experience with devs at mid level companies is that the average dev ranges from competent (as in, can work within an existing framework to accomplish tasks), to incompetent (cannot do the same consistently), with there being a top 10-20% who are truly good (able to deliver complex high quality software from a blank sheet, capable of working on complex existing systems meaningfully etc.). This applies to all companies (including ones in the US).
Second, at high level companies, there's lots of European talent (usually in West Europe) - these people are as good as their US peers (by definition, and usually has been my experience), but make less than what you would take home in a mid level US company.
>Second, at high level companies, there's lots of European talent
Lots is subjective. The problem is the scale. You can easily hire 100 great devs in London over some period of time. 10000? Maybe not. It would take you too long to pick them up.
There is friction in turning fresh graduates into experienced developers. There is friction in hiring people in a region where you are not operating already. There is friction in using additional middlemen. There is friction in learning to do business in a new situation or in a new culture. But the friction can be overcome – in the long term and when the scale is large enough.
In no small part because if you look at that talent you’ll notice that… they’re mostly not natives to those areas. i.e. the highly paid in San Francisco are mostly immigrants from LCOL countries. Generous immigration policies ensure it. If immigration policies do change, you might start to find tech top talent in other geos but for the most part the people they really wanted to outsource to in the first place have already moved next door.
There are great engineers around the world but why would they accept ten beans an hour if they can take a plane to a different country and earn fifty?
The talent from LATAM are not just sitting in the rainforest waiting for your phonecall.
Also really top devs (at least in Brazil) can make more than 50k USD per year (fluctuates widely based on exchange rates) at Brazilian companies, it is cheaper than US but the tail-end of talent can still be expensive.
If you really want to attract good devs in cheaper areas the best way is to just open a branch of your office there, pay top-salary and don't just use it a dump ground for the projects no one at home wants to take. So treat them the same as at home. I had a roommate who worked in one of those companies that take offshoring projects, lets just say it is not the best talent pool and the good devs there leave fast.
Not that you're implying it, but I think it's fair to point out that people in ex. Brazil aren't worse at dev work, just that there is probably lower incentive to be good.
Just as you compete for top talent locally you also compete for top talent globally when hiring remote.
I live in Sweden now and have dealt with a lot of Swedish companies over the years. It is hard to explain this to the locals because they see Sweden as a big tech hub where all the talent is at, but the scale of things in Brazil is _crazy_. I worked in a telecom project where this one single company had more active (paying) SIM cards than the population of Sweden several times over.
Just because it is a poorer country doesn't mean it is easier engineering, if anything the engineering is harder.
I’ve been hearing about outsourcing destroying jobs since the 90s and that’s how it’s always gone: the suits salivated at the prospect of cutting wages by, say, 90% and had total write-offs because of it, because they missed that even in a poor country people have options and anyone smart enough to be a good developer is also smart enough to recognize that their skills are worth more. Outsourcing has some big costs related to communications so while you could find decent people at 50-70% of local labor rates, coordination overhead makes that a net loss even before you hit things like the security risks.
Part of the problem there is that the business people really want to think that they understand their business so well that they can give perfect instructions, and it takes a certain humility to recognize that more time goes into knowledge transfer and discovering the true needs than might be obvious.
I reckon there's a lot of "garbage in garbage out" going on, and if an org took the time and effort to actually treat Indian (or any outsourced team) devs like their own, things will be much better. But when you do that the overhead shoots up, and that cost/benefit analysis you did during the proposal to offshore flies out the window.
It's happening, and happening fast.
I used to work at a SF startup before the FAANG about 4-5 years back. All the engineers there have unfortunately been replaced with those in LATAM too. LATAM engineers were making like $80-$90K in USD, which is apparently really good money there, whereas US engineer asked for base pay twice that. So it seems like a win-win deal for the cofounders and LATAM engineers.
Just not so great for those of us in the US.
Whether working collaboratively in an office was beneficial or not, employers certainly believed it to be so. They believed it so much that employers, pre pandemic, were willing to hire employees a single time zone away from SF, and then pay them a significant one time amount along with a much higher annual salary to relocate them to SF.
This belief in higher productivity when teams were geographically collocated was the entire basis for which employers were willing to pay American employees several multiples of what they would pay employees abroad.
But the same employees who were benefiting from this decided they didn’t want to keep that advantage anymore.
And now since WFH has become the norm in the US, employers are realizing there’s no need to pay to keep employees in the U.S. and outsourcing to significantly cheaper locations instead.
It’s also much harder in general to communicate less formally and form deep relationships.
For execs and managers, this can be a big problem.
If it isn’t possible to do it the ‘old way’, remote work can and does work (albeit in different ways and with different constraints). But if doing remote work, why not do it somewhere else?
If you're totally disconnected from the work, sure. But for someone actually paying, it shouldn't be that hard to see whether the list of priorities for this month is actually getting finished or not.
Outsourcing manufacturing had the same problem - people thought they could send drawings to China, and with some straightforward checks, could get what they wanted cheaper. That was not at all the case, however, and there is a LOT of QA, additional checks, additional data leakage and competitive risks, etc.
For instance, if in the US people might actually follow the law around things like NDAs and non-competes most of the time, what about the jurisdiction you’re outsourcing too? How would you even know? How would you enforce consequences? How about data security?
Sounds more like a personal problem than a technical one. Besides, if it was actually enough of an issue there wouldn't be so much outsourcing. I just see it as more smokescreens to cut costs.
It saves a ton of money if you can get people to buy the end product (costs are often literally 1/2 or 1/10th). Profit is a major motivator.
Only if you are thinking like a McDonald’s shift manager. Measuring software developers by time-in-seat is tacitly acknowledging that your managers aren’t doing their jobs up to the C-suite.
“Whoa we can do this cheaper in another country???” is not a new phenomenon. Companies have been trying to do this for literally decades at this point. The reason so many jobs still exist in the US is because it doesn’t end up working that well. I’m not _that_ old and I was around at IBM for two separate rounds of “outsource-it-to-India-no-wait-bring-it-back” and IBM was and still is very keen to ship everything overseas.
I’m not saying it won’t eventually stick, but I think it’s important to dispel this notion that WFH made everyone have this sudden epiphany that US workers aren’t necessary anymore. It’s been going on for ages.
Right now (and back then), primary focus was on cost. Got to juice those margins somehow, and it isn’t going to happen by opening new markets (probably!).
When outsourcing is less envogue, it’s usually because there is some big growth opportunity and they are trying to get things moving as fast as possible. That tends to require higher end (but more expensive!) staff working in closer communication with management/execs.
It’s the difference between trying to improve margins on an existing product, and trying to grow the top end of a new product.
5 years won't change that lol. tata is still going to suck, the difference is now there is TCS in LATAM. same for cap gemini, cognizant, hcl, etc.
If you look at the table of salaries of a big union [1], you can multiply that number by about 13.5 to get the annual salary. Can vary a little %, but a good estimation.
The salaries in the EU stagnated in the last years, whereas in USA they were moving.
[1] https://www.igmetall.de/download/20240809_Metall_Elektroindu...
For 50k net per year, or ~4k per month, in most other countries you need to earn ~80k EUR per year (gross). In Bulgaria, you need ~57k EUR.
For 75k net per year, or ~6k per month, in most other countries you need to earn ~130k EUR per year (gross). In Bulgaria, you need ~85k EUR.
Go figure, these are really large differences and that very well might be the reason why we see a lot of big companies there. Tax is unusually low.
$ python zaplata.py 10000
10000
neto : 10000 -> bruto= 11680.23, razhod: 12445.10
bruto: 10000 -> neto = 8487.80, razhod: 10764.88
prepend negative year for 2024 or 2023 (max cap of social-security rises YoY): $ python zaplata.py -2024 10000
-2024
10000
neto : 10000 -> bruto= 11627.86, razhod: 12322.36
bruto: 10000 -> neto = 8534.93, razhod: 10694.50
https://github.com/svilendobrev/svd_bin/blob/master/misc/zap...p.s. And no, i do not see a change here - all is still dead - am looking since september
The boring reality is that the price of labor roughly reflects the productivity companies typically get. Because if there is ever some clear win in some location, people start hiring there, and things start to balance out again.
Outsourcing is a cost savings measure. It's a symptom, not the cause of the issue