Skip to main content

In a Country not so far, far away


Everyone working in any IT market with a serious enough  job knows for a fact that the all time champion of outsourcing is by all means the exotic sub continent of India. India has the great advantage, besides the currency exchange differences between USD and Rupiahs, that they have a this huge population of well trained, English speaking people (its entire population is around 900+ million that's 9 times Mexico's ). This makes them the worlds largest talent pool (second after China) for all USA based operations. India also embraces a self improving and study culture that most people adhere to. They also are perceived as a more westernized culture compared to Korea or China which is a bonus for any USA organization outsourcing operations with them because that turns communication flow smoother. USA businesses prefer them for all those reasons and this preference is the cause of the great economic growth they have been experiencing in the last 2 decades.

Moving operations offshore is no easy task as you surely can imagine. It requires infrastructure, process definitions, certifications and a whole universe of mechanisms and bureaucratic leaps of faith for the USA based customer to be able to supervise all relevant activities. Besides that, for IT related outsourcing, specifically for that related to software development of any level,  there is also the matter of establishing effective communication with the offshore team. That communication is always going to be slower and more inefficient than between local-native software developers due to cultural and language differences. This communication overhead adds up to the cost of the total operation along with the required investments on infrastructure (Bandwidth, phone lines, conference  calls, etc). There also needs to be more supervision so this is usually covered by adding onshore managers to serve as communication bridges between onshore and offshore team members. Some times it is worth for someone on the offshore team  to visit the customer so that adds traveling expenses. Add all up and the resulting  additional cost is know as TEC (Total Engagement Cost) which means the additional money customers need to pay to afford an offshore team that they otherwise wouldn't pay if they had only onshore people.

The pretty part of offshore is that even with the TEC, the total operation cost is still lower than a onshore team this to the difference in per-engineer net costs. For instance, consider this data:

Country
Position
Avg. Annual Salary (Local Currency)
Avg. Annual  Salary (USD - 4/25/2012)
India
Java Web Developer - Senior
$744,985 INR
$14,190 USD
Mexico
Java Web Developer - Senior
$242,208 MXP
$18,439 USD
USA
Java Web Developer - Senior
$87,638 USD
$87,638 USD

In operation terms this means that you can have 6 Indian engineers for the same cost as 1 USA engineer or 4 Mexican engineers. So its really obvious why US companies move operations offshore. If you noticed on the above data India is roughly 25% to 30% cheaper than Mexico is, which is one of the main reasons you must certainly work with someone who gets his paycheck from iGate Patni, Tata or Infosys.

Now that's not the whole story, remember the TEC? Well that's a big game changer because according to experts TEC on India is about 25% higher than in Mexico an South-America which levels the playing ground for those of us who live here.
There is where the Nearshore marketing term appears into scene.

What's the difference between Offshore and Nearshore? Easy… a smaller TEC and also time zone alignment (which is not always a good thing as we'll discuss it later) . Another good thing about it has to do with travels. One on the requirements of any offshore manager is to visit its offshore team at least one time a year. This helps him connect with the team and boost their morale. Also it is beneficial to bring someone on the offshore team to work onshore from time to time because of the same reasons specially if there is some delicate matter at hand (alpha testing, new development, requirement gathering for a redesign, etc). Given that premise, consider that commercial flights to Bangalore take 22hr ( plus the additional adjustment time) while a short trip from Connecticut to Aguascalientes or Guadalajara is roughly 3hrs to 5hrs, to Rio de Janeiro is around 8 to 10, so that's another perk you get from having a closer (nearer in this case) team. Another aspect to take into account is that Mexico has a lower turnover rate (10%) compared to India (almost 40%) this to the fact that the Mexican labor market is not as harsh as that of India also working conditions are more endurable at medium term, specially those that have to do with working schedule.. There is also the communication matter, What country (excluding Canada) is more culturally aligned to US that good o'l friendly neighbor Mexico?

Then there is the productivity loss associated to every offshore project. US based companies calculate that the productivity loss with India based teams is around 25% so for they to get the same productivity of 4 US based developers they need to have and 5 Indian developers, While in Mexico and South America the productivity is around 10% so you can basically keep teams the same size than those base d on US. This productivity loss is generally a by product of communication overhead and time zone differences.

Considering the previous this is what customers get when you decide to get a Mexican development team to do the bit gardening:

  • Cheaper phone calls.
  • Less communication overhead.
  • Cheaper and more accessible trips.
  • Shorter Trips.
  • You can get anyone on your team onsite almost the same day.
  • Less turnover.
  • Less productivity loss.
  • Working in the same time zone without risking team burnout.

