This not an attempt to write a scientific paper or predict future. This simply an opinion I have formed based on 15+ years of working with various providers in India and all over the world. This is not an attempt to stereotype every employee in a 1.2 billion people country. Over the years I have worked with brilliant Indian engineers and managers both in India and in US. This write-up is an attempt to describe an outsourcing industry in India and problems we face as customers, not people working there.
My conclusions and assumptions are also based on the fact that many companies are moving towards a more agile development where decision-making and ability to adjust is a key.
Access to resources is increasingly complex. Finding talent in Hi Tech centers like Bangalore is almost as hard as finding qualified people in Silicon Valley. There are simply more jobs than there are good people. Even if you find someone you’d like to bring into your project from outside it will take you 2-3 months. In India an employee is usually obligated to give two to three months notice or he will have to buy himself out of a contract.
Most people and their employers overestimate their seniority level. Most of the resumes I see are at least two steps above of where I’d put them based on US standards. Employees have an unrealistic (by US standards) expectation of speed of their promotions and type of work that’s expected from them.
Do you remember how in late ’90s anyone with a pulse was becoming a programmer or a QA engineer? Remember all those schools that promised to turn anyone with or without brain to be a QA engineer in 3 month? Well India is there now. In fact it’s been going through the same high-tech boom for the last 15 years or so. With billions of dollars sent to India by US and European companies it created a Tech Bubble. People with no technical background or any interest in the field are becoming software engineers because that’s where the money is. You project will be a training ground for all this new engineers. Training you’ll be paying for. Training you will offer only so your provider can move this person after 6-12 month to a different project where they will be billed at a Sr rate and help provide the same training to others.
Ask your potential provider what is their current employee turnover rate. You will likely hear a number somewhere in the 8-10% range, which they will pronounce proudly. Now ask them what is their turnover rate on projects, which would include people moving from project to project within the same company. Watch them cringe and dance around, but never answer that questions. It’s not uncommon to see turnover rates on a given project exceeding 50%. See ‘Resource Quality’ section above to know why.
The time difference between India and United states is the worst possible. With about 12 hours difference with Pacific Time there is simply no reasonable time for you to talk to your team in India. When they are finishing their work day you are not even ready to start, and when you are ready to leave office they are not anywhere to be found. This forces you to communicate through email or through a dedicated person whose job is to be a conduit and live in two time zones at the same time. With faster delivery times and more agile development cycles communication is the key to success. Your team can’t succeed if it takes over 24 hours to receive an answer to any question, which usually only generates more questions.
Mindset and work ethics
Employees in India are extremely difficult to motivate. You’ll notice that weeks and months go by with very little progress being made. Indian outsourcing employees seem to have a natural talent for working hard while producing little. Many developers seem content with what would be considered stagnant projects. This may be due to the fact that they don’t have enough life experience and are unable to see the big picture of what’s happening. (See above in Resource Quality to know why) They don’t have a clue about the big goal. It’s hard to be motivated when you don’t understand why you are doing something.
I recently had a Indian contractor whose task was to perform a certain test several times a day. The test consisted of the following steps: buy an item, post it for sale, buy it again, and post it again. She was performing this task for about two weeks and sent ‘test passed’ notifications. This is when we noticed that we had a bug that you were unable to post a purchased item. But her recent test said that it worked. The problem? She was posting items purchased previously and available for posting. She knew that there was a problem with posting recent purchases, but didn’t understand that the goal of this test was to verify that the full a cycle works.
Indian people will not question their boss. As a customer you are their boss. They will not say “no”. However ‘Yes’, doesn’t mean what we are used to. – “We need this project to be done by the end of the week” -“Yes”. This ‘yes’ doesn’t mean that it will be done. it simply means an acknowledgement that you need it by that time.
Making excuses seems to be an art that many Indian outsourcing companies have excelled at. They are so good at it that at times you begin to question yourself.
Outsourcing companies rely heavily on giving you the ‘right’ mix of experience. They simply can not sustain low rates by providing senior staff. The biggest smoke screen you’ll get is a concept called ‘blended rate’. The sales pitch goes something like this: “We’ll have a team that consists of different level of people. The blended rate is only $$. Yes this is the price you’ll be paying for your senior developers” Too good to be true? This how your team’s composition will look like: Super junior people who can barely work – 50%, junior people that are just a notch better than the first group – 25%, mid level people that were juniors yesterday – 25%. You’ll also have one senior person who will frequently act as project manager as well.
There is no secret that salaries in India today are skyrocketing, especially for experienced people. To keep their costs down companies are forced to constantly bring in fresh blood and train them. This is the only way to survive. Unfortunately it leaves you with low quality workforce that are you are training only to lose once they begin to be productive.
When you add productivity loss and overhead costs of running offshore in India you may actually be spending more than you were before.