In India, there is a news channel called TVx. Whenever they don’t have any other interesting news to grab people attention, they start telecasting their all-time favorite programs like Is the world is going to end in 2048? or Is Mayan’s prediction about world ending is right? or Is IT employees are suffering from psychological problems? etc.
In the same way, some websites keep writing articles like Code produced by Indians is bad quality or The Indian programmer myth etc for every 6 months. The 2020 Q4 edition is released, grab while it is hot!
In the world, there are lots of problems and as soon as we hear about them we start judging people or governments, etc without having any context about it. When we come across some problem we can do two things about it.
- Start bitching about somebody blaming the people or culture, etc without having any clue on what is really going on.
- We can try to understand the problem by reading more about it, explore the origins of the problem, and try to understand what is causing that problem still persist even after so many years.
The second option take some effort and need maturity and empathy to really have a good understanding of the problem. Most of the people simply go with option 1, because there is no effort required, gives a temporary feeling of superiority.
For example, let’s take recent unfortunate things that happened in the “BigBrother” country. As someone living in India, based on what I see on TV and social media what I know is some white folks with power are troubling black people. Just looking at that I have 2 options to think about it.
- I can simply come to conclusion that these white folks are racists and they always trouble people of other races. Or,
- I can read more about what incidents happen, how this sad thing started, is there any political powers behind it, most importantly why people are still discriminating other people of different races even in 2020, are parents not educating their kids to treat everyone equally?
Going with option1 is easy. Option2 needs some effort, but it is the right thing to do.
Now, coming to the point
Indian Software Developers produce poor quality code
Yes, with great sadness I fully agree that most of the times Indian software developers produce poor quality code.
Shall we talk about it? Which option? Option 1 or Option2 ?
Let’s go with Option 1 first.
Ladies & Gentlemen, looking at the code produced by Indian software developers, it is clearly evident that Software Developers in India suck, they have no skills, they don’t care about code quality, they are only good for maintaining legacy applications by fixing low priority bugs.
Thanks for coming to the hatred party, have drinks, if you are not fully satisfied yet then you can form groups of 6 people and bash more about those suckers.
Shall we take a look at how Option 2 look like?
Okay, we are working with Indian software developers for the last 10 to 15 years. Though we see many good software developers, by and large quality of software produced by Indian Software companies is poor. Why?
- Is it because there are no skilled developers?
- Are they incapable of learning?
- They don’t have proper facilities to upskill themselves?
- They don’t have support from organizations to produce better quality code?
As a software developer from India, I have few thoughts on this topic.
The visionary’s greediness
I fully understand that any business wants to reduce costs and maximize profits. That is the main reason for many IT companies to start their Offshore Development Centres in India. IT companies pay approximately 1/6th of USA based employee salary to Indian developers for the same amount of work. If needed, we can add more offshore developers to the team and still manage to get it done for a cheaper cost. Fair enough, it’s just business.
But, don’t you know that software development is not physical work to get more work done by adding more people? The Mythical Man-month?? Anyone?? How do you believe that a software company in India can complete the project with in 8 months, whereas a USA based company gave estimation of 1 and half year for the same project??
Shall we talk about those Visionary CEOs/CTO’s greediness or shall we conclude it as “Software Developers in India suck”??!!
The power struggles
The on-site team visits offshore development centres once in a while to build good rapport, share knowledge etc. There will be a big TownHall meeting where the CEO or CTO give a wonderful speech about how we are all a single team, everyone will be treated equally, anybody can question the decisions of anybody in the team no matter on-site or offshore etc. The TownHall meeting is grand success and if possible they take everyone out for lunch and while having the deserts CEO/CTO talk about their grand plans for the growth of Offshore Development Centre.
Looking at all these wonderful events, some new joiners really think they will be treated equally and start proposing some improvements in the current process and start questioning some of their on-site Architect’s decisions. Then they start realizing the ground reality.
In the beginning those newbies think may be their proposal is a not a good idea, or their on-site Architect is not open for suggestions etc. But after seeing the same thing happening again and again in multiple projects, multiple companies then people start realizing how much of the TownHall meeting’s “We are all one team” is true. Meanwhile, your beloved Indian manager might label you as “the troublesome guy” in the team who don’t know how to be diplomatic!!
After going through all these amazing experiences, slowly people stop speaking up. They reach to a point where even if everything is burning up when you ask How are things going on, they will reply “It’s fine”.
Shall we introspect what is going on, consider the offshore developers suggestions? Naah, fuck it, let’s just conclude it as “Software Developers in India suck”??!!
Not just technical challenges, have to deal with racist a**holes
Seeing a comment on YouTube video as What are all these Indians doing in Software Development might make you giggle a bit.
But, imagine a person learned a foreign language, learned some software technology, created a video tutorial and freely shared on YouTube so that others can learn it too, and then they receive this kind of comments. And there is this “Indian YouTuber” memes…
When someone is speaking in a foreign language the translation happens in the realtime. First they have to think what they want to say in their mother tongue, translate it into the foreign language equivalent and present it in understandable way for others.
Shall we question ourselves, are we even eligible to make fun of Indian Accent when we can’t even speak any other language? Nope!!
Anyone who write a simple blog post know how much effort goes into that. Creating video tutorials takes even lot more time and effort. After putting all this effort what they get is this pleasant comments as “What are all these Indians doing in Software Development”.
Shall we realize how much disheartening and discouraging it is to receive such comments even after putting lot of efforts? Naah, let’s just conclude it as “Software Developers in India suck”??!!
Indian Project management (behind the curtains)
Once a major Indian IT company wins a project by bidding least cost, they assemble a team of developers quickly to complete the project with in the unrealistic deadlines. The project doesn’t start with “what client’s problems we are going to solve?”, “What is the bigger picture of the system we are going to build?”, “how the module we are going to build will fit in the overall ecosystem?”, No, nothing. The project starts with a DEADLINE. The project’s success criteria is Meeting the deadline.
If any developer talk about code quality then they are going to lean about the Need of the hour metaphor.
Shall we talk about improving the way software development projects are being managed? Naah, let’s just conclude it as “Software Developers in India suck”??!!
Show empathy? No way
When an on-site developer strictly follows 9 to 6 working hours then it is considered as Work Life Balance, but offshore developers must be available for 24/7 production support. Most of the times, no matter what happens on-site developers won’t cancel their preplanned vacation. But, offshore developers can be asked to cancel their planned vacation just before 15 minutes and that is perfectly normal.
Do you know how much trouble an offshore developer has to go through before reaching their voice to on-site folks regarding the unrealistic timelines?
It’s easy to argue with your manager about the importance of Clean Code, TDD, DDD, and Immutability when your survival is not entirely depends on your monthly income.
Shall we take a moment to understand the Indian software developers situation of “not being able to do the right thing even if they want to”? Sorry, we don’t even have enough time to discuss highly important things like which ESLint rules to follow, whether Tab should be replaced by 8 spaces or 4…and you are asking us to think about other country people problems? Are you crazy?
Yeah, to be able to step into other peoples shoe and understand their struggles one needs to have maturity and lot of empathy. We are here to build software, not to show empathy.
Why are we even talking about showing empathy, let’s just conclude it as “Software Developers in India suck”??!!
So, all in all the conclusion is Software Developers in India suck. That’s a quick and convenient way to think. Who has time to think about others problems, leave alone showing empathy.
Occasionally I see the beautiful slogans like “Technology brings people closer”. I don’t know whether Technology bringing people closer or not, but I can surely say “If developers can show 10% of their love for code on other people, world would be a wonderful place to live”.