I'm a computer programmer by trade. One of the great "innovations" in the management of computer programmers and their craft is the outsourcing of work to offshore "resources." That means (Asian) Indians.
This was discredited as a general purpose long-term strategy about 10 years ago. The reason is that the company loses the nuts-and-bolts knowledge of how their software operates and thus becomes dependent on the consultants. They lose the technical ability to check their estimates and designs. They also lose the drive to improve their technology. Technology changes fast. Most innovations are just hype. Some aren't. Managers don't know which is which. The consultants have no incentive to rock the boat. The result is slow turn-around on projects (the company is locked in), poorly vetted designs (the company has no technical eyes), and stagnation (no innovation.)
My current employer, however, never got the memo.
This destruction doesn't happen immediately. It sneaks up on management because the consultants are soooo nice and take care of soooo many troublesome details. The people displaced by the consultants move on and thus the trap is sprung. As the company starts bleeding employees, project deadlines become at risk so they hire more consultants to pick up the slack. It spirals. And which employees leave? The ones who are the go-getters and want to build and accomplish. And which type of employee remains?
To make matters worse, our company used consultants as a substitute for planning. That is, a VP somewhere demanded that our software be internationalized so we could tap the entire world market. Now, is this rocket science? DUH TAP THE JAPANESE, KOREAN, AND EMERGING CHINESE MARKET. For the last three years, at least, that should have been a constant goal as we maintained our software - I18n software works in the USA, too! But we sat on our thumbs instead, always doing what was easiest and had the lowest risk. The VP set the completion date of The Blessed I18N Event with little technical input. It was arbitrary and artificial. We don't even have any clients who need the new software. And the ONLY way to make the artificial deadline was to go to India.
The decision to outsource my job was made six months (or more) before they bothered to tell me. Why upset the little people! So instead of spending my time documenting and preparing for it (I am a professional...) I got "Oh, by the way, the project you've been working on for six months is canceled, these Indians are going to do it instead."
The executive who made the decision to outsource has been whacked, and the guy that followed him has also been whacked. They operated from a different and somewhat competing office. I suspect their motives weren't so pure. Good riddance.
When I met the customer-facing Indians I was pleasantly surprised by their competence, diligence, and humor. In short, I tried to dislike them but couldn't! They are really good, pleasant people. I like them all. My discomfort is not their fault.
But the fact remains that my job responsibilities are nominal and my team is destroyed. I don't code anymore and the new architect has made it clear I am not to make any decisions - that's his job. >:-|
So, three days ago, I voted with my feet and resigned. It sucks but I didn't see good odds of any improvement within the next few years. The architect is younger than me and more athletic, so I can't even out-live him. :-D
I'd been seeking a good job for about 9 months. I didn't see a reason to go from one unsatisfying job to another.
But mutual need happened at just the right time, and I landed on my feet at a web startup being run by some pals. Pretty sweet. Perhaps a nominal pay cut but I'll be challenged, have more job satisfaction, and some camaraderie. I need these things.
I'll be doing a lot of my work using Ruby and Ruby on Rails. Learning a new technology will be nice. In the meantime, I suspect they'll want some stuff done in Java too.
The new company is called The First 30 Days and is about life changes. Like changing jobs, for example.