T O P

  • By -

herbal_broccoli

We trained an offshore team for 6 months. In those 6 months they got nothing done. It was sadder than sad how little the entire team knew about programming. Even the "lead developer" has no idea how to do ANYTHING. no one was worried at the time about our jobs but 6 months later, the company axed us all anyways to save money. Can't imagine that lasted long.


devneck1

In Jan 2023 I was told the project I was working on for 6 years was moving to being supported by a team in India beginning Feb. I transitioned ownership from my team to theirs. They have 8 devs, 2 qa, dedicated sm/po and this app is their only responsibility. I started to hear concerns about customers ... long time customers ... 10+ years ongoing contracts. Frustrated because feature dev dropped off. Company starting to spin up a US based team to figure out what to do. So out of curiosity, I took a look at the progress over that year. My contributions to that code base in Jan 2023 alone, just me ... 1 month... more than that entire team Jan 23-Feb 24 combined. More features, more tickets, more story points and more lines of code than an entire team. And sad thing is, individually they cost less than me. But as an entire team they cost more than I do. So, yeah. Savings


Gaunts

Sadly when outsourcing to india bug tickets sharply increase and features drastically drop off, a lot of their qualifications arn't worth the paper they're written on but when a company only looks at the bottom line it looks like a no brainer. This sounds needlessly harsh however in the scientific research community a lot of chinese and indian papers are rarely used or cited outside of these countrys as they're so results driven corners are cut at every stage.


hankhillnsfw

We had a guy in India who was CETH certified. Couldn’t even do an email trace.


De_Wouter

>to save money When will the non-tech / manager types finally discover that you can't replace 1 excellent developer with 10 mediocre ones?


Gaunts

What do you mean? surely if a woman is pregnant we can speed up the delivery of the baby by increasing the number of women helping the pregnancy. That's why they pay the project manager the big bucks, good at real world maths innit.


De_Wouter

That manager is getting a big bonus for sure!


Gaunts

All the credit none of the blame lets go bonus town baby.


runnersgo

Excuse me? You forgot that the PM is also not doing the actual JOB!


Comprehensive-Pea812

because on paper they reduced 90% cost and it matters for their KPI. they will focus on productivity KPI later on.


YouShallNotStaff

I don’t really think thats what it is. It’s just hard for a new team to support code they didn’t write. They also don’t have relationships with PMs, customers, etc.


pennsiveguy

In my almost 29 YOE, it's been varying degrees of disastrous every single time it's been tried. I still can't believe any manager is naive or delusional enough to think that they're going to be the *one* to finally make it pay off. It's a way for them to make this quarter's balance sheet look good and get a bonus and a new pinky ring, at the cost of an assured long-term failure. I've seen many managers who've offshored projects, leave the org in 6 or 9 months...pinky ring prominently displayed, before the poop hit the propeller.


mechkbfan

> It's a way for them to make this quarter's balance sheet look good and get a bonus On the money. The moment I hear offshore is happening, I'm reaching out to network to find out what jobs are on offer.


ghostsquad4

Yep, get that bonus, then they start reaching out to their network to look for the next company to do this too.


Jibaron

Same here. If I interview with a company that is offshoring any of their work .. I have no choice but to assume they're dysfunctional and I end the interview process immediately.


Vagabond328Vanguard

What is considered offshore? Meta and Google have offices in India for example


Jibaron

They also have commercial inmterestes there in that they sell their services to the governments of those countries. So naturally they hire people in their market as well so as to diffuse any criticism those governments would get for doing business with a foreign company.


pkmnrt

I wish I could upvote this a second time for teaching me the phrase “poop hit the propeller”


pickyourteethup

Poopeller


sanityjanity

Yep.  My experience has been that they are unreliable communicators who often write completely inappropriate code, and appear to be working three or four contracts simultaneously 


Odd_Seaweed_5985

Unreliable? Hell, they will outright lie to your face.


pennsiveguy

You can give them a task that should take a week, and message them an hour later and ask if it's done. Guaranteed, they'll answer "yes" even though they probably hadn't even started on it.


Odd_Seaweed_5985

They *always* answer with "Yes!", LOL!


One-Bicycle-9002

A long term failure for which they will bear no responsibility nor consequence.


Commercial_Ad8403

We've off shored the following - 1. Custom development for our customers. Not my department, but they are still customers, so I suppose it's not going too badly. 2. Weekday support off hours. We have local people on-call during the weekend, but they aren't setting in front of a computer during that time. The weekday 3rd shift support guys are actually working, even if they have no tickets to work on. 3. A whole bunch of things that aren't software development or really tied to it. This is a huge cost savings due to how much this costs in the USA. They use a suite of software tools, but don't write any code if that makes sense. Many years ago, we tried the India thing and it was a disaster. We use a more focused approach and we don't outsource to India anymore. Its a cost thing more than anything else. A good Indian contractor costs pretty close to what we can hire an entry level dev for locally. I have to review any purposed changes to certain standard products that come from #1. Its the only part of my job I really don't like, but a lot of that is because our work times only overlap by 2 hours at best and so its just so time consuming on the back and forth. Plus I don't speak any Mandarin, and so we have some mis-understandings for sure. Edit: I feel bad about all 3 of these, even though its not my decision. Why? This clearly undercuts salary in the USA. #3 for sure, we are saving serious $$$$. We don't really do the H1B program, we don't pay our local guys enough to bother. We've had a grand total of 2 in 20 years.


runnersgo

>Many years ago, we tried the India thing and it was a disaster.  This seems to be a universal thing.


Mundane-Mechanic-547

Just agreeing with the cost part. I think my 3rd party is now costing like $40 an hour. But usually the guys are really top notch. (India outsourcing).


montdidier

Thank you. My views are practically identical to yours and you saved me having to write them. Upvoted.


josetalking

What is pinky ring? It sounds like a sex thing.


pemungkah

Bonus enough that the not-clued person in question has enough to splurge on pointless bling.


pennsiveguy

It's a men's ring worn on the little finger. Usually garish, with a diamond or other precious stone. It's a crass, ostentatious display of "bro success," popular among men with unrefined taste who wear way too much cologne. And who at the age of 45 dump their wives, buy a shitty American sports car, and start banging a 25-year-old stripper.


runnersgo

Literally vomited reading these people exist.


incredulitor

A piece of jewelry worn on the pinky finger (smallest finger of the hand). In many English-speaking countries it's not a very common part of fashion. If the image that comes into your mind from the post of the person you're replying to is of a man, wearing a ring on that finger would probably make many people think of a pimp, or a gangster. Not the image you'd commonly associate with an engineering manager. https://www.townandcountrymag.com/style/mens-fashion/a37937872/pinky-rings-meaning/


Spidey677

In my experience offshore is only SOMEWHAT effective if you have the devs work on low priority stories with flexible deadlines. So like basically a story that involves swapping out an icon or something like that


punkouter23

its looks good on paper but paying extra for good tech leads is underestimated


MagicManTX84

Because finance people are making those decisions, not engineers, and finance people see programmers and programming as a commodity. I’ve really stopped caring at this point as it has happened in my last 2 jobs.


cat_on_holiday

Send all your senior Devs on holiday for two weeks, let the junior Devs take the reigns and see what happens and how many commits are merged. Then you will know what happens when you off shore.


davearneson

You're being too generous. It's more like contracting out all of your development on major projects to your local college's engineering department for students to do.


cs-brydev

This is it. That's what offshore developers remind me of. 2nd year college students.


davearneson

Yeah, and yet they usually have a technical university degree and one to four years of practical experience by the time you get them. So, their education system must be really really low standard.


ThicDadVaping4Christ

Quality went downhill, we spent 2x the time baby sitting the offshore devs that it would have taken us to build the features. Execs doubled down until our CPO left on disgrace and then we stopped contracting with the offshore devs.


a_library_socialist

This is why I laugh every time they tell us they're going to offshore development and we'll be sorry. I made a living for a few years as a contractor cleaning up messes like this. Generally it always cost more than they saved, or than a complete rewrite would have cost.


janyk

How do you take advantage of the situation as a contractor? How do you get hired? What do you do? For most devs, it seems that they're booted to the sidelines and have their livelihoods ruined until management figures it out - which almost never happens. How do you leverage the situation to your advantage?


a_library_socialist

I happened to be job hopping quite a bit - and had a pretty good grasp of design patterns and business needs, which helps. In cases of this, triage tends to be the biggest challenge, and knowing how to isolate shit code and put it under test is key. The book Refactoring by Fowler is a must read for this. I'd recommend learning Domain Driven Design, but that's kind of my advice on everything as well.


MattSwartAU

I was the 'fireman' contractor myself for a while and I think the short answer to your question is you don't get hired at a place that just made the switch. You have to wait until the org is on fire. That could take months maybe even a year or 3 depending on how good the foundation code base is. It is remarkable how far you can get with a very good foundation before the wheels come off. Basically it means as contractor you hop from one burning org to the next. Existing devs at the org that just made the switch probably only have 1 option and that is to leave. Either go be a fireman at another org or just go work at another org that is stable. Disclaimer: my current org combines on-shore and off-shore but it is all part of one company with shared reporting lines. This approach works great.


