One of the clients I do a lot of work for has programmers in India doing much of the coding work on their web application. My client is in LA, and I am in New York, and let’s just say managing three time zones is a bit of a hassle. Usually, when I am going to bed, the programmer is just coming in, and we have little over lap, so I often stay up too late trying to communicate with them, or asking them to come in early or stay late to no avail. The more we have worked with this programmer, the more I am certain that whatever theoretical savings there are to be gained in a lower hourly wage are way more than eaten up with inefficiencies, missed communications, or just plain unresponsiveness. Although my client supposedly has this programmer “full time”, we are usually lucky to get an hour a day of actual work out of this guy. I don’t blame him entirely, because it seems quite likely that his bosses (both in India and representative selling his work in LA) have actually sold him (and many like him) at “full time” many times over to many clients. And they go out of their way to obfuscate the work or time necessary to do things, preying on the ignorance of their clients and the distance. Here are a few of the issues:
1. Time difference – as noted above, it is hard to have productive overlap with the programmer there, and we lose a lot of time waiting a whole day for a response to a problem or question.
2. Non accountability – Although I have demanded many procedures that will help us account for time, they are crazy reluctant to agree to any of them (such as source code control on our servers) and when they do agree, they drag their feet or simply ignore it until we ask again. And again. And again.
3. Low skill level – Our programmer is both low skilled and extremely slow. It is hard to know which is his worse characteristic. And some of his slowness could just be that his taskmasters are assigning him many other projects at the same time, despite his “dedicated” status.
4. Deliberate obfuscation – In order to maintain their illusions, they often quote ridiculously long development times for things, delay communications, and simply ignore requests they don’t want to deal with.
In short, my experience with outsourcing, while limited, sucks very badly. I am just glad it isn’t my money on the table, I wouldn’t put up with this for as long as my client has. That said, they are not technical, so I can imagine it has been easier to pull the wool over their eyes. And it is probably the same story across the country with well meaning (or not) managers that think they are saving money, when often they are getting screwed. I think I have finally convinced my client they need to find someone new, and I will begin looking for a new programmer for them in the coming weeks. One who is accountable and skilled, who may cost more money per hour, but will be far more productive.