11 Shortcomings of Indian Developers
During my time in India I have learned one or two things about software development here on the subcontinent. I found that things are not always easy. Especially this holds true for software development in general, wherever it is in the world. But there are some specific things which I found to be true nearly always. There are many traits with software developers from India, which makes it hard to get to a good project ending. Some of those shortcomings are described in this article.
1) Do usually not care about the performance of a solution
It does not seem to be interesting how fast a solution is. Be it 0.3 seconds to load or 10 seconds…it does not matter…the only criteria seems to be if the solution is online.
(Example: A German customer goes to an online shop to buy a product. Now the solution programmed by the Indian developer takes 5 seconds to load. The German customer will not wait 5 seconds for the shop to load, he will simply abandon the shop. Someone from India might not be able to understand this. They usually wait for hours at government institutions and other places to get their stuff…“so why can’t the Germans wait for a few seconds?“)
2) No common sense
Sometimes, or even most of the times, its enough to use common sense, to find out that a proposed solution, or way of solving a problem is utter nonsense. Still the Indian developer will justify the solution on technical reasons: „yes, but the String Value allows only this way“, when common sense tells us: „the solution can never be in that way, because it will never be accepted by the end-user“.
3) Not much attachment to the client
Often times it seems that the client is only seen as a new way to milk the cow. There is not much recognition and empathy for the clients feelings. Question like the following do not seem to be asked:
- Is the client happy with the solution?
- Does he need more support from our side?
- What can we do that he is satisfied?
- How can we give him a solution which can be also used in the future?
- How can we make sure that he can build good relations with the solution, with his own customers?
4) Do not value their own time
Some developers in India do not charge additional hours for additional work. Because they think that this is a good thing to do, so as to make the client „happy“. What actually happens is that in the end the client as well as the developer will be unhappy. Usually the thing done for free, will lead to even more work. E.g. a plugin which has been installed for free, causes performance issues, which will lead again to the platform or solution to be re-worked.
In the end the developer from India will be fed up with all the work, and the client thinks that the developer is incapable of doing the work.
5) Lack of fundamental programming principles
It seems that an Indian developer usually does not make proper preparations before the start of programming. It seems more like they start developing right away, without giving proper care about programming principles, to ensure a flawless working of the solution, as well as a strong architecture.
The main reason for not taking care of those things is that, first of all the Indian culture does not give such a high value on quality. For example people in India are happy if they go into a restaurant and get some food. Even if the hotel looks like it has not been cleaned since the last 6 months, the toilet stinks like hell, and the kitchen is as black as midnight. These standards are very much unacceptable by American or European standards.
Another reason for acting like this is, that by starting to program right away, it will avoid additional hours for the client, and the solution can be delivered at a lower cost. (Thought process here: „Client from the west is looking for the cost advantage, we do not have the time to take care of a proper analysis“)
There are problems with the above mentioned two reasons (Lack of focus on quality and being considered cheap). When a solution is not planned properly, then in the end, the solution will have a disproportionate number of bugs in it, which will again take a lot of time to rectify. Sometimes the bugs are so deep within the system, that the bug cannot be resolved, but can only be somehow masked with some other shady type of programming. The other issue will be that the solution will be very slow. Usually it will take a lot of time to load. For an Indian developer it is acceptable that a solution is slow as a snail, because of the before mentioned reason: There is no attachment to the client, or the actual use of the solution.
This leads to the next serious issue about programmers from the subcontinent:
6) No idea about the end-client
Often times the developer has no idea about what the end-client looks like, or what his feeling or wants are. Anyways, that’s not really a fault by the developer in India. How can he know what, for example, a 15 year old boy in Munich, Germany wants?
7) No idea about the actual use of the solution
Example: If you would ask a developer in India to build a website for selling frozen chapati, he would instantly have an idea about the product and its use. Try to tell him, that the solution is about „market research at the point of sale“, and the developer will stand there and will be wondering „What the heck is that guy smoking?“
Coming back to the 15 year old boy from Munich: „Why does he need to buy leather trousers?“ (Ok, for some who are reading this, this is a little bit stereotypical, but it somehow illustrates the point).
Because the actual use of the solution is unknown, its difficult for the developer to find the proper solution, because there is no idea on how the end-result (the platform or system) should look like.
8) No idea about the phrase „Pixel Perfect“
A developer from the subcontinent has no issues if the image is stretched or blurred…“Anyways, it shows the picture, right?“. In Europe and America there is an obsession with flawless design. (To be honest, also Indians are that way, they just not see it properly. Only when they check their own smartphones, they will see that they do not use Indian smartphones, but one’s from Samsung or Apple, because they are flawless in design. Even if they use software, they use one’s which are programmed in a pixel perfect way and are high in performance.)
Also there seems not to be a good understanding what a good alignment of elements are. For someone who has lived most of his life in Europe, its pretty much not understandable why designs are so messed up in India. Even I, who is not a designer, knows where elements have to be placed, so that they are appealing to the eye. But this seems to be a distant idea for designers and programmers in India, even if they are highly educated, with many years of experience.
9) No importance given to communication
One of the things people learn in universities in Europe and the US is to exchange ideas and to communicate properly. Because any workplace or project needs proper communication. Often times this communication is the balancing factor for the success or failure of a project or team work.
In India, unfortunately communication is not seen very highly. Even in universities the professor in the front talks away, while everyone has to listen in admiration.
Actually I would need to write a complete essay about the importance of communication. But I will not do it this time. Communication is important, and that’s something which is missing in India.
10) No attention to detail
This is one of the most important things which differentiates for example an Indian and a German developer. Lets take a simple example: A database is copied from place A to place B. If 1’985’788 Files out of 2’000’000 Files are transferred properly from place A to place B, then the Indian developer will be happy, and tap himself on the shoulder. The German developer will meanwhile be more than worried and will ask himself or some team member:
„Where did the 14’212 Files go?“
„What can we do to get these files transferred as well?“
and most importantly he will ask:
„How can we make sure that this does not happen again in the future?“
11) Not in love with programming
A lot of programmers in India are in this field to make a living. There are not many which do it really for the love of programming and building really cool new products. „My son is an engineer“, that’s what people in India like to say. The ramifications for software development are serious 🙂
In Europe a lot of people start with programming, but as soon as they understand that its not for them, they will stop, and will look for other fields which are more suitable to them. In India people/ students are ashamed to stop their course of study to pursue something they like. They are programmed in such a way to please society. Thereby creating a pool of under par developers.
It is true that these shortcomings are often there. On the other side there are many software development companies in India which are more than successful. This means that these companies are just able to avoid the hiring of such developers or are able to find the right talent and train them properly.
Although this text is pretty much against developers from the subcontinent, there are, here and there, very exceptional and talented developers. With the right training they can excel at what they are doing, sometimes even better than their counterparts in Europe or the US.
Interesting link about the topic:
Issues when outsourcing to India
About the author: Sascha Thattil works at YUHIRO and helps business owners and businesses to get development teams in India. YUHIRO is an outsourcing company which provides development teams in India to small and medium sized companies in Europe.