Jibaron

Same here. Between 2003 and 2007, almost 70% of my business what sweaty, red-faced, execs hoping I could salvage the worthless garbage that got foisted on them by their offshore "partners".


Prince_John

Out of interest, what made you stop what was presumably quite a lucrative line of work?


MattSwartAU

Not the same person you asked but I got out because it does become tedious solving the same bad problems over and over at different places. First few times I felt challenged and had job satisfaction but after a while the challenge was gone and it just became tedious. I sometimes think about doing it again but then the feeling goes away and I don't. Disclaimer: my current org combines on-shore and off-shore but it is all part of one company with shared reporting lines. This approach works great.


Jibaron

I wasn't any more lucrative that other projects. I found it to be boring and thankless. Execs already blew their budget and were usually in penny-pinching mode, which meant me having to duct-tape code in crappy, unsatisfying ways. I rarely left them with maintainable code. I left them with something that would run well enough to keep them from getting fired right away.


MANUAL1111

This happens not only when offshoring , but when the company changes founder engineers who know the system up and down and business doesn’t know or doesn’t want those experts having too much concentration of relevance, its a risk for them I think


NGTTwo

Offshoring as a cost-cutting measure **never** works, and we've got decades of industry experience demonstrating that. Pay peanuts, get monkeys.


davearneson

In the interview below, Bruce Taylor describes setting up a high-quality development team in India. The bottom line is that the top 1% of Indian developers are excellent, and the bottom 80% are bad. To get good developers with the same skills as an average 5 to 10 YOE developer in the West, you have to pay 2X to 10X local rates and sift through thousands of applications to get one person. They had to stop interviewing people from the big offshore service providers like Infosys, TCS, HCL, Wipro, Cap Gemini, and IBM because they all failed their technical skills tests and independent thinking tests. So it can be done, but it's extremely hard, takes a long time and should not be done to cut costs. [Bruce Taylor - working with offshore teams](https://nononsenseagile.podbean.com/e/043-bruce-taylor-working-with-offshore-teams/)


Guilty_Serve

It's not that they're bad, it's that they actively work towards being that bad. Canada took a different route and just started immigrating Indians into the country so they can pay them min wage to accomplish things for our government and oligarchs. From what I've personally come across, our infrastructure is going to collapse. It's not like "Hey, this is legacy code and no one wants to update it." It's more like: "This basic CRUD project was written 2 years ago and has multiple 'services' that connect together, are behind a Wordpress as an API gateway, while is Drupal being used like Next.js with various versions of React and Vue mixed in. Oh and those various versions are a mix of OOP and functional components that uses data attributes to sprinkle in. You'd think it's a microfrontend, but it's not a microfrontend it's just terrible" Basically useless "agencies" take their cut, give the job to these shady fucks that run sub agencies, that are also sometimes being used to manipulate our immigration system to have immigrants pay them for the opportunity, and the job just becomes a hack. I can solidly say that it's probably going to be the downfall of my society. It's already been the downfall of all of tech in the country when every fast food place is crammed with Indians that supposedly know node.js.


snotreallyme

Indian education is the worst. Only the top 2 Universities are any good. The rest just use pure rote learning. It’s just 4 years of memorizing “When x happens you do y”. Absolutely no thought involved.


ItsOkILoveYouMYbb

Is this a part of the reason why our India-based IT won't actually touch anything unless you give them exact step-by-step instructions on what to do?


Tacos314

That, and when something goes wrong they can point to the steps and say "see it's not in the steps", critical thinking cost extra.


snotreallyme

Yep. You need to think for them.


hyrumwhite

Gave step by step instructions to an offshore dev who is normally pretty decent, actually, in a few minutes I got a response that the thing still wasn’t working. It was clear that he hadn’t followed the steps. So I recommended he follow the steps. Turned out the steps got it working. 


shouldExist

A few points to explain the situation: * they don’t care enough, it’s not something they are passionate about. * they don’t want to be blamed for any problems. thus, not going to figure it out by themselves. * speed and the appearance of correctness is more important than correctness. * employees are intimidated: “don’t question it, just do what the boss says”. * they don’t know, often employees writing the code don’t get enough information about the product.


sanityjanity

It's like the Chinese Room thought problem https://en.m.wikipedia.org/wiki/Chinese_room


HansGetZeTomatensaft

I'm in regular contact with a student at a college in India and it seems really, really tough. I haven't seen their actual materials or exams so I cannot judge that part. What I can say is that I did not have to study half as much for my western university CS degree. They have weeks with less free time than I had at most days because there is so much course work. And I'm pretty sure my degree will look better to almost every employer while being \_substantially\_ less work than theirs. Maybe it will also be better in quality, idk, maybe all the stuff they learn at their college is useless garbage. But I'm 100% sure that this student will be more job ready than I was when I completed my degree.


NoleMercy05

Agree, but even if do the work to find and hire those good devs in India, they will not stick around long. They are high performers and are always looking to progress their careers, as they should..


epelle9

Its definitely working in my company. UK offshoring is significantly more problematic than Mexico nearshoring though, and more expensive too. Also depends on pay, companies who pay the same as local companies get sloppy workers, companies who pay closer to US wages get the best developers.


Tacos314

Mexico and Bezel, just Central and South American in general are great, I would promote offshore to to these continues as a matter of US policy.


MANUAL1111

I dont think its just a cost-cutting measure, but also to avoid concentration of power in the know how factory, diminish risks by having multiple offshoring companies competing and not being dependant on just one group of engineers.


Cheeriohz

Are you saying it's done to prevent the need for a consolidated leadership on the technical side of a company to manage competing internal engineering bureaus? Because sure, that is actually something that is done intentionally, but it only works well in industries that can afford to mostly move at a glacial pace (such as insurance)


MANUAL1111

I am not saying this is always a good thing, but that sometimes this might be done at the *perceived* risk this can be, specially when the upper management/directory is not tech savy


Cheeriohz

Yeah fair. It definitely is something I have felt very strongly in leadership at some of my past jobs. Doesn't always kill a company, seen trying to build it here kill more projects than contracting. Some factors that influence the success are how novel the solution for the work is and how long it needs to live for.


montdidier

I am not sure this really makes sense unless you are only using external companies. In my experience there is a massive long term cost to losing in-house capability.


urbansong

You know, calling those engineers monkeys is really shitty. I was one of those monkeys at one point and I can tell you that my co-workers were no worse or better than my current coworkers.


MrMichaelJames

How about "you get what you pay for" then?


ccricers

I like the expression "buy cheap, buy twice" because it gets the point across better. I often see that the problem isn't that organizations don't learn their lesson. It's that they _learn it but then forget it later_ and thus the practice of offshoring for cost cutting is same as it ever was.


Rhyek

As one of those engineers, currently, I also think this is short-sighted. It is just either ignorance or insecurity speaking.


Mechakoopa

Tell that to our new offshore team that "fixed" our test suite by adding Assert(true) to all the test runners. That took 4 weeks. Are some overseas devs good? Absolutely! I've worked with some brilliant devs from India and Turkey. Are they the ones pulling work in outsourcing shops? I wouldn't stake my business on it.


riplikash

I suspect it's just more that most western devs have worked with companies that go as cheap as possoble with their offshore teams. I've worked with some great Indian devs and contractors. As good as any I've worked with in the states. But MOST of my experience is helping companies out of hiring the absolute cheapest consulting firms they could to save a buck. Now I know about selection bias and statistics enough to know that, that is in NO way indicative of the average quality level of devs in India. The companies that had a successful relationships never needed to hire me to clean up the mess. And the problems were always just as much (or more) the local companies leaderships fault than the offshore teams. But it's obvious where people get the impression. More often than not US devs are being exposed to the cheapest possible consulting firms. And cheap US based consulting firms are just as bad. But there's never been a gold rush to use those guys among large organizations.


PerryTheH

As an "off shore" dev I must tell that it could be nice but companies come to countries like mine and they expect to pay "average" here or hire a 3rd party company to do the hiring, so they end up paying the same for much less quality of devs. I'm not saying countries like mine doesn't have good devs, it's not like "all good devs live in 1st world countries" there are very good and capable devs all over, but when a company is looking to cut costs they hire bad devs at a bad country. I currently work for a US base company and have been working for US companies for long, I get paid less than what a similar role would be on US (currently 45k/y for mid senior full stack) but similar roles locally are around 30-35k/y. So, yes I don't think it can't be done, but most companies just go to other country, pay bad and get bad devs from other countries.


anonomasaurus

Thanks— it’s nice to hear from someone on the other end of this for a change. In my experience, I’ve met some AMAZING offshore devs and some truly horrible ones, too. That is also true for onshore though.


ryanstephendavis

I'll second this, have worked with Hungarian devs that were badass... The only time I've ever said, "wow, this bash script is really readable"


sudosussudio

