I think there are a few problems, under what constraints were developer performance and quality measured? I’ve known developers who can push out huge swaths of code, with equally huge numbers of new bugs. I’ve also known developers who tend to refactor and remove as much code as they add when fixing bugs. Not to mention the various types of bugs and other errata.
I feel that the cultural differences are more responsible for the differences. In India, a lot of the time “rank” or societal position, or job position will take precedent over the merit of an approach. Women in India are even less likely to not speak up or try to suggest better approaches. This entrenchment is a cultural issue with regards to software development. Also, the role of Architect shouldn’t automatically be assigned to the most senior developer, it should go to the developer with the most diverse knowledge and experience (usually). In the Indian teams I’ve worked with, most often the most senior titled person gets injected into the Architect role for teams/projects.
My experience with Chinese developers is that they are often more self-starters, and I haven’t worked with a lot of more experienced developers. They are usually more of a “get it done” mentality, without always considering testability or software maintenance. My experience with Russian developers is very similar, though with a bit more leaning into cleaver solutions and more use of design patterns.
South American developers (Brazil, Argentina, Chile) in my experience are probably the closest 1:1 of the overall approach most Americans take.
For the most part, projects with teams from all of these cultures can get the work done. It mostly comes down to the desire and aptitude to expand one’s knowledge as an individual. There are newer languages, language features, platform features, and that doesn’t even get into domain knowledge and learning. On the flip side, a lot of developers largely don’t care about their job or the work they do. They went to school for a given career path because they expect a certain lifestyle doing that job. Software Development is probably number 5 in terms of lifestyle quality after Doctor, Lawyer, Politician, Executive/Business Management and a direct path to the latter.
My advise to developers, is spend 1–2 hours a day on average reading up on technology, and other languages and platforms that you aren’t using. Get out of your own comfort zone. If you aren’t constantly learning, you will fall behind. I tend to dedicate my morning hours to meetings, email and reading/learning. The afternoons are for dedicated coding. In the end, it’s up to everyone to grow themselves and sell their own value.