views:

351

answers:

9

I'm wondering if productivity can be correlated to whether a programmer is a native English speaker or not. I work in Japan and I can tell you that Japanese programmers struggle in getting the English part of a language (reserved keywords, function names, tutorials etc), it's just not natural for them and their thinking process is slow down by a language mapping overhead. Can you share your experience in dealing with non-native English speaker programmers, is it easy to overcome this barrier or will native English speakers forever have a little advantage?

+10  A: 

I'm not a native speaker of English, yet I've been quite productive as a programmer in many countries (including the USA, where I live and work now)... but that's because I've always put some effort into being as good at English as my non-native-speaker condition will allow. I do believe a strong competence in English helps performance in programming (and many other kinds of engineering -- I started out designing chips and HW systems -- and more generally "knowledge work") in many, many ways.

As a recognized authority in Python, and pretty strong in C++ and other programming languages as well, I'm often asked "what language should I study to enhance my career"... and my answer's long been "English"!!!

I give this answer to native speakers, too: the amount of careless (or dyslexia-caused, it's hard to tell) spelling mistakes, syntax bloopers, and malapropisms of all kinds, that I've seen perpetrated by native speakers of English, isn't much lower than the number I've observed from my fellow non-native-speakers. Each such mistake hurts communication effectiveness and precision... and knowledge work (including programming) is about communication first and foremost!

Alex Martelli
I'd say nowadays most people write lousily in their native language, just from what I see in forums and TV. So those lousy english native speakers are still in a relatively advantageous place. If they weren't native, they'd have to learn their own and a new language in addition to any programming language they'd like to learn.
Vinko Vrsalovic
@Vinko, you have a point, but I maintain that even for native speakers enhancing their proficiency in their own language improves career prospects (write better resumes, proposals, reports, docs, ... -- make a strong impression when presenting to customers, clients, top management -- etc, etc).
Alex Martelli
+2  A: 

I am a German native speaker myself and I haven't experienced any problems with keywords or naming conventions in APIs that would have had an effect on my productivity, but I have to admit that I had a basic understanding of English by the time that I picked up my first programming language.

I am currently working in Taiwan with a mixed team of Taiwanese (Chinese), Swedish, Spanish and several English native speakers (US, South Africa) with English being the common denominator for meetings, code documentation, specification etc. and I have not observed that the native language of a programmer had significant impact on coding skills.

In the scenario I am describing, everyone involved has mastered at least a basic level of English. You can see the difference in proficiency due to the occasional spelling mistake in function names or comments, but based on my experience, you cannot directly link that to code quality.

Also, given that most documentation and tutorials are available in English only (or at least first, before the first translations pop up) for most new projects, I'd assume that most programmers world wide would have picked up a decent level of passive English for reading - not necessarily for actively communicating in it - and that's all I would guess it takes to deal with language intrinsic issues like keywords and function names, even though I wouldn't even consider language keywords an issue. The for keyword does not really relate to "for" in the English language, if you look at the syntactic construct as a whole, does it?

A different issue is communication in general. If your team does not have a common language in which everyone can communicate efficiently, that has a huge impact on productivity. But that language is completely unrelated to the programming language used by the team and does not have to be English at all - based on my experience all technical terms will still be English though, weather the discussion is in German or Chinese.

Christian Hang
A: 

As a non-native English speaker programmer I can say I've had no problem, mainly because I learned english while learning to program and now (I think) I'm proficient at both.

However, I think I can relate to the fact that the more different the language is to English, the harder it'll be to grok the English parts of languages. Japanese is a great example of a very different language, but even then, learning English has to be thought as of something you have to do to become a good programmer.

Being able to express concisely your ideas in a different language is what programming is about, so learning English is a way to practice (and might even be an advantage to non native speakers, given that they must first practice learning English). But of course, not every person has the same ability regarding languages.

Vinko Vrsalovic
I completely agree with you, i have an interest in languages and i have read in different sources that japanese is the hardest language for english speakers because of the vast differences, could the inverse be true?
Justanotheraspiringdev
A: 

As non-native English speaker I can tell you that yes, native English speakers have a clear advantage over non-native ones. I find the english language paradigm to be too deep ingrained in some programming languages. Reading documentation is slower as translating technical terms is most difficult. I think english is a must-have skill for a programmer.

Wilhelm
+1  A: 

Hi, I'm Mexican not a native English speaker as far a I can tell it that the thinking process should be exactly the same and once you get used to the language (as a developer you'll face it all your life) you should be able to do the same things, I strongly believe that the programming language becomes a part of your natural language. Also I work with some company in the U.S. and I think they're pretty much satisfied with my work, I believe that all programmers need to learn English but I don't think that the thinking process should be affected. It will take some effort for your programmers but I think if they're good enough they will be able to get pass the language barrier.

chermosillo
+1  A: 

You don't have to be real native English speaker to be super productive, but having high command in the language would definitely help especially once you go beyond "hello world," and start using libraries with big words like concurrency.

I natively spoke Japanese, and I now mostly speak ok Engrish in US, but I don't consider myself to be sub-productive programmer at all. Part of the problem in Japan I suspect is that the language distance from English is so far off, they end up inventing big Chinese character words that's hard to understand or straight off import to katakana phonetics, which probably makes no sense to them.

When you are in the zone, I'd probably be thinking in the programming language itself, so it probably doesn't matter which natural language you speak at home. There are too many hackers who are not native English speaker like Linus, Guido, and Matz to name a few.

eed3si9n
A: 

I don't think that the divide is between native and non-native English speakers. From a Japanese or Chinese perspective people in Holland or the rest of Europe for that matter are native English speakers. That's because the English language and culture is close to the local language and culture.

I, as a non-native English speaker, have never had problems, and this is also the case for my co-developers in Holland and Israel where I've worked.

The divide is more between the "west" and "east". I have learned (or tried to) Mandarin Chinese, and when you to that you appreciate how different the language structure and thinking process is from the European languages. I can imagine the being a Japanese or Chinese native speaker you struggle with the bias of programming towards English.

Dani van der Meer
+1  A: 

I am a native speaker of English, but I've been studying languages, both human and digital, for most of my life.

I'd guess that the further one's language is from English in its writing system, structure, and vocabulary, the harder the time he'll have. Japanese is a profoundly different language from English, whereas German (for instance) is much closer. I would expect a native speaker of nearly any European language to have a much easier time of it than a non-European one, all else being equal.

Gregory Higley
A: 

There is such an enormous gap between people who can program and people who can't, that compared to it the distance between people who can understand 90% of common English words and those who understand 100% isn't really that noticeable.

The same applies on different levels -- people who know how to write comments but don't really know English would still write better comments than liberal arts majors who switched to programming.

ilya n.

related questions