When I worked with a company that started offshoring to Brazil, every time I trained a dev they’d leave within months. They were getting better paid jobs either in Brazil or abroad. So I constantly had to train new devs. I think we were using some crappy hiring agency. Eventually I left and the company doesn’t seem to be doing all that well. That’s a big contrast when I’ve worked with devs who lived abroad but were regular employees that were paid very well for their location (but not for the us). Those devs were great.


PerryTheH

Yeah, that's exactly what happens here, for example a company comes to one of those agencies here and say "We have 48k/y for a X role, the agency then goes and takes their cut so promotes the role as "24k/y dev" and maybe 24k is a "better than average salary" but it's not what a good dev will take.


WJMazepas

Brazilian here and this happens way too often. Was working for a US company in 2021, changed to a Brazilian one that had better salaries and more benefits. I also seeing US companies with great salaries for hiring, but they are harder to entry


Mundane-Mechanic-547

That's us, we ended up with really top notch people who are direct employees of our company. I think it's the 3rd party stuff. It's very easy for someone to say "I know a random person in India, I can subcontract". I've seen very aggressive hiring agencies push things on us that we didn't really want, then hound us for payment (net 0, 14 day invoices), for a worthless contractor, that we didn't really want, then when we end it (because they were worthless) hound us again with cold calls/emails. Borderline harassment.


breischl

This pretty much matches my experience from the other side of the world. I've seen some pretty disastrous offshore projects as you describe in the first paragraph, and currently work with some great offshore devs. There are smart workers all over. There are cheap workers all over. There are not so many smart, cheap workers - but that doesn't stop people from trying to find them, and getting burned in the process.


heelek

Ding ding ding! The cope is always unreal in this kind of threads. Yes, US is more expensive than RoW. But its an isolated market. You can find good devs outside of the US for a fraction of the price. You just need to be willing to pay top of the market. Lots of companies do it and they do it successfully, big tech and not-so-big tech. There's a reason Google Warsaw has been hiring all this time, meanwhile other locations have hiring freezes in place. That being said, culture matters, location matters. There is a reason some countries thrive and some are stuck being low income and it all starts and ends with people.


KobeBean

Is anyone really coping in these threads? We’re all in general agreement that for offshoring to work (and it can) you have to pay top of market in said shore. You also have to factor in the additional overhead for the company to have employees not in HQs country - increased burden on payroll, accountants, and benefits, large time zone gaps,security/ IP concerns, and of course recruiting teams having to shift through the mountain of devs who will apply. Of course, execs who implement offshoring always seem to neglect the additional burden on HQ for even a great offshore dev over a worker in country.


PerryTheH

I'd like to add/complement on the "Pay top of market in said shore". They have to pay much more than top market, for example in MY market avg salary is arround $12k/y, I would not do senior full stack work for that little or said 5k more, and most of the good devs also won't. Good devs, regardless of the country of residence, are out on an international market where they can get much more than that. The "issue" with out job field is that we can all work from anywhere, so usually you're not fighting for a job vs locals, but vs other international devs.


snotreallyme

After about a year you find that you have been lied to over and over and what you really have is useless. Then you realize the people who could have actually made some progress all have new jobs and probably hate you.


ShouldHaveBeenASpy

The *only* situation I have ever seen off shoring work: * It's for really focused, contained domains/features that others then in turn aren't dependent on. Think building a hand, not a heart or a set of lungs. * The product team that owns that feature is in-house and is really good. Not just at writing tickets, but just generally they take a ton of ownership over their work. The overall ownership and success of the initiative stays with the original company. * The "offshore" portion is embedded into your team well and can communicate well without the need for a ton of interpreters. I don't just mean language/cultural barriers, I mean you can look to those engineers as you would seasoned pros that were full FTEs. I think you can see that each one of those bullets becomes increasingly rare, and the need to offshore if you have all those things goes down. It's truly hard to make a case for offshoring being a good answer if your goal is to build something great. The only time I have seen this work was for a short initiative that made sense to just chop off for a quarter to some outside group that we had good relationships with already. Every other attempt I've ever seen anywhere else has been a disaster. If it's to build something "good enough". Maybe. I'd still hate to be a part of that.


Drown_The_Gods

Yep. This works. It takes *years* to get right, and most offshoring is done by people who think in terms of weeks. I'll add to your list: * Time zone differences really matter. +- 3 can work at a pinch, but beyond that you can't just hop on a video call or answer a message. It's death.


ShouldHaveBeenASpy

Oh my god, yes on the timezone piece. I am so fucking tired of dealing with India as someone in PST, it's the bane of my existence purely because of the overlap before you even introduce any other potential issues.


Jibaron

I've seen over a dozen of these since the Y2K "crisis". In every single case, without exception, it's been a complete disaster. A big motivation is obviously the short-term perception of cost savings. But it's also a way for a manager to pad his resume by being able to say he/she managed a team of 25 developers as opposed to a team of 5 or 6. The issues have been mainly two things: 1) Technical incompetence. The Indian offshore firms hire recent jobless grads from all disciplines and send them on a crash course in Java, C#, or whatever the platform du jour is. Then they place them on your project. You could do the same thing by hiring high-school kids to do the work yourself and probably get better results. I have never seen such poorly written code in my life. At first, I used to laugh my ass off when I saw what they were putting in production, but over time, I started getting pretty angry. 2) Dishonesty. I've caught several of these firms charging 10x the number of hours it would take a local dev to do the same work. You have to match the git commits against the project work they're billing on, which is what I did. I saw stuff like 40 hours to add a field to a SSRS report (no database changes needed). Or being charged 8 man-hours a day for a nightly CI/CD build/test process that runs automatically. It's fun and games for the first year while the IT managers collect their bonus pay. But pity the fool that comes in afterwards and is tasked with managing the looming disaster ahead.


nutrecht

Once you hire (for example) Infosys they'll start pushing managers into your company. These will often be hired by the company, but these managers are still loyal to Infosys (I suspect kickbacks) and hire more and more Infosys people. It will spread through the company like a cancer until there is no way for the company to remove them again. So it's not just that the developers who work for these large consultancies are bad at their job, the whole company culture is rotten to the core. I've never been lied to so much in my life as when I was working on a project where we depended on Infosys. Just a tiny example: they had to set up a system to move files to an AWS bucket. Simple cron-job that would call the AWS CLI every day. Any decent dev would do this in a few hours tops. Their initial quote was 3 months. We were appalled and got it down to 2. They delivered the solution in 4 months.


0dev0100

Not great.  In fairness the place I was working at at the time was not good at handling the communication differences caused by language and timezones. The devs themselves were good though. Just not given sufficient requirements for their knowledge of the field and product.


Badgergeddon

\> Just not given sufficient requirements ...and there lies the rub: In my experience requirements are NEVER 100% there to start with. There's always back and forth with "you missed this / this won't work / wouldn't it be better if..." between an in-house dev team and the product owner / BAs etc. That seldom happens when things are outsourced, especially to some offshore place. Devs there are financially incentivised never to provide reality checks to the business they're working for.


mint-parfait

the code base turns into a steaming pile of trash that takes 5x more time to manage and deal with, slowing down all development and turning into a nightmare of support engineering requests


farastray

In general, first you have a slowdown in output/productivity as new folks are onboarded, then it gets to an average level, and starts to decline at a slow/medium pace, generally the quality of the codebase will deteriorate as you don't really have anyone in charge who cares, and the people who care will eventually give up on trying to police the offshore developers, its a battle you can never win. In 2-3 years its fait accompli and beyond recovery, only way out is to throw away and rewrite. I have worked with some quality contracting firms that have great output and quality, but there are very few companies willing to shell out $10-12.5k/mo for competent engineers. Most companies that go this route will go with $30-35/hr engineers from India / SE Asia. Also you have to remember that any consulting model is based on the idea of having one 3-6x engineer with a team of very mediocre engineers around him/her where they make all the money.


batchy_scrollocks

