I’ve seen another praise of software delivery centers recently - how efficient and cheap they are, how easily you can deal with your problems by outsourcing your software development to India or another Asian cheap labor paradise.

Sure you can, if you’re in a need of crapware.

Don’t misjudge me - I don’t have anything against India or its denizens, but I have no illusions about how does that look like:

  • first, distributed team ain’t no team - how are you going to cooperate closely with the users / business owners if they are thousands of kilometers away?

  • second, delivery centers are about hiring low-cost “resources” for uncomplicated, repetitive and easily documented tasks <- does that sound like a catch for most gifted programmers? It’s more like a factory for people who have just learned “ifs” and “fors”.

  • finally, outsourcing is about doing a mercenary job and moving towards another one, as soon as your done. It doesn’t really fit in idea of ownership, responsibility and keeping tech debt under control.

Fortunately, this sick idea of large corporations (leveraging high-price management / consultants with low-cost, low-quality programmers) is slowly coming to an end. The world is slowly learning that you don’t need a regiment of programmers to do good stuff, you need a few, but good ones.

Obviously delivery centers won’t go extinct within a year or two - they will still be needed for some "monkey work" that can’t be really fully automated and doesn’t require any reasonable skills.