To start with I am Indian living in US. I feel the way Indians deal with things is better suited to programming. Indian don't care about formalities and documentation. Tries to understand, and try to figure about getting around a problem. In programming there there, in spite of all the methodologies and patterns defined, there is no right way to code. there are always issues and roadblocks every hour of your coding life. You have to get around them. Then only one can deliver. Any level of formalization during coding reduces productivity. Another aspect is what we say "Jugaad", patch it up. Another great thing in India, is no one counts hours or days of work. Work until it is done. And once it is completed go party. People party a lot. It frees up mind so that one can get ready for next task. These are great qualities of programmers, whether you like it or not.