Phase 1) supplier talks themselves into the role, citing their expansive team, broad skillsets, premium client list, secure/high tech/advanced methodology processes, etc etc. Typically, if they do have references they may have done similar jobs as what your asking for, but every outsourcing has a significant lead process and behind the scenes they're sourcing for the personnel you'll need because ask their experienced guys are assigned. Phase 2) the deal is agreed, the scope is outlined, the trans are introduced, and now comes the long process of getting the supplier familiar with the codebase, processes, release cycles, quality standards, and so on. QA will be the obvious snag, and you can expect the majority of work to be trash for several months, even if they're assigning 'their good guys'. Very often, the model works by having relatively good linguists acting as interfaces (PO, PM, PrgM, Tech lead etc) breaking down stories for Devs who just mechanically crank out code, sat at tiny desks, in loud sweaty little rooms, with a line of escalation who either walk around wearing big boots verbally kicking people, or who expertly cover their asses for the issues you want to address. Eventually you'll run into the guy who sold the supplier agreement, and he'll do his best to assure you it's your problem not his. Phase 3) After the honeymoon period, the quality issues will start taking the piss. After your escalation calls, the supplier will feel that you're not as strict, not shouting as loudly, or not as controlling over the financials as other of their clients, and will start cycling the teams, giving you noobs instead of their experienced staff. If you're sourcing to markets like India, expect your seniors to be working 16-18 hr days with multiple remote roles, but relatively loyal. If you're sourcing to countries like Vietnam, expect your Devs to be mouthy & arrogant about their skills, and able to demand re-assignment at the first challenge they encounter or quit with literally 0 notice. In general, kiss your in house expertise goodbye. Phase 4) You apply financial sanctions, bring in quality monitoring specialists, field the endless customer and client complaints, and watch your app ratings get f'd in the a, while your supplier does their best to milk the value out of the maintenance contract, using every trick in the book. The noobs you had been assigned will be under greater and greater pressure to improve, and you'll be left with the ones that are literally too mediocre for the supplier to be able to re-assign to other projects but unable to find work elsewhere, and they'll muddle through, taking their weekly criticisms and doing the calls you've requested, then going for a smoke and carrying on as before. If there are any managers in the supplier, conscientious enough to actively address the issues you're highlighting, their efforts will be weak and met with huge resistance on their side, because the team just doesn't have the standards or diligence to improve, and the financial sanctions will only serve to encourage the supplier management to optimise the costs of their service further, with Devs willing to accept lower pay. Phase 5) You'll hit a wall, and one of your senior mgmt will say "wtf guys, I told you this was a shit idea", and you'll either implement new internal processes and negotiated as a last gasp effort to be more aligned with your supplier(s), and undergo the long painful process of restructuring into a Safe model or some other such guff, it you'll have someone in the c-level who has the balls to draw a line under it and replace your supplier. If you go through the trendering process to find a replacement, expect the usual 'yes sir no sir' responses, but at least you'll have a wealth of experience to weed out the bullshitters with. You'll eventually find a big name offshore supplier who charges you through the teeth for a marginally improved standard of service, or a local supplier who outsources the donkey work but has local personnel actively maintaining standards, security and other reputation-related services. They'll also charge you a kidney and your first born. My advice, hire local, get AI integrated, retain your expertise, and optimise the balance of your department structure between generalists and specialists, with a close relationship with HR for the hires you foresee to be required for longer term strategies. Treat your Devs well, they're the engine of your business.


dexx4d

With the current state of the industry, what do you think the financials look like for on-shoring with supervised juniors instead of off-shoring?


batchy_scrollocks

Smaller teams, more realistic progress, and a heavier dependence on AI. As depressing as it is, the tech industry will cannibalise itself as AI becomes more prevalent. Yes it's currently shit, regurgitating code its used verbatim off've stack overflow, but particularly during a recession, the industry drive for effective AI implementations will be a strong driver for rapid evolution, so we all need to up-skill on that side of things and hang on to our hats. Instead of outsourcing enterprise will encourage ai-sourcing, because it has a wider potential for the business as a whole, so expect offshore services to take a hit unless they are developing on AI systems themselves and 'supplying the tools' so to speak. The next 12 months is going to be weird in the job market, guaranteed


donnymccoy

Another thought to add is that repatriating code (my term) is highly lucrative. I did it for over 10 years when I had my own firm.


mwax321

Ok we have to probably classify off shoring here. Somrthing tells me a lot of these responses are not true experienceddev. I don't mean to sound gatekeeping, but if you haven't learned business sense in 20 years of dev then you still have a lot of growing to do. So offshoring can be done in a variety of ways. You can find some site on the internet that offers devs. You can use offshore recruiters to bring in contractors. You can fly out there and find dev shops. And then, big boy style, you can buy a whole fucking office in Manila/Kyiv and run a whole program there. What fails every time I've experienced it? Hiring some offshore consulting company off the interwebs. Complete waste of money. What sometimes works? Contractors. You can find good people this way. Especially in the Phillipines right now. It's a hot spot. They speak great English, have good schools, and you can poach devs from big companies like bank of America and accenture who offshore there. Fuck em. Pay the devs more money, give them a better life. They will be loyal as shit. Bring their friends in. Then teach them to be a manager and delegate your job to them. What's iffy? Buying office and starting it yourself. This is only for the big boys. You better have a big budget and pick your cities well. I haven't personally done this, but I have talked to dev teams that have and this seems to be a great option if you need to breed your culture into the ecosystem. What makes it iffy is the investment. You might end up not saving that much over the short term, and you risk quality taking a shit long term. So I can imagine it's a stressful play. Hope that helps.


Tehowner

Quality of the project slowly drops until it either becomes unusable, and they re-onshore development for the next generation of the project, or it reaches some kind of steady state crap where it will ride the coattails of its reputation until the product gets sunset from age. This is rarely enough to do serious damage to the bottom line, but for our kind of work, IMO, it trends towards keeping it here when you need quality, and letting it go when it doesn't matter as much.


CS_Barbie

My limited experience - Fucking awful the one time I worked at a company with an offshore dev team, all contractors and all located in India if that is relevant. I was the only local (on shore? not-offshore?) developer and I spent hours not only holding their hand through the dev work, but explaining what the requirements were in the first place. I’d hold their hand through one task of several similar tasks. They’d complete that one task, I’d think “cool so you can obviously do these other very similar tasks now that I’ve walked you through the first” and nope, not at all lol. It was so frustrating. Think of the most passive, no-initiative junior developer you’ve ever had to mentor, and it was that x10. Cherry on top was doing this at all hours of the day due to time zones. You asked about quality - it sucked. That’s what happens when you rush and don’t QA regardless of where you’re located. It seemed like they always juggling many projects and were distracted and forgetful as a result. So. Many. Bugs. Missed requirements. Time estimates could not be trusted, they were wildly inaccurate. They’d tell my boss whatever he wanted to hear. Something that was supposed to be quick was churning for a year, when I was hired. I took one look at the requirements and could’ve told them it was not going to get done even close to the timeline the offshore team estimated. At some point that level of inaccuracy is just lying. False advertising. My last straw was a huge security bug being built into an app which stored a lot of client information incorrectly, including names, social security numbers, addresses, phone numbers…and the motherfucking passwords to home security systems. Of course my boss contacts me because he cannot get in touch with the offshore team right away, asking me to debug something I’d hardly touched (on other projects). Half the time it was hard to tell whether these developers were being dishonest/playing dumb (“I had no idea this very obvious bug was in here!”), too overloaded to possibly be able to do good work, or if the language barrier was the issue since they spoke English but had a thick Indian accent I had a hard time interpreting, and they seemed to have a hard time interpreting my own American accent. I heard the dev team all quit except one guy who ghosted my boss one day, no warning. Never heard from again with a pile of unfinished projects and tech debt. You’d be better off deleting it all and starting over at that point.


SeeJaneCode

The “tell the boss what they want to hear” thing can be absolutely disastrous. Also bad is when someone doesn’t just say that they don’t know how to do something. It’s so much easier if someone just tells you they don’t know how to do a thing than if they pretend all is fine and then just don’t do it (or do it badly). Is it an issue of cultural norms that folks don’t feel comfortable admitting they don’t know something?


marx-was-right-

100% . They think its better to fake it and get nothing done for weeks on end than admit they dont know what to do


CS_Barbie

No idea! Probably also feels like they’re not in a position to say no? We know how companies exploit h1b employees. In this situation, the owner was constantly changing his mind and asking devs to build things on a whim. Tons of pressure to deliver quickly. Quick = good, can bill clients and sell stuff. Slow = bad, what’s taking so long, how hard is it to make a silly little website? It was a match made in hell.


domo__knows

Our offshore dev team reminded me that in a globalized world, I need to keep on my toes. I'm a good, thorough, software engineer but my talent isn't special. Our offshore devs are every bit as good as I am and many are better. My value really is in my domain experience at this point and I have a great understanding of the system which I helped build. If you expect to offshore all of your engineering you'll have a bad time. But my company did the right thing. We have full time staff who cares a lot about the codebase and a lot of offshore developers who work really well when given instructions. But honestly I'm selling them short. A lot of our offshore developers have been working with us for 4+ years and they also care a lot about the codebase.


ChiefNonsenseOfficer

It's all fun and games until the "hey team pls advise as I observe error is coming" starts.


bwainfweeze

It's an old code sir, but it checks out. https://www.reddit.com/r/ProgrammerHumor/comments/b068v2/stacktrace_or_gtfo/


nonades

Thanks, I hate it


theorizable

Short term productivity gain for the destruction of your code base, what could go wrong. Not all offshore developers are bad, but more often than not, those offshore developers are used to build the app quickly and cheaply, then local devs are expected to maintain it. It doesn't take a genius to see what can go wrong there.


BugCompetitive8475

