And, their English is quite good - although they have trouble with some of our Southern terms - i.e. I "tumped" over the tea... :o)
On-site programmers can be of any nationality and succeed. What I disagree with -- vehemently -- is that off-site (and offshored) programmers can be effective. In my experience, they cannot.
There is also a slight racial difference -- again, in my experience, Americans tend to be more inventive and 'fluid'. This sometimes is a problem as they program something you didn't intend, but more often is a benefit. Indian programmers, as a rule, are more rigid.
And don't even start me on Russian programmers. Boy howdy.