So why is India then still the undisputed master of IT? Well it has to do with the fact that Mexico and South America are in the newer in this market (20 years average) and also that the English speaking population is significantly smaller than that of India so on-boarding processes are slower. Also the Indian government has created great incentives and bureau shortcuts to ensured that the IT Industry blossoms like a white lotus (made of cash), while in Mexico, for instance, there is no real support for the IT industry and also historically Mexico has never been a start-up friendly place.


I work with lots of people located on Bangalore and Mumbai, they are exactly as anyone would expected a development team from any place on the world to be. The older and experienced ones are walking encyclopedias with great talent and insight, the newer ones are not that savvy but filled with excitement and willingness to learn, and interns are just keyboard operators awaiting their moment to shine. The same happens here, exactly the same. Also companies here follow the same kind of best practices as any offshore service provider in the world, this practices are in fact enforced by the US companies that hire the services (ITIL, CMMI, SAS70, SOX404, etc) so there is really isn't way of not having them.

The only difference I've been able to perceive is that we are willing to take more risks than they are, I guess the job market pressure there is intense, or so have some friends located there told me so, they need to be very careful with the decisions they make to avoid losing their heads, while our job market is less predatory so there are lots of opportunities here and the competition is not that fierce so losing our jobs for a gut made decision is not something that keeps us up at night. Having this freedom is and advantage in many cases where someone has to take a bullet to prevent a greater damage.

So if you'r planning your big start-up and you are short on resources, why not look south and give a try to a Mexican Development team which you can , we are just as capable, but closer and also we can arrange your visits to happen during big festivities (like "San Marcos Fair" on Aguascalientes, A.K.A. "The World's Biggest Cantina" ) so you can get as drunk as a mule, after all, what happens in Mexico stays in Spanish.

Gracias!

Popular posts from this blog

Java - Getting the memory size of an object.

Because the way Java language and the way JVMs are implemented, this apparently trivial task is more complex than it may seem specially when compared to C++ where all objects have a size() method. Java memory architecture is built to abstract the developer from direct manipulation of memory so that the developer can focus on more relevant tasks, this comes with a price.

There are 3 basic approaches you can take in order to do this all with their pros and cons:
Memory guess (Heap Size prior object creation - Heap Size after object creation = Object Size)Java Instrumenting QuerySerialization
Memory Guess
This is the simplest approach because of the fact that you have a pretty easy access to the Heap Size via:
Runtime.getRuntime().totalMemory();

The issue with this approach is that you cannot control what is being thrown into the heap at a given time, JVM is shared by a lot of processes that run in a given machine so this is a error prone approach that is not recommended.

Java Instrumenti…

¿Que tienen los cuchillos de obsidiana y el Nearshore en común?

Presentacion
Aparicion en Campus Night Jalisco Nov 2016
Como siempre me gustaría empezar esta noche con una historia, disculpen uds la insistencia, pero esto es lo que los cuenta cuentos hacemos. Al terminar les prometo que la historia es bastante relevante con lo el tema que queremos tratar.
Este es parte de una historia es solo un fragmento plasmado en el Códice Boturini conocido también como la Tira de la Peregrinación que narra la migración de los Chichimecas de su lugar de origen, Aztlán,  hacia su destino final, la tierra prometida de Teoculhuacan.
El viaje inicia como muchos viajes conocidos, con un personaje misterioso y muy poderoso que convence a un grupo de aventureros a embarcarse en una aventura, en ese caso éste personaje no es otro que el mismísimo Huitzilopozchtli, el dios de la guerra, el sol y los sacrificios humanos, nuestro Gandalf mesoamericano. Nuestra historia comienza pasados más de 2 siglos dentro de este viaje tras muchas peripecias y percances los Chichimecas…

Is the World Shrinking?

Humans are a social primates; that’s an evolutive fact that has been around for a while to the point that it is now collective common knowledge. This presents an obvious advantage if you add to the mix the fact that not only we create bonds to other close members of our species but we like to relate with basically any other members that we came across. We have evolved to be nice with each other. This grants us the ability to extend our influence and our inner circle beyond social, cultural and geographical constraints.

This has been an interesting phenomenon that has been studied for quite a long time. We have been tracing our origins with family trees and trying to find out what we fit in the big picture of society. One of those attempts to understand it is the pretty famous 6 degrees of separation (Also known as the Kevin Bacon's degrees of Separation) idea. The basic idea is this; Imagine that every person in the planet is a dot, and every relationship between them are lines t…