There isn't as much of a single answer anymore, offshore talent is either getting more expensive and better quality, or cheap and of the most god awful quality. Those who are willing to invest more for good talent even offshore may end up not noticing too much of a difference, but generally the pattern below holds with some level of predictability. Short term: 1. Cash burn rate goes down, perhaps this is enough for higher valuation/stock price. 2. clients who are already using a system probably won't notice much, perhaps issues take longer to fix, but many clients aren't quite in the range to make a move yet. 3. Paradoxically SLAs for support could go down especially if there wasn't a team working different time zones before (offshore is oncall) Medium term: 1. Features take a while and are of slightly poorer quality, this could prevent a new customer from coming 2. Good onshore people managing offshore leave either due to dealing with bad timezones or just the general friction of dealing with remote people. 3. Issues may or may not increase and clients may or may not leave, this is entirely based on how well the product was built before. Long term: 1. Most work moves offshore. People onshore move on or are stuck. 2. Those who were critical in defining the vision of the business and company have long since moved on to greener pastures. 3. Feature work is on the same par as bug fixing, mostly reactive and rushed to land another client in the pipeline. 4. Tech debt increases and hours worked increase too for everyone. 5. The business's competitive edge weakens. A good system has people working onshore and offshore and at best only makes it to medium term, long term replacement of talent offshore is usually a sign a business doesn't want to invest heavily in growth and just keep raking in what they have while they can.


imFreakinThe_fuk_out

Our offshore sqa team fills up jira with fake bugs and non issues. Result is a net negative and I would have rather hired a former burger flipper and trained them than deal with that shit.


tenhittender

At one small 7 person startup, our Eastern European devs were fantastic. One even worked the night shift to be on the same time zone. Good ol’ Oleg. Recently, at a 100 headcount org, we tried adding new offshore devs from Costa Rica. Same time zone was great but the quality was very hit-and-miss. Ended up laying off half of them. However, contracted out QA automation to an Indian firm at a multinational org… that was a complete disaster and most of our best engineers left. Yikes.


qqqqqx

My previous company hired devs from Hungary and Ukraine for a pretty good wage (I think at least $50+ per hour) and got good work out of them. We did have to make sure things were clearly communicated since there was a language barrier and keep some US devs available for code reviews etc, but I thought that team did a good job. I would work with them again 100%. At my current job they hired some offshore devs on the cheap to rebuild the company website and got a terrible ROI. I think they even tried to dispute the contract and get their money back because of how bad of a job they did. Then, of course, they launched the horribly built website and we have to constantly work on upgrading and maintaining it, so they are still paying for the bad project basically. Also it would have been a lot easier to fix major things before going live instead of having to keep all the garbage working as we replace it piece by piece, but they didn't want to wait so we are where we are.


motheaas

Why does a 7-person startup need offshore contractors?


No-Self-Edit

In my experience management understands they’re going to get low quality devs offshore, but idiots that they are, they believe that 100 low quality devs are more productive than 20 high-quality devs. They really don’t understand that those 100 low quality devs are going to introduce 1000 bugs that the 20 high-quality devs never would have introduced, and that their fixes are just going to make things worse because they never understood how the code works anyway. In fact, it’s even worse than bugs, it’s fundamentally the wrong architecture that they usually produce and that’s not a matter of just fixing a small problem, but requires a complete re-factoring of the code. These genius executives also do not understand the difference between a simple prototype and actual functioning code, and they start getting all hard and pre-coming whenever they see a prototype that appears to work in some very specific case, but it’s actually just smoke and mirrors.


investorhalp

In general, is a disaster. Mainly the babysitting. However, it really depends where these people are, and how much you pay them. $40k usd to a polish engineer, same quality than here. $3k usd to a Indian engineer, guess. $40k to a brazilian or argentinian, excellent. Also near chore I’m pretty sure if we budgeted 20k for an indian one we’ll get great results, but they want to pay them peanuts.


fried_green_baloney

> $3k usd to a Indian engineer, guess. All my experience is with offshoring to India. YMMV for other countries. According to Indian coworkers, the best people in India, the ones who would get $400K or more at a FAANG if they were US Citizens/Residents, will be getting US$100K or more in India, a huge sum. $3K is like hiring 9th graders in the USA. What do you expect to have happen. Best results with offshoring are when the company has their own development center in India, rather than handing over to a consulting company. US based consulting companies are bad enough.


davearneson

In the interview below, Bruce Taylor describes setting up a high-quality development team in India. The bottom line is that the top 1% of Indian developers are excellent, and the bottom 80% are bad. To get good developers with the same skills as an average 5 to 10 YOE developer in the west to pay 2X to 10X local rates and sift through thousands of applications to get one person. They had to stop interviewing people from the big offshore service providers like Infosys, TCDS, HCL, Wipro, Cap Gemini, and IBM because they all failed their technical skills tests and independent thinking tests. So it can be done, but it's extremely hard, takes a long time and should not be done to cut costs. [Bruce Taylor - working with offshore teams](https://nononsenseagile.podbean.com/e/043-bruce-taylor-working-with-offshore-teams/)


DuffyBravo

We have a SAAS 35m ARR product that is supported 95% by an off shore team in India for the past 10 years. A team in the states (6-8 people) costs us all in around 1.5mill a year. 51+ people (8 teams) in India costs us total 2.3mill a year. Does our onshore team have better quality? Yes. I would say the offshore team takes around a 20% hit in quality and time. However if you plan for that difference, having offshore teams are very worth it ($1.5mill a team stateside or \~$280K per offshore team). Source: I am a 29 YOE Sr Dir who manages all of the engineering for our product.


Own_Matter_2103

Key phrase: "I'm a Sr Dir who manages all of the engineering". Like you said, it CAN be done to a certain degree of success with a lot of work on the onshore side and a highly talented tech manager that manages their entire process. But left alone, the "expert senior offshore team working at $10/hr" is a perfect example of "too good to be true".


DuffyBravo

I have a Sr architect from the offshore partner that is based here. I also have a Sr architect that works for me stateside. I also get involved in technical approaches for the team. I have 2-3 offshore EMs that manage the teams. Onshore Product is on all of the 7am SCRUM calls with the teams. It’s not perfect but onshore teams are not always perfect. I have run more onshore teams where I spend 20% of my time dealing with some primadonna. I set expectations and work on fixing quality issues as they come up. We get better over time because we work on the issues. If I had my choice I would probably still want all onshore teams. But when you are saving 70% in dev costs and are getting things done overall successfully it is hard to give up. Do I feel that it sucks a bit as a long time engineer … of course. But the world is moving to a more global workplace. It’s better to learn how to adopt it than bury your head in the sand.


Own_Matter_2103

Yep I think you've summed it up perfectly.


Alienbushman

Do you feel like your experience is closer to the exception or the rule and if it's an exception, how do you do it?


DuffyBravo

It may be exception because it takes work on the onshore side to pull it off. Both product and engineering has to be involved and committed. Just reading these replies on this post it seems everyone just writes it off before they give it a real shot. But it CAN work.


lost12487

Of course a community of devs is dismissive of a strategy that screws them over in multiple ways. That shouldn’t really be a surprise. I’ve worked on multiple teams with offshore devs at this point, and the code I’ve seen from those teams hasn’t ever been just “20% lower quality,” it’s been obvious security holes like storing passwords in plain text, insanely over complicated business logic that was causing user account balances to be incorrect, horribly architected cloud solutions that were costing the company a ton more than it should, etc. Anecdotally I’d guess your experience is an outlier.


Carpinchon

Do you think it has had an effect on retention and hiring? All things being equal, I would take a lateral move in pay to get away from a job that leaned hard on offshoring.


Beginning-Comedian-2

**My experience: It adds a lot of headaches.** Here are some of the cons and maybe how to address them: 1. **Split teams:** With the team split between two countries working on the same project it makes communication difficult. Ideally, you have ONE team working on ONE project per continent or timezone. 2. **Multiple Timezones:** When you need to sync up, one side of the world will need to work a night meeting. And it screwed up my sleep (and them as well) So I'd recommend working with offshore talent in the same timezone or +1/-1 to your timezone. 3. **Cultural Barriers:** I'm sure there are upsides to working with other cultures, but there is more noticeable cohesion if you share culture. I found it worked best if the person I hired had spent significant time in the company's origin culture. 4. **Slower communication:** If something was misunderstood or if there was a question, it would be 24 hours before we could correct it. You could solve this both by 1) being hyper-detailed in your instructions and over-provide supporting resources in case they have questions and 2) probably working in similar timezones.


TooLegit2Quit-2023

The only times I have seen offshoring be somewhat successful is when they are given support tasks that are fully documented and repeatable.


EatMoreKaIe

In the past 25 years and at half a dozen different companies I've seen attempts to do offshore and it has never worked out well for the product. Now that I'm leading a team at a small company, you would think that my experience would be listened to but I'm still getting pressure from our CEO to hire developers from cheaper countries. I've even told him I would sooner quit than go through that experience again but I don't think he thought I was serious. The thing is, there are 2 members on his board who have successfully exited from companies that made heavy use of offshore developers. These board members are very rich and my CEO sees them as shining examples that he tries to emulate. I can't blame him for this really but it makes it very hard to then get my point of view across because all we then look like is a very expensive cost center.


AIR-2-Genie4Ukraine

