Thoughts about outsourcing

Q: Why outsourcing to Moldova is better than outsourcing to India?

A: This is another interesting question, in fact, I believe that any answer to this question will be a biased one, though I will try to come up with a solution.


There are several aspects that have to be taken into account:
1. Cultural
2. Economical
3. Technical

[1]. Thruout history, Moldova has always been at the intersection of various cultures - the place where East met West; the place where Christianity confronted with Islam during the Turkish invasions, etc. The roman and slavic influences made it so that almost everybody in Moldova speaks two languages 'by default' - Romanian and Russian. Moreover, during the years of the Soviet Union, this country was in the lead when it came to the number of university graduates. A consequence is that in addition to the two 'mother' languages, almost everyone is rather skilled in French or English. In other words, it is a common thing for a moldovan to speak three languages. The educational system of today puts some more pressure on the linguistic capabilities, therefore it is not THAT difficult to find a programmer that has mastered several programming languages, as well as several human languages.

The advantages are the following:
- a moldovan programmer is a flexible person, able to easily integrate into a team of foreign programmers; being less likely to be the 'bottleneck' of the team.

- the written code is easily readable - reasonable variable names, error messages, function names, and so on. Moreover, the code turns out to be well-commented.

So, the source code can be easily maintained, this is critical, those who have had the 'honor' to update foreign code will certainly support this argument. Often the conversion of 'bad' code to 'good' code takes the most significant part of the assigned time (and money). To get a better idea of how bad things can be, read some comments related to the following article: "How to write unmaintainable code"


After looking through the comments, you will be convinced that any sane programmer will choose "well-commented code" over "fantastically optimized but entirely obfuscated and non-commented code".

[2] Economically, both Moldova and India are countries that have a long way until they become trully prosperous. So, both states are still in development, and both need foreign investments, and will seek ways to attract foreign capital.

Geographically, Moldova is a much smaller state than India is, therefore it takes less resources to support the economy of the smaller country, therefore the country [meaning 'the entities located in this country'] is more likely to settle for lower prices. Another argument which backs that statement up, is the difference between the GDP of each state:

$ 3,319,000,000,000 [India]
$ 8,581,000,000 [Moldova]

The relationship between quality of life and average prices is simple: the more advanced a country is, the more money a citizen needs in order to live a decent life [because needs evolve along with the resources]. This argument proves that outsourcing to Moldova can be a good fund saver; while the first one shows that moldovans are, in theory, going to produce better-mantainable code (as the comments of the article point out, this will eventually save a LOT of money too). I have to emphasize, that long-term investments might not be that attractive, but in the long run, they are more efficient.


There are bright minds in India, and there are bright minds in Moldova - there is nothing in this world that can convince a reasonable person that this is not true. So, this issue requires a non-standard approach.

For instance, the population of India significantly outnumbers that of Moldova, so it shouldn't be a surprise that 'there are many good programmers in India'; therefore the idea that 'India is a great programming power' could be nothing but a stereotype.

One way to compare the countries is probably by comparing the ratio between the number of programmers and the number of known software titles. Norway - think Opera; India - I honestly have no clue; Moldova - <there are at least two programs that should be known at a global scale, but since I am a moldovan myself, I obviously am biased towards my country>; So you should take a few moments to think about it yourself, and you will probably conclude that India is good at providing people who follow the indications of a manager, while Moldova is a source of creative and responsible developers who can build a project from scratch and maintain it for a long time. In other words, the projects are built to last, so quality is always a basic requirement.

So, perhaps it is just a question of 'how to choose the right tool to do the job right'?


[3] Of course, all the arguments above have counter-arguments, so an investor will probably end up visiting the site in person and studying all the factors him/herself. This is the right way to answer the question, otherwise it is the equivalent of commanding an army by moving flags on a map, being away from the battlefield. (Assume that this sentence is written at least 500 years ago)

Comments

vica — 2005-12-21 02:30

I don't know the countries ratio of programmers per population... but i think a lot of people would argue in favor of outsourcing to India, simply because there is jsut a larger pool of potential programmers that a company can choose from. when you have a larger pool to choose from, you can afford to be picky and select the best ones.