I’m Stealing This Topic
It was in the news again, India Tech Giant Warns Trump’s ‘Radical Shift’ to Hurt Industry. What can be said about outsourcing software development that has not already been said?
I have worked with people from all over the world, China, Taiwan, India, Nepal, Germany, and even Idaho. They are all people, with strengths and weaknesses. I have worked remotely with teams in India, and China. We used some code from a consulting company in Ukraine. Some of the code was good, some had troubles.
The problem with a blog post like this is the assumption it makes. It assumes the outsourcing is from a US company to some other place in the world. We should turn that upside down. (Queue the flashback music.) What would happen if a company outsourced to America?
Imagine your the manager
You sit in your cubicle looking out the window. Being a manager gets you a view of the window. In Hinderbad, it is hot and dusty. In Ukraine, the snow falls outside. (I’ve never been there, I don’t really know, but use some imagination.) You think about the project, recently outsourced to the USA Embedded developers. The same old questions keep crossing your mind. What were we thinking outsourcing this project?
Your staying late, and on calls early in the morning. Time zones on the opposite side of the world make the difficult task of managing a technical project exponentially more difficult. Sure, they work while you sleep, but it means coordination is just hard.
The developers are expensive. More expensive than the local developers. There are different rules over there. An engineer usually has more than a 2 year degree. The problem is the best engineer, the one who listens, has a degree in English Literature. We’ll keep that detail to ourselves, unless asked directly by the boss.
The culture is so different. Everyone speaks the same language, (and that is American English, nobody bothers to even learn Hello or Thank You) why don’t we understand each other? Finally your getting used to Texas accents. The Californians are OK, but why must they talk in quotes from old movies and shows? Nobody here has seen The Flying Circus or South Park and the DVD they sent won’t play in my machine.
They want to work alone and be cowboy coders. They don’t want to work with the larger team. They want more and more control of the servers, the source control, and their own special procedures for commits. The manufacturing, device programming, and HQ is here. Why this big struggle for project control?
They speak up in meetings, where even the managers can here their objections. Why won’t they say yes, then talk to me later, privately. Don’t the loudmouth Americans have any idea how to get things done? And once something is decided, they bring it up again next week. There is no end to the arguments.
The managers like the app in the US, but not here. It is too sparse and information is hidden. It makes internationalization almost impossible. There are more than 26 letters in other alphabets. And the colors, why not use some? Flat designs, so all the applications look the same.
The specification has not been completely followed. They eliminated features in the specification, saying it was covered by other parts of the system. The specification is what we get paid for, so build to the specification. They always want to ask customers, we have the specification, build it! But, no reason to bring up the specification just to have a discussion about Agile, or Scrum or the newest development fad. Why not write more code and talk less about it. The TDD stuff has been useful, but now tests are out of date. None of the engineers want to work on tests, so they want more resources for testing. The suggestion that we can just do the tests here, while they do the “important stuff” is hard to here every status meeting. The tests are important stuff, and everyone must work on them.
At least they stay on the project. We’ve lost a few of the younger engineers here. Who can blame them for moving to get more money once they have some experience.
Never again. We can do this locally and it will be easier. Maybe we can hire Canadians?
I’m guessing, based on my experience with outsourcing. Think about it before you complain about us and them. We are all in this together. I guess people are people and software is hard, no matter where you are in the world.
If you have more to add, and especially if you have direct experience, let me know in the comments. Always, please, be nice.