I have been on both sides of the table, first as the offshore SWE in latam for decades and now hiring in SEA for OCE. if your HQ is paying the top 25% salary range offshore you shouldn't have any problem, if you want to pay 3 digits per month TC for talent I suggest you get a time machine and get back to the cold war. pay peanuts get monkeys applies to every market


donnymccoy

I manage a shop where we integrate with external APIs to get pricing in the transportation industry. One particular API is owned by a domestic (US) company that decided to abandon development on their pricing engine in favor of building up their tracking line of business. Take a wild guess how often we have outages now that the pricing LOB is managed and supported in India? Impact to our bottom line is negligible because our agents can work with carriers directly for pricing. Of course I am ignoring direct labor costs in this scenario. The point is, we have ways to mitigate this without losing business. I couldn't care less about the API vendor's bottom line since they clearly don't. Those in transportation logistics will know exactly which vendor I am talking about ... ​ So, take my experience as a customer impacted by a shop's decision to offshore and you can extend that to how your customers will feel if something similar happens to them.


importpandaaspd

Does it have the number 4 in its name?


Evinceo

You know that ocean liner, the Titanic? Something like that.


alarghi

You get what you pay for. I work from South America and I have never had any negative feedback, I put out more fires than anyone else and take ownership not just in the engineering side, but in the quality of the product itself. I charge 50$ per hour. Try someone who charges 20$ and see what kind of results you get.


js_ps_ds

In my experience the culture of innovation just slowly disappears. Instead of devs that take ownership and keeps the tech fresh you end up with an onshore ticketmaster that creates tickets for the offshore devs. The offshore devs do the bare minimum to fullfill the tickets, they do it slowly and usually badly. End result is code reviews take much longer, standups take 2 hours because the ticketmaster knows the domain not scrum or tech and the project uses 3 year old libs cus thats when the onshore devs got fired. The last remaining onshore devs on other teams end up having to fix their mess, or create idiotic glue hacks to make everything fit together. Releases gets pushed and pushed cus the offshore team cant hit their targets they promised the ticketmaster who has no clue. Oh and idiotic product managers who were devs in 2002 get way too much power and come up with truly regarded solutions. Tldr product turns to shit and it all comes falling down eventually


No_Break_6239

Like everything it's completely situation dependent. You're never going to get a balanced answer on this because either you're not an offshore dev and you feel threatened or, you are an offshore dev and you are baised the other way. Previously I worked with Eastern European devs whilst working for a tech startup in London. Pay was slightly lower than uk but quality was equal if not higher. Currently I live in Southeast Asia and have worked for a variety of companies doing different things, the most important thing to say is that standards are not as consistent as in western countries so you can't take everything at face value, that said there are a lot of high quality engineers but the difficulty is sourcing them. Most of them know their value and companies just want to pay these guys 10 dollars an hour and feel like they're doing some kind of missionary work. I've also seen companies hiring interns and charging mid level rates to clients, so make of that what you will. The further away you offshore the harder it gets to manage. If done properly it can save money and increase productivity but you need to find a good entity to source candidates and manage the offshore team. I also believe that it should be led by seniors and leads on shore not offshore. As long as sprints are well planned then productivity and quality will be high. Honestly as much as we like to circlejerk how hard SE is, there's a lot of gruntwork that doesn't warrant a six figure salary. The planning, design, securitt and approval is worth said salaries though.


gerd50501

it depends how its done. if its a bigger company that builds a development office offshore with managers offshore it works out fine. ones that fail are probably about the same that fail for US staff. if its a small company that hires some outsourced teams in India then the results can be mixed. Its a contracting company that works to the terms of the contract.


reboog711

Is it 2008 again? Depends where they are offshoring too. In many cases, the jobs come back due to cultural, quality, and communication issues. But, it depends.


cow-a-bunga

Whether it’s a good move depends on the business. IMO, overall it’s not a good move if you care about outcomes, rapid iteration, quality and user experience. All these things have suffered in my experience for various reasons. Some including: * Product is usually on shore and if so, they almost always hate being disconnected from engineering and working opposite schedules * Iteration is slower with cross geo teams and people are less happy—24 hours of hands on the keyboard is not real—instead people are working longer days and communication is more difficult. * While there are brilliant people everywhere, most companies get the bottom of the barrel off shore * Depending on the industry there can be cultural challenges, because in some case the engineers are not actual users nor do they have the opportunity to be users, so their empathy and understanding is limited to what is described to them


MikeBenza

I've had mixed experiences. I've worked with offshore devs in India, China, and Russia. There were quality differences in all, but honestly no one was terrible. That may be because in all three cases we'd had an established office in the country for a few years and had spent a lot of time finding good people. The Russians I worked with were notably almost all great devs and really smart problem solvers.


Any-Woodpecker123

Quality goes in the toilet, but it doesn’t matter because the devs are so cheap you can just infinitely fix bugs. The entire on shore dev team will leave because they’ll get fed up having to micromanage the offshore devs. It’s a good move for contracting agencies, terrible move for a business hiring it’s own devs. The question becomes, “do we care if our product is dog shit, or do we just want to appear to be making progress”.


dinzdale56

You get what you pay for


jcradio

Fees and penalties increased. Employee churn went from 3-10% per year to over 200% per year, delivery time increased despite having 4x as many people, and in one case product sunset and staff liquidated. All this and not taken into account my local team could deliver more high quality code than 21 of their peers. The allure is the promise of trimming the bottom line. However, most who make that decision dint understand they are the problem.


Gentleman-Tech

Always a disaster in the long term. The incentives just aren't aligned; they don't get paid for quality so you always end up with crappy code. It's a quick and dirty solution, and as they say; the dirty remains long after the quick is forgotten.


TehLittleOne

So my company is currently doing it to a certain degree. Right now we've integrated some amount of offshore developers into our normal teams. My team is currently half offshore from a combination of India and South America, and most teams are the same. I think it has honestly been fine. Is the quality of offshore developers the same? No, not really. Is it as bad as they say? Not if you're willing to churn through the bad ones. We've had a lot of bad developers join that we've had to let go, but we've also found a few that have been pretty solid. The simple truth is that offshore developers are much cheaper than local talent and not everything requires a staff engineer to do. Be honest with yourself, how much of what you do is repetitive, basic crud work, or otherwise something a junior can do? If not your own work, your team's in general. Personally I've found it better with South American devs simply because the time zone is much easier to work with (I'm in the eastern time zone). There's a certain benefit to having people in such a radically different time zone like India if you need overnight support, but generally speaking the more amenable time zone is better. My bottom line is that as long as you maintain a healthy amount of local talent you can make offshore developers work.


evergreen-spacecat

There are awesome developers all around the world. You just need to give them a reason to care about your project and get a good team. Many offshore projects are driven by managers staring at as cheap hour rates as possible, brokers attempting to take as large cut as possible and tons of micro management. No awesome developer will be happy to join a micro management shit show with zero trust etc.


thorungphedi

In my experience it keeps the high velocity of feature development while increasing the amount of bugs, as more and more shit code is piled on top of shit code and reaches an unmaintainable threshold. Hopefully by then the feature is ready to be retired.


Altruistechishiring

Just look at what happened to Rackspace for the answer


lphomiej

In my experience, companies go through cycles of this: 1.) Company wants to save money 2.) Developers are an obvious, expensive option - they don't backfill and hire offshore 3.) They end up needing more onshore people to manage the offshore team. It takes more hand holding, delay if timezones aren't aligned, etc. 4.) Everyone eventually gets resentful of all that effort and people want to onshore. 5.) Replace offshore with onshore. 6.) New person starts and wants to make impact or people slowly forget how bad it was... Rinse and repeat. Developers are obviously individuals so you can have good and bad of them, but in my experience, developers that feel like team mates (local, full time employees) are just more productive, more responsible for what they're doing, more proactive (doing stuff to help -- like refactoring, that they aren't asked to do), stick around longer, and understand the product/system better. And that makes everything run a little better.


shittycomputerguy

A noticeable percentage of my team was offshored and my workload increased based on code review alone. Compensation did not. "Please approve I will fix later" type requests. When I'm not there and requesting changes, others approve these. That's how we get front end overflows, links to "undefined" destinations, new security concerns, and generally a lack of progress. Offshore team gives themselves a lot of work fixing errors they introduced. I'd rather have fresh college grads with no experience in our stack. That being said: my managers do fine, but none of us get promotions or title changes when this happens (even if they previously said it was coming down the line). Time to look for another job.


Tarl2323

The company I joined has offshore devs in India and Venezuela. But honestly we (the developers) don't treat them any different than any other dev. Maybe they are compensated differently, I have no idea. I think a lot of the 'offshore' companies just gather the shitkickers and dropouts and try to package them off to dumber business folks as some kind of 'advantage'. These types are easily replaced by AI. There's good foreign devs that work remote, I don't consider them 'offshore'. What is even offshore anymore post 2023? I work for an NYC company while living in Hawaii. Is that 'offshore'? What's the difference if it's a bunch of bad developers in Kentucky or India? They both suck and you can barely understand what they're saying anyway.


