By Mitul Bid, CEO & Co-Founder, Coditas
“India does not produce good quality code” is a statement I often heard at international developer conferences for the first ten years of my career.
The National Employability Report 2019 by Aspiring Minds projected that only 4.6% of the Indian job applicants possess good coding skills and the overall quality of Indian engineering graduates is at the same level it was ten years ago. There are, of course, outliers; but if we manage to come up with a sane metric for code quality and run it against all the code India writes on an average scale, it is an open-and-shut case.
Not that the individual coder is not good. For the most part, there is no organizational drive in promoting clean code. Hence it isn’t surprising that most coders in India are not even aware of clean coding. Looping in the education system we pursue, the scenario is problematic, given the fact that India is the number one outsourcing destination with approximately 59% tie-ups globally.
Theory-Based Education Curriculum
On average, an Indian engineering student has to deal with more than 40 subjects within 8 semesters which involve them attending hours of daily lectures and reading up on thousands of pages worth of information. Ironically, we live in a reality where the amount of technical data is increasing exponentially every year. So, half of what students learn in their 4-year course gets outdated by the time they graduate.
The Employability Survey had also concluded that 41% of the faculty do not discuss industry-specific concepts. It, of course, creates a situation wherein graduates have no real-world exposure to development neither a knack for writing application-level code.
The Corporate Scenario
A more vexing element that drives the problem — a majority of the Indian software companies look at software purely as a business. It’s mostly about getting the deliverables ready on the quoted time and almost never about striving for quality results. Consequently, the team treats coding as a task to be ticked off with numbers rather than a task requiring quality — something that would actually educate folks to avoid future mistakes.
It’s a chain reaction, really. When the organization itself does not prioritize clean quality coding when a product is being developed, most coders lose the urge to be curious about better practices and approaches since they have to direct all their efforts into meeting deadlines.
A Communication Gap
Even to this day, many skilled professionals in the industry lack the ability to convey their ideas and pain points effectively during client meetings or within the team. Organizations need to establish the fact that coding is only one aspect of the job and that communication is equally important. Especially in the service sector, when we are constantly collaborating on large-scale projects, it’s absolutely crucial for clients and internal teams to be on the same page.
Clean coding practices can be conventionalized only when team members communicate proactively with each other and share their side of the experience. Open-source communities like Stack Overflow and Hacker Noon offer coders a lot of scope to stay up-to-date with concepts and even contribute to budding projects.
No passion for coding
In India, we are not surprised when an engineer states that the reason he/she pursued a career in IT is that their parents wanted them to, or because society has determined that it is one of the most lucrative white-collar job industries there is.
Pragmatists may beg to differ but passion does have an impact on how we perform in our professions. If a coder is not coding with an intent to create something meaningful or learn something new, and it is just about the paycheck, poor quality results are bound to occur.
Conclusion
Clean coding is a passion and more industry executives should invest in teams that would practice and promote clean coding. It not only makes more business sense but can also dynamically change the negative perception the world has about Indian coders.
Whoever wrote this article has true experience. It is the painful truth.
Agree!!
Apparently this is the best writeup on this topic. Students don’t take coding as their passion they just do it for doing. Its more like an art form which needs to be given the respect and acknowledgement it deserves in India.
Only today I was having an argument with my parents about how fked up the curriculum is .
We are tought everything just for marks even in engineering without any practical experience.
“Passion for coding” is missing here. So true!!
“Passion for coding” is missing here. So true!!
also see the slaries given by IT companies in India. a fresher still gets 3.5 lpa
The articles highlight reality. However one point which I would like to add or may correct is, in Indian service industries, nobody cares about code. The only person winning accolades is the one who is good with managing clients and passionate coders are absolutely ignored. This is why, after 2-3 years of coding everybody in Indian service industries want to become managers and not stay coders. So the statement “communication is equally important” is true, but then in Indian IT industry coders are treated as secondary citizens because the people who manage them are not coders themselves.. They are intermediate brokers… When testers manage development team consisting of 1-3 years exp people, neither the coders understand real coding nor do the managers know what they are managing… Those managers cannot provide any guidance to the developers and they are nothing less than a disaster.
However I disagree with one point… Communication is definitely important… But in Indian IT service industries.. Coders are treated as secondary citizens and nobody cares about quality of their deliverables … People are only concerned with how much business that generates.. Nothing wrong with that as well… Importance is given to only those people who manage clients.. Again that is model of service industry, but atleast within the firm good coders and hard workers need to be equally recognised… This is were is IT service industries.. People want to switch to manager role after 2-3 years… And this ultimately result into managers who don’t understand anything about coding… The only thing they know is exploit the lower end coders… Get recognition and new projects by managing clients and keep their seats warm… They are nothing but intermediate brokers… Bringing nothing but shame to IT industry
The article highlights the reality. However I disagree with one point… Communication is definitely important… But in Indian IT service industries.. Coders are treated as secondary citizens and nobody cares about quality of their deliverables … People are only concerned with how much business that generates.. Nothing wrong with that as well… Importance is given to only those people who manage clients.. Again that is model of service industry, but atleast within the firm good coders and hard workers need to be equally recognised… This is were is IT service industries.. People want to switch to manager role after 2-3 years… And this ultimately result into managers who don’t understand anything about coding… The only thing they know is exploit the lower end coders… Get recognition and new projects by managing clients and keep their seats warm… They are nothing but intermediate brokers… Bringing nothing but shame to IT industry
True !!!
Also Managers & Executives just over promise on what our Team is Capable of + over promise on what we actually want to do.
Tips to Clients : Interact with the engineers first before signing shit based on what executives/managers/sales guys.
It’s true because we are not so much focusing on innovative app development and teaching outdated versions that are not so compatible with present programming style.
Ex-Still many use c++ with no namespaces,C++ 11 /14 is not known by many.I think there should be a database catalog for searching alternate be functions and methods for any programming language.
I completely agree that clean coding is a passion and passion does have an impact on how we perform in our professions. I am a passionate coder and fully agree with all your views. I am happy that somebody has raised this concern.
That’s a rat race, everyone is running after it without knowing the consequences.
People here are not open to share many things, this is also one of the reasons that is keeping them hidden from outside world
I don’t think that is reason.
Indian developers are not given sufficient time. They are asked to work on multiple things at a time. Especial, managers in service based industry treat developers as a salave. And make you to work on different things for his credibility.
In India lots of coders doing the clean code, as article says there is no organization focusing on clean code in India, the developers are unaware about the same. Even if they are writing the clean code they are are not passing it on with their colleagues and new comers in the company. Most of the people don’t know about the survey/competition/top lists about the clean coding. As an experienced coder I will make aware about clean code to newcomers and my colleagues.
Because here in India especially in some colleges they more focus on marks not your knowledge…
The focus on assignment on paper not on working…
And most of the faculties is unfamiliar with the technology which is in current trending…
My college is not registered at Microsoft platform that’s why I could take participate in Microsoft AI program…….
Really very nice post sir
sad story
Lets also give some pointers on where to begin with the good coding journey.