Is India a space of incompetent software developers?
Most often, I have heard that Indian developers don’t have the quality when compared to their counterparts in western countries. Development teams in western countries often blame their offshore counterparts for slowing them down. It has been said that Indians are not technically competent, write poor code, don’t give any suggestions to solve problems, etc.
Do you really think that we Indians do not have the quality and intellect to outwit developers in the western countries?
A fair percentage of the technology wizards working for the technology giants across the world are Indians and are considered high quality resources there. However the quality of most professionals while they work in India is debatable.
What does this mean? Are Indians considered Low Quality resources only when they work in India?
In this blog, I will cite some reasons I feel Indian developers lag behind developers from other countries.
1. Developer by-chance not by choice
IT is considered as one of the most luring white-collar jobs most engineers can get. A good percentage of students land in Engineering courses due to parental/peer pressure. Even those with non IT background end up choosing IT jobs at the campus interviews, attracted by the hefty pay packages. They are usually not driven by any liking for the profession and go with the flow as it is their source of income. Many such resources work mechanically, without understanding what they do and become the so called “Ctl + C, Ctl +V” developers. This will make them write poor code that make their jobs more stressful and less interesting.
2. Ineffective College Education
College education in our country aims to mould graduates with high scores. A good percentage of the students mug up textbooks, acquiring no practical knowledge of the subject. Most teachers are reliant on books than any practical experience.
The amount of new technical information is said to be doubling every 2 years i.e. For students starting a 4 year technical degree, half of what they learn in their first year of study get outdated by their third year of study. They key is to understand that the 4 years in college doesn’t complete the learning process, but only lays the foundation for enhanced learning throughout the career.
3. Developers don’t consider learning as part of their job.
There is a vast majority of developers in our community who are in an ‘Echo Chamber’ without being aware of the changes happening in the technology-front. ‘They don’t know what they don’t know’ and believe that they are masters of their craft. Hence they hardly do anything to keep themselves updated.
Many who try to learn by themselves have an entry barrier as the Technology space has become crowded with highways and cross-roads of technology jargons. A supportive ecosystem that helps developers to trace relevant updates and gauge themselves against the industry standards is missing in our community.
Thus a developer tends to learn only under a compulsive situation or else he stays dormant with his assigned technology.
4. Non Coding Managers
Most of the IT professionals in our community are in a rat-race to acquire a minimum of 5 years of experience and get promoted as Team Leads. The most attractive thing in being a Team Lead, other than the salary, is that they don’t need to code. They are satisfied with the technology they know and focuses more in assigning tasks to the team, doing evaluations and filling excel sheets. This is a vicious cycle that causes technology stagnation and stunt the growth of the developer resources.
5. Task-oriented work-life
It is a normal scene in IT industry that an enthusiastic individual lands in a job of his interest and falls prey for the monotonous routine of task oriented 9-to-6 work-life in the company. Overload of unnecessary policies without humane consideration in companies has a major role in hindering the growth of an employee. Each policy implemented is a ‘choice’ that is removed from an employee’s interest-book. These policies are really strong enough to kill the passion of an IT professional and make his job boring.
This lifestyle fits him in a loop which ultimately make him feel that his job is just to accomplish a set of assigned ‘task’ that has to be done for someone else. This make them limit to somehow complete his task easily at a minimum quality standard.
6. Companies Treat developers as moving crowd
Attrition is a common problem for all IT Companies in India. I consider companies as equally responsible for this problem. Even though companies provide attractive packages at the time of hiring, they try to be stringent while giving hikes. Eventually new hires will be paid higher than the people who stay. This made a trend of job hopping among developers for better packages which increase attrition rates.
As the attrition rate is higher, companies consider developers as moving crowd. Training developers in new technologies is considered as a dead investment as it will enable them to perform better in interviews to switch jobs.
Thus the companies find it convenient to hire new people to handle new technologies instead of upgrading their existing employees. Even the training provided by many companies in their respective technologies is highly specific to their tasks. The developers do not get a complete outlook of the technology in most of the cases and remain within the shell.
7. Dormant Tech Communities
In Western countries, they have an eco system with strong and active technology communities that accelerate its learning and adoption.They involve in these communities with utmost enthusiasm and passion. While in India, even though we have a good number of tech communities, majority are dormant as they face lack of participation. Our developers make excuses of having no time to learn or be part of any technology community as they are always in pressure at work to meet DEADLINES.
8. Negligible Open Source contribution
Open source is a huge platform for bringing better technology to the world. It provides an opportunity for the developers to tweak and improve their skills to match the industry standards. They are encouraged to collaborate with the best brains of the world to develop technology by solving real world problems.
But our community has negligible open source contribution. This is because most of them feel that it is of some other standards beyond their reach. Even when they use open source libraries, they simply copy-paste, and doesn’t try to understand how it works. They dislike reading or understanding code written by others. This attitude prevents them from improving their coding standards.
Without having a strong community that practice open source contribution, it is hard for us to break this barrier.
Indians do have the quality and intellect. However, majority of potential talents are underutilized/not utilized at all due to the lack of a proper eco system to attain the most desired Industry standards.
We need to equip ourselves with the right growth mind-set that will empower us to be the ‘best’ in our trade. An ecosystem with active technology communities and companies promoting participation of their employees in such communities should help our resources break the echo chambers they are currently in.
Being the topmost youth power in the world, India has the true potential than any other countries to be the Super Power of IT Landscape.
As Darwin said “It is not the strongest, nor the most intelligent that survives. It is the one that is most adaptable to change”.
Be prepared for the change as it is the only ‘constant’ in our Industry.
P.S. : I don’t agree that all the developers in the western countries are of high quality. Lack of quality is a problem everywhere, but unlike ours, they have a good percentage of technology geeks who are contributing to push the technology framework forward.