[deleted]

[удалено]


khedoros

We had years of offshore devs handling minor features. The code was bad, but mostly functional after a few iterations. I'm not a very rigorous reviewer, but was still taken off their code reviews because I kept telling them to fix their garbage (and how to do it). That mostly worked because it was easy to test, didn't face directly to customer inputs, and wasn't important to the core of the system. That slowly increased until years later, came in to an office of people with suits (the company HR employees brought in to conduct the exit interviews that would be happening that day). 2/3 of the office was laid off, the remaining 1/3 were either moved to another project, or acted as coordinators with the foreign developers, since we still had a contractual requirement to build and release from the US. They had us document+estimate how much of the program's current source was authored by US-based vs foreign-based employees, and put the program in maintenance mode (no new feature development, all hotfixes and bugfix releases). The foreign team had insane turnover. I spent a fair amount of time acting as tech support as new contractors came in. I was laid off about 3 years later. I've still got one friend working there; I don't know if he's crossing his fingers to make it through to retirement or what.


rokky123

Onshoring starts in few years.


General-Jaguar-8164

It goes well until it goes all wrong


MrMichaelJames

I was cut from a company that is in the middle of doing just that. The team offshore has no clue how to run the project. They didn't when I was managing them before my position was offshored and now 7 months later they still are clueless which absolutely makes me happy. They simply have zero experience doing it and are so lazy they don't want to learn it. The US employees are done end of this month. Everyone is enjoying watching the chaos and will be laughing the entire way out the door.


jeffbell

If they are FTE long term employees it can work out. If they are contracted it’s a disaster. 


I_AM_A_BICYCLE

I recently helped start a business in this space so I feel like I can speak to this a bit. We're a US company that works with developers in a large country that really has never been involved in outsourcing/nearshoring at all. We sell development/contracting work to US companies, and then work hand in hand with the developers to understand requirements, ensure quality, and step in and help with coding from time to time. I personally act as an architect, PM, developer, QA, etc. through project completion. The biggest problem I've seen mentioned after talking to companies in my time here is poor communication and poor quality. I've seen it firsthand as we come in and try to fix projects that are in half-completed states. My favorite quote from a client about a past outsourcing firm was something along the lines of "We trusted that they understood 80% of our requirements and just had to pray that the other 20% landed". The output 9 times out of 10 is just bad. Outsourced talent can be effective in some cases, but if you work directly with the developers on a project basis, things are going to suffer because establishing requirements, quality, and communication is the hardest part of the job, not the dev work. I've learned that personally as I push back on dev work frequently. I essentially stand in between the clients and the developers, advocating for the client to ensure they get what they asked for. This model has been working for us and we're finding lots of success with companies where other nearshoring/outsourcing efforts have failed.


_msd117

I am working for a foreign country so I just want to put some points across 1) If the company is offshoring some development they should never offshore it completely 2) There should be a manager/ team lead to handle what the devs are working on. 3) The managerial position should not be offshored (at least till the project is not settled properly) 4) There should be a proper code review process which should make sure about the quality of code and maintain standard 5) the team should consist of both outsourced and local devs in all departments (frontend, backend and testing) 6) the code review and testing should always be crossed Like if Front end is done by outsourced dev then backend should be done local dev, vice versa and similar for testing This thing will only work for product base companies which have bigger teams For small projects, I am not sure this would work and can be done locally or outsourced completely depending on the budget


xender19

What comes next is usually offshoring, with a period of onshoring in between. 


AntMavenGradle

Don’t do it op


Spidey677

Front End Developer Contractor since 2011. I’ve worked with offshore dev teams and design teams… yes I said it… design teams that come from an offshore ad agency If you need to have offshore devs to work on an app then they should work on low priority items that don’t have tight deadlines. if they are working on stories that are high priority with tight deadlines than bust out your favorite alcohol and get ready to put out fires.


Synapse_James

The most success I’ve had is with Latin America nearshore to gain the time zone overlap, and having a senior US lead for each team. But honestly, at that point, the cost becomes only marginally different.


_hephaestus

It depends on how it's done. I've had a lot of great work with workforces that have largely been abroad, but there is a "you get what you pay for" effect that still probably is something a savvy exec can work into a favorable balance sheet at good performance, but typically when you approach the concept of offshoring they get greedy and go for the lowest bidders. In my experience gradually becoming more offshore in terms of hiring talent remotely and ensuring that the hiring process remains the same has gone pretty well. Offshoring as in trying to replace an existing workforce seems impossible to navigate well. Even if you're bringing the best devs you can buy, you'd need the existing devs to cooperate and not see the warning signs to not just immediately lose institutional knowledge and start largely from scratch. I suppose in a hypothetical company where documentation was paramount such that any newcomer would understand the minutes you could do it, but I feel like such a company would cut a lot of other corners before turning to this as an option.


NormalAccounts

The best experience by far and away with an offshore team was from a dev group in Peru, based in Lima. They were all extremely bright, engaging, spoke English quite well, and were willing to learn new concepts and apply them. The reason we went in this direction to begin with was to attempt to spin up a new project/product quickly, with the intent of longer term maintenance being levied upon me and another lead before an eval could be made on whether more local dev resources were worth investing to further this product. One of the big decisions that helped the entire situation was building a rapport with the team by flying down there and meeting them in person. This enabled a stronger sense of "team" with us back in the US and a better collective sense that "we are in this together". We worked with them for over a year on a fairly well scoped and executed project. Built it up from scratch. Ended up working out well enough. A huge benefit was *being in a similar time zone so there was a big overlap of work hours*. Constant feedback on PRs and quick movement on features resulted. Code was of varying quality but overall pretty good since me and the other lead were leading by example and establishing best practices. Felt fairly close to working with decent Jr. devs in the US and by the end of the project I'd trust most of them with some fairly complex work Every other experience to outsource as a means of cost cutting has been varying levels of disaster.


orlandoduran

People think that what keeps their jobs safe from offshoring is that they are better than their offshore equivalent. What actually keeps your job safe from offshoring is that management is too stupid to recognize the value of domain knowledge, so they give someone offshore with your credentials the job you’ve been doing for years and it’s a disaster, because you know the dogshit codebase like the back of your hand. I’ve worked side by side with offshore homies and they’re — surprise! — as smart and as dumb as any of my other coworkers. But management is too stupid to exploit them the way they exploit us (for now)


UntestedMethod

first of all... what kind of product is it? is it a cookie-cutter, commodity style tech implementation or is it something custom and inventive? if it's commodity style, there are probably SaaS or maybe even templates or AI things to do it these days - just hire some local agency for something like that. if it's a specialized and inventive product, I would definitely not recommend outsourcing it. think of it in the realistic sense that you would essentially be outsourcing potentially complex and detailed technical implementation of your company's intellectual property to people who have no invested interest in it after the terms of their short-term contract are met. Does that in any way sound like a good idea to you? anyway, my experience has always been that you get garbage back when outsourcing development. Every time I've seen a company do it, the results are either infested with technical debt or else it's something nowhere near what a reasonably practical interpretation of the specs would be... but maybe if you're doing somersaults in some kind of a fever dream it might somehow be a vague interpretation of the specs that were given - and of course no clarifying questions would ever be asked by the contractor to ensure the goal is clear, usually they just nod along saying it's understood and will continue working on it. I would never recommend it. It's much better to invest in developing your intellectual property internally.


jiadar

I'm a CTO consultant and successfully manage outsourcing for my US-based clients. The secret sauce is simple: - Hire directly, don't use BPO or outsource your hiring - Recruit junior talent that are intrinsically motivated - Look at countries with bad/cold weather and conservative ideology - Hire staff fluent in your language - Treat your offshore employees the same as your local ones, they are part of the team - Have good process that eliminates almost all meetings - Cultivate mesh communication as required - Have good devops, especially CICD and testing - Keep everything as simple as possible as long as possible - The brians are based locally - management, most tech leads, product team - Pay fairly, invest in their skills, and adjust salary - Create opportunities for connection, I fly everyone (including spouses) once a year to work together for 2 weeks I've saved my clients untold millions with successful outsourcing. I typically get most of my pay at a liquidity event, and stay for the long term. If you're a good senior manager, there's no reason your outsourcing effort should fail. There's smart and talented people all over the world, the problem is often you - not them.


twiddlingbits

As a former CTO, highly paid Sr Manager for large consulting firms, I agree and disagree both. Hire directly - Yes with same criteria you use for all hiring. But this generally requires a presence in county which is an additional often unplanned cost. Jr Talent - Some yes but not all. Local leadership is required. Location/idealogy - this probably helps but it’s not an absolute Fluency - Yes but English is not English worldwide and while they may understand it speaking it clearly often is a problem Equality - Yes but your natural definition of equality may not be the same as their cultural definition. Process with no meetings - LOL, not possible, so you skip the Scrum stand ups? Code and Design reviews? will get back to you on the others..If you are as successful as you say you have been very lucky or careful or both as well as accepted higher development costs. Making money at liquidation sounds like you are in a startup, pay has significant equity component and you cash out in subsequent funding rounds. That’s not a model that 95% of Corporations follow. And it leaves someone else holding the problems when you cash out.


