>>The issue is the cultural differences. In the case of most Indians, some 90%, they will do EXACTLY as you ask. And that is their downfall.<<
It is crap b/c they work a lot but they are LAZY. One simple RL example (and I have worked in IT for over 35 years, the last 20 or so in consulting): Program A works produces a nifty report. Client wants a new subtotal but also wants original report.
Obvious (and only correct) Solution: Add a parameter to run old way or new way.
Indian solution: Copy program A and change to add new subtotal.
In this case, repeat Indian solution 6 TIMES!!
Obvious problem occurs: Bug in program A. Indian solution requires fixing program A and B and C all the way through F. And the fix IS NOT THE SAME CODE even though the fix is identical!!
Multiply be every Indian developer on Earth and scale to really complex modules (where you will see code repeated over and over rather than capsulized and called) and you begin to see the ocean of crap that enterprises have gotten (since QC never actually does anything other than deal with appearances).
BTW: I worked with Chinese developers and never saw the level of crap I always saw with Indians. Always. Every time.
You, sir, clearly have experience. Chinese aren’t too bad, neither are Russians.
Indians are the worst (well, 90% of them. The 10% that are good are AMAZING good).
Oh, and forgot to mention: These guys have NEVER heard of the Strategy Pattern or Class factories, apparently.
I saw code like this when on the road. It looked similar but not the same. I got asked to splice a piece of Program A together with a piece of Program B. I got it to compile together by means of writing a big kludgey “thunk” to interface the similar, but not identical, interfaces. Then, mercifully, I got called onto a different project.