Offshoring and a Job No One Wants

November 11, 2011

A local well known company has been looking for an OSX programmer for months to work on their customer facing application. This product exists in two versions, one Windows and one OSX, that only their clients use as a front end to their service.

The OSX version is pretty far behind the Windows one and sounds almost archaic (Carbon) and clearly problematic going forward. Both versions (which do not share source) and primarily developed by different offshore companies. Contractors locally design and manage the work but don't do any actual coding. The product this is a client for is highly important to the company and very visible nationally.

So why does no one want this job?

The well known national company appears to have the policy that headcount must be minimized and that all coding be only done by offshoring firms. So they hire contractors (and pay recruiting firm's overhead for this) and hire offshore firms which are then "managed" by the contractors. The goal is apparently to save money.


I doubt they actually save anything, paying recruiter overhead and having offshore firms likely pad their headcount. Not to forget the app itself is a poor reflection on the company and its profitable service. Also not to forget how constant turnover in both contractors and offshoring firm programmers leads to inefficiency and loss of knowledge. All around the savings touted are illusionary.

I get this position from multiple recruiters almost every day. Every day I tell them if the company would simply eliminate the offshoring part of the equation and just let me work on the application they would not only save money but likely get a huge upgrade in the quality and modernity of the product. I already interviewed with the managers and impressed them. During the interview at the last minute they mentioned the offshoring and not actually coding part and I declined. If I could do the work I would take the job this afternoon; it's a great challenge to take a mess and make it quality and right up my alley. I have no doubt I could even beat the whole offshore team all by myself and not only create more quality but actually catch up to the Windows version.

Of course they won't do this as it's a national requirement by the company despite all the negatives. So far I just tell each recruiter the same story, hoping they tell the company; maybe with enough repetition and a sense of urgency (no one wants this position) they will give in.

You'd think making a better product, saving money (pay 1 contractor instead of 1 contractor + 10 random people) and having continuity would be an incentive but not so far.

Now I am not focusing on foreign consulting firms as somehow inferior. I worked for a local consulting firm during the dotcom era and we had so much business we hired people who could not even program just to have bodies to throw at projects. I led one project which had me, plus a programmer who had a Java certification but no clue how to organize even a small program, another average programmer who needed a lot of checking, and another guy for whom a for loop was a mystery. Every consulting firm does this kind of thing when business is good no matter where they are located.

I remember working for that firm when we made a presentation at a local business with 3 of us there. EDS showed up later and told the company they could have a hundred people there tomorrow and guess who got the job? Sure, one good programmer and 99 random people, but it sounded impressive. The problem with large consulting firms, offshore or domestic, is that keeping good people around when business is slow is not good business, so when business shows up you grab whatever you can find and hope they're not all bad.

A financial services firm I worked for hired a large consulting firm (before my time there) to build an application and over the next year an army of consultants came and went; yet the application never seemed to be finished. Finally at the end of a year the firm fired the consulting firm when it become obvious that they had been training new consultants on the project on the firm's nearly million dollar expense. Of course the firm then decided to use what little code was salvageable (if any) and did the project themselves anyway (which also sucked but that's another story).

What makes more sense: hire good employees and reward them to stick around so that there is continuity, shared knowledge and responsibility; or have random unknown people who don't care about your company or product that come and go do the work?

I do feel that companies are finally beginning to realize that in-house (rather than out-house) programming does make more sense but it has't sunk in everywhere yet. As long as people think that hiring 5 $20/hr people makes more sense then 1 $50/hr person since 20<50 it will continue.