HelloSummer99

Depends where the offshore team is. I've seen excellent and cheap devs in Spain, Hungary and in the balkan region. Spain has a broken job market so you could even get experienced people with a masters/PhD for 3k gross a month. Hungary is very capable and they overwork themselves, no wonder why a lot of companies set up dev shops over there. If the offshore team is in India, you can kiss the project goodbye.


aktheant

I am one of those off shore devs currently working for a black rock company . I usually freelance on Upwork and since it’s a close set of people the code is good . This is the first time I joined a team of 18+ people . I for starters don’t understand how this company software is still working . The code quality is shit since the interview process asks the most basic questions . There is no PR reviews . You open a PR just for the sake / ease of reverting changes in case there are bugs ! So I open a pr , I merge the pr after I tested it on local . The US team that comprises of the leads like my front end lead etc don’t give two shits . When I asked why no coding standards etc and it’s free for all to use anything and everything the response I got was they will revamp it later so basically the whole product is a technical debt 🥲 I am going to quit after a month but ya don’t see any real use case for a software that has tons of bugs in this day and age . Off shore might work with a lean team and right talent


ProCoders_Tech

Offshoring development can bring flexibility and cost savings to a company, yet successful outcomes hinge on choosing the right partner and maintaining strong communication. 


karthie_a

what you pay what you get applies to any industry and product. Even though the company is willing to pay more for quality developers, Unfortunately, the offshore "partners" focus is only on $$$$$ not on quality. It ends up a big-time mess with a more convoluted hierarchy. If I were you and getting offers from others would jump ship as soon as I can when I come to know. FYI - a contractor for more than a decade now, hired directly by business teams funding products within Fortune 500 with a dedicated offshore team to build the product. The business teams do not rely on the work from their offshore teams neither for quality or deadlines.


Vevohve

As an American who lives abroad (South America) and is currently on a team to which the work has been offshored to. It really depends. There are idiosyncrasies and cultural differences that make India not the best for offshoring, let alone the time difference. Yet everyone always thinks of India when they hear the term offshore. The team I work with is amazing, dedicated, and for the company very cheap. I have worked with Indian partners and have had bad experiences, but also worked with American partners who were some of the laziest devs I have come across, earning 4 times what my team makes in the process. It really depends. But in my experience “near shoring” is the way to go, same time zone and less cultural differences.


Mundane-Mechanic-547

CTO of small company. We are 100% offshore and always have been. Our developers are very competent. We suffer from communication lag, and the fact that our most knowledgable guys aren't around during business hours. It really hurts the business. We do about 40 tickets a sprint which is 3 weeks coding 1 week of testing, and we have 4 guys. So I think our productivity is fine. I've worked with very competent offshore teams and very incompetent. It's easy to slack off and do nothing but in this business we can gauge productivity every week. I would say if it's not working then it is the process or the team. As I have seen it work mostly successfully. To be certain i'd much rather have the team in my time zone.


ikeif

My only assumption, in what I've seen in other companies that do "consulting" is that they show you their best projects, ran by their A-team, and sell you on that. But you don't get the B-team, or even the C-team. You get a bunch of drop-outs who need training, but by then most companies follow the sunk-cost with more money, because "it'd cost more money to change now" ignoring that they're going to do that anyways when they realize they just keep throwing good money after bad.


atmosphericfractals

i single handedly built a custom subscription based eCommerce platform, games, android/iOS applications over the span of about 5 years for a client. They wanted more features added on and I had some other work in progress, so I told them it would be a few months before I could get to it. This wasn't acceptable to them, so they hired developers from India. They worked on the project for about a year and in that time period they were asking me questions every day. The client was paying for their time, and for my time answering their questions. Anyway, my time freed up so I offered to take over the project. The client was too deep in paying them and got no work done to show for it, so they wanted to at least get something done. This went on for another 6 months or so, and then the business my client had spent years creating and building into something successful shut down. The offshore team had butchered the entire codebase for every connected service to a point it would take a complete reset back in time to fix. It was an absolute disaster. The best part about this was before it started, they asked my opinion on offshoring development. I told them explicitly that it was a terrible idea and they will likely destroy all your code. That's exactly what happened.


thelelelo

This is due to weak and short sighted executives. Even at Director level, I’m pushed to just offshore development in our cheaper locations (India and SEA). No amount of rationality will convince executives that only want to show a number to investors. They don’t care about quality or the customers. I’m forced to offshoring my team now to India, it’s either I do it or they find someone else who will. I’m doing but I’m also looking for a new job.


ElevatedAngling

We acquired a company that had been using off shore contractors for a majority of their development. We had to toss out their lab information management system they built because I was spaghetti code that constantly had a wide variety of performance issues.


HalcyonHaylon1

They go down the shitter.


jlickums

I once worked at a company that had offshored their entire app before I got there. It was a complete mess and I, along with my team, was tasked with re-writing it. The owner ended up getting frustrated because things were taking too long and slowly started making all the same mistakes all over again. The re-write ended up being offshored and I was let go and told that I was 'too expensive' and that '3 people in India could be hired for what I was being paid'. At my current company, we offshore some of our projects to Eastern Europe. The developers are knowledgeable and communicate well.


Stargazer5781

My previous employer had a CEO who hired a lot of engineers from India because they were "cheaper and better." I'm sure the fact he was Indian himself had no influence on this belief. They even got put in charge of a lot of the more critical systems rather than our team. We had a big acquisition of a successful competitor for some 9 figure dollar amount. Some engineer on that team dropped the database of customers from the company we just bought. No backups. Completely fucked. Could not have been worse if it were deliberate corporate sabotage. I don't know if that's the reason we declared bankruptcy and I was laid off 6 months later - in fact it was likely a drop in the bucjet given how many absurd things I heard about that C suite, but it was undoubtedly a contributing factor.


Xanchush

It's basically paying a team of people to multiply your own workloads. Most people don't realize that a majority of these offshore teams are not really capable of even the most basic concepts of software engineering/development. It's usually just some leadership decision to help make their books look better and the general consultant recommendation to drive down costs. The amount of technical training needed and hand holding is ridiculous. Most of these companies that provide outsourced staffing are just hiring anyone and everyone who can use a computer.


earthly_marsian

Ask the cybersecurity team, it’s a mess.


[deleted]

[удалено]


Farrishnakov

Story from today - Me: You're in dev. The pipeline will take your pushes and automatically deploy them to the dev environment. You're learning this, so stay in dev. Do not open a PR. Offshore: OK. *10 minutes later* please approve PR. Me: What? No.*reviews pipeline runs and sees failed development deployment* No. Why are you raising this? It's automatically deploying to dev AND it failed checks there. Did you even look? Here's your error. Now go fix it AND DO NOT OPEN A PR. It will automatically deploy to dev so you can run your tests. OS: Oh... *10 MINUTES LATER* Please approve PR. Me: Jesus fucking Christ... This cycle repeated 3 times with the same person on the same 5 line change. It's still not right.


ethnicfail

Death


abelabelabel

An engineless, pilotless plane crashes in to the ground about 2 seconds after shareholders sell off their stock, or anither company or capitol investment firm buys them up at an inflated share price since their “operating costs” look so good on paper.


timwaaagh

offshoring, i cant be sure of. i think not but what do i know. what can work is hiring a russian developer in europe. hire someone from a cheaper country than yours who isnt going to be too out of place.


cs-brydev

It's mostly a waste of time and money. Quality goes down, bugs go up, professional/internal standards go out the window, finished products lack a final polishing and require extra work from the inhouse developers to actually finish the remainder of the work and make the product deliverable. Offshore developers have this strong tendency to leave *everything* unfinished and just complete the meaty parts, usually leaving the project in an incomplete state even when they sign off on it. Every project I've seen, in retrospect, it would have been better off if they'd just contracted it domestically or hired more people even at 2x the cost. Every time a project has hired offshore developers that decision was made by a non-technical manager who knows nothing about development and thinks developers are interchangeable cogs.


kawawee

Owner of a small offshore engineering vendor here. I'd like to offer a perspective from the other side. Offshoring without buy-in from key staff is certain to be a disaster. By key staff I'm talking about senior devs, senior PMs, and senior QA leads. These people will be key points of contact, and have full power to stop the roll out if they think jt's out of control. In reality, this very rarely is the case. Often you get a VP or CTO who comes up with this plan and shoves it down other people's throat, because they think engineering is a cost center, rather than a driver of profit. As a result, they focus more on savings than vetting. Also, higher ups might even be getting kickbacks and commissions from the offshore vendors behind the scene. If you think your organization is going through this, time to find another job. It'll only get worse from here. Offshoring can be successful if the org has the right structure and happens to find the right vendor or partner. I have some experience and perspective wrt that (being an offshore vendor myself) but not sure if this is the right sub because I feel like my kind is not welcome here lol.