Hi Hates.

TL;DR: I'm sorry for your situation. Offshoring will fail. Find another job.

Here's my experience, some bullet points, followed by my advice:

Our bean counters have tried to offload our work overseas. Maybe 5 or 6 times now. It never works. Here are my disjointed observations:

#1 The motivation to offshore is to reduce costs. Company grows by cutting costs? Companies grow thru investment. My product is in an emerging market. What moron tries to cut costs during a turf war in a green field?

#2 Most projects fail. Offshoring just reduces the cost of failure.

#3 Most companies wouldn't send their work down the block (e.g. outsource to another company). Too many problems. Losing a core competency. Accountabilty, transparency, responsiveness, etc. Then how does sending it across an ocean make it all better?

#4 Offshoring will roughly triple your work (as a dev). Teach your replacements, manage your replacements, QA/test the crap they create, give up when you've run out of time, and end up doing a last minute rewrite.

#5 Want to know what working with offshore people is like?

First, take your experiences herding project managers, business analysts, QA, testers, etc. All those "value add" corporate drones.

Next, add language barriers, culture mismatch, timezone skew, complete lack of accountability and transparency, zero domain expertise, and very green developers.

That's what working with offshore "teams" is like.

#6 It's about the people. I'd outsource again if I was working with the best. I once sent a lot of our work to Europe (Belgium, Germany, Spain, France) because we found the best people to do some very specific work. The people we found were rockstars. Offloading specific tasks, plus all of the infrastructure and processes we had in place, was like a force multiplier for my team; it freed us up to work on other stuff. It was awesome.

#7 Time to market is more important than cost. I simply cannot imagine a scenario where contracting / outsourcing / offshoring will shorten a project's schedule. (With the exception of #6.)

#8 All the methodology stuff is mumbo jumbo. Agile, Scrum, SEI Level 5, ISO 9001, blah, blah, blah. Everyone we've worked with is well versed in all this crap. Doesn't count for squat.

There's a difference between saying and doing.

I'm sure you've interviewed lots of people. The candidates with resumes sporting all the vogue certifications are always a disappointment. They allegedly passed a test. But we give programming tests and they usually chowder.

Tell me what you've done. Not what you know. Methodology is moot if you don't ship a useful, usable product.

#9 During the last 5 years, our bean counters have tried to use Indians and Vietnamese. No expense was spared on training, sending people back and forth, etc. The people we got to meet were absolutely wonderful.

I can't say enough how proud I am that our overseas peers are working in the field and trying to get ahead in life.

Okay, done with the accolades.

Pretend for a moment that offshoring to India is workable. In our experience, the turnover is incredible. At one time, the programmers we trained would last maybe 9 months, and then zing, they'd be off to higher paid job. So then you start over again with fresh meat, which is a reset (e.g. the forming, storming, norming, performing cycle).

The Vietnamese people were super duper nice, and tried really really hard. But the language barrier proved insurmountable. I think there's probably some cultural stuff at play too, but we never really got past the most basic programming tasks, so I honestly couldn't say.

#10 Our product (was once) in a new market. Emerging. And still changing rapidly. All these offshore "bodyshops" want requirements and specifications.

Um, yea. Not possible.

We're making it up as we go along. The customer doesn't know what they want until they see something. (Typical of an emerging market.)

If you've ever written documentation (reqs, use cases, UML, specs, test plans, etc.) you know that it's just as hard and takes just as long as programming. In fact, it harder. Because you're explaining stuff to a green programmer who has no domain expertise.

Frankly, at that level of details, it's just quicker and easier to write the code.

#11 When (not if) the offshoring fails, you'll be blamed. You didn't try hard enough. Or you sabotaged the project.

As though Tinkerbell really will fly, if you'd all just clap loud enough.

###

Okay, I think that's my list.

Like I said at the top, we've tried this offshoring thing multiple times. I'm absolutely certain it'll continue.

Those of us actually doing the work have tried to argue, deflect, stop, etc. We always lose the debate. Now we're just numb and don't say anything.

The bean counters are not like you and me. They go nuts when they see 1/5th the labor costs. That's the only number they care about.

To them, we're all just interchangeable. They have exactly no idea what we do or how we work. Programming! Geesh! How hard could it be? And for these costs, I can get 5 times the number of programmers! We'll have 5 times more product!

I've been around a lot of professions. Programming is a weird thing. We're dismissed and second guessed all the time. What other profession is this poorly regarded? People don't second guess their architects, plumber, doctor, contract manager, mechanic, geologist, etc. (Or maybe they do...)

Okay. Rant over. Here's my advice.

Find another job. Something that'll make you happy.

I'm at a point in my life that I like having a steady job, health insurance, and accrued vacation time. And I'm not busting my ass working 80 hours a week making someone else rich again for a while. So I just smile, keep my head down, and quietly pick up the pieces after each failure.

Such a life.