DEV Community

Nana Sakisaka
Nana Sakisaka

Posted on

Reality of programmer's English skill in non-English-speaking countries?

English is the de facto standard skill for programmers. People use English for communicating, filing tickets, contacting tech support, documentation, and code comments.

Importantly, most open-source software is driven by English-speaking community. I still observe some exceptions, for example, technologies/ecosystems behind the Chinese firewalled Internet. They use Chinese, because those are explicitly targeted to Chinese users.

Basically, I don't want to use software written in non-English language, because I feel like they saying "We don't respect the de facto standard skills."

Reality in China (?)

I mentioned Chinese Internet, so let's take a look at their actual code.

    int64_t current_term_;      /// 当前term
    std::string voted_for_;     /// 当前term下投的票
    LogDB* log_db_;             /// log持久存储
    int64_t log_index_;         /// 上一条log的index
    int64_t log_term_;          /// 上一条log的term
Enter fullscreen mode Exit fullscreen mode

https://github.com/baidu/bfs/blob/2f69b86f5251a642a648582dfc17dbe2a871800e/src/nameserver/raft_node.h#L84-L88

I am simply so surprised by these code comments, written in Chinese. My point is, this project is not a hobby project uploaded by some anonymous students. This is a huge framework developed by a huge company (Baidu Inc. is the #1 internet search engine in China).

EDIT: The code

Let me explain this code a bit more. Take a look at the second line,

    std::string voted_for_;     /// 当前term下投的票
Enter fullscreen mode Exit fullscreen mode

What does this variable mean?

Well... the variable's named "voted for", so it should be containing the target's name as a string. Now take a look at the comment:

/// 当前term下投的票
Enter fullscreen mode Exit fullscreen mode

If you have some experience with wild source codes, you may have noticed the word term inside the comment. This is acutually an important hint; the voted_for_ variable actually refers to the vote target, voted under the "current term" on the previous line.

Well, you could guess this real meaning without knowing any Chinese, but if you didn't know the fact that 当前term下投的票 == the vote cast under the current term, it'd be really hard.

Reality in Japan

I live in Japan. This section is based on my personal experience. Includes daily observations on Japanese Twitter timeline.

Japan have been historically allergic to foreign culture. Japanese people have even isolated their entire country from the world, since AD 1639 to 1854 (see https://en.wikipedia.org/wiki/Sakoku).

The poor English skills of Japanese people are mostly based on this "I fear foreign culture" stuff. We do have English included in compulsory education, but we just don't speak English in real life (because everything is written in Japanese & that being "so normal").

Japanese programmers are not exceptions. This 'poor English skill' have been a problem since the beginning of the Internet, but this issue is becoming more and more problematic, thanks to the rise of open-source software.

Some famous Japanese tech companies are willing to solve this problem. Rakuten Inc., one of the most popular online shopping infra, have set English to their official company language. This event was called "Englishnization" (you can see this on their official company site https://corp.rakuten.co.jp/careers/culture/).

The "Englishnization" have failed, obviously (as you can see, their company site is written in Japanese). This failure was so ironic that even normal Japanese people (i.e. non-programmers) mention about their failure.

Your country?

Japanese people talk about this 'poor English skill' issue so much. Maybe too much. On Twitter, I see some random Japanese person saying 'Japanese programmers suck because they have poor English skills.' Those tweets are being quickly spread around programmers; eventually receiving more than 2k retweets / likes.

Is this situation 'normal' outside Japan? How about your country? How do English-speaking countries think about this issue?

Top comments (25)

Collapse
 
dqphp profile image
DongQiang

I am Chinese who Working in Rakuten now.
Actually we have official meeting using English, but let Japanese spoken people to communicate with each other in English is ridiculous.
It's depends on who are you speaking with.

and also there is global recruiting page written in English.
rakuten.careers/

You can see, my English is not good, but I try to communicate with you in it.
i think that's important, hope you can reply me so I can learn and practice more English.

Collapse
 
aoyamaval profile image
Shotaro Aoyama

Hi,
I'm from Japan. Once my co-worker was writing code comments in English. But they were merely randomly ordered words, and I could not get what he was trying to mean. So I had him rewrite the comments in Japanese full sentence. Having average Japanese people write all documents in English is impractical IMHO.

I agree that learning English improve developers productivity, but I don't like "Everything must be in English"-tone opinion. It reminds me of linguistic imperialism.

Japanese people are allergic to foreign culture

Do you really think so? Look at how abundant foreign cultures (foods, songs, games, movies, literature, technology...) are adopted in Japan. Think about how many Japanese people are enjoying oversea travels.

Collapse
 
saki7 profile image
Nana Sakisaka • Edited

Hi there.

Once my co-worker was writing code comments in English. But they were merely randomly ordered words, and I could not get what he was trying to mean. So I had him rewrite the comments in Japanese full sentence. Having average Japanese people write all documents in English is impractical IMHO.

That's exactly my point. "Merely randomly ordered words," are very important. I do know the reality of how random those Engrish comments are, however my suggestion is to not delete those word salad. Having at least those words is going to change the game. Imagine those Chinese code comments inside my post, written in English words? It's going to look much much better.

EDIT: I've added a section inside my original post to illustrate this issue.

I agree that learning English improve developers productivity, but I don't like "Everything must be in English"-tone opinion. It reminds me of linguistic imperialism.

The "reality" I mentioned is a matter of cultural literacy inside the programmers' community. What you are trying to present is a matter of diversity. That I don't interfere. Diversity is very important; you should at least try to understand 160 languages if your co-workers speak 160 languages.

Collapse
 
subbramanil profile image
Subbu Lakshmanan • Edited

I was born and grew up in India. I came to U.S. for my Masters program 3 years ago and I'm currently employed in one of the U.S. based Telecom company based out of Dallas, Tx.

In India, there are more than 100 languages. With that being said, the education system in India is not unified. There's a national level education system and each state may have their own education system. Based on the education system, you may learn 'English' as first/second language. So whether you are a programmer or not, your English skill depends on your school system and the community you grew up with. There's a high chance that you may have poor english skills even if you took English as first language but never spoke in English outside of school and vice versa. You may have better English skills even if 'English' wasn't your first language in school.

When we talk about programmers, Yes. English is the de-facto programming language, however the communication at work may depend on the team/company. The clients of most IT companies are foreign countries like, U.S, U.K, etc., So people who work for these clients make an effort to learn and improve their 'English' written & spoken skills as it may provide an on-site opportunity.

I do not claim this, however I have heard that the 'english' skills of programmers from India is considered to be better than most of the other countries.

At my work, we are a small team but very diverse. We have 3 developers from non-english speaking countries and 2 developers from U.S. We do have challenges at work when it comes to communication, but everyone makes up an effort to explain and understand each others point of view (which is a blessing).

Collapse
 
saki7 profile image
Nana Sakisaka • Edited

That's such a great team! ✨

Collapse
 
ben profile image
Ben Halpern

This is a really interesting topic. With dev.to, we're aware that English is the dominant language in programming, but not necessarily the language programmers actually speak in. With that in mind, we're building out features which will allow for more easily segmentation between languages so that, say, Japanese articles can fit in more naturally within the architecture of the site.

dev.to is also written primarily in Ruby, known for being English-language-friendly but written by a Japanese person and is still very Japanese-centric.

Collapse
 
saki7 profile image
Nana Sakisaka • Edited

Glad to see the real world opinion from the dev.

I know the recent reactions from Japanese community to dev.to; I am one of them.

This is a really interesting topic. With dev.to, we're aware that English is the dominant language in programming, but not necessarily the language programmers actually speak in. With that in mind, we're building out features which will allow for more easily segmentation between languages so that, say, Japanese articles can fit in more naturally within the architecture of the site.

Speaking about dev.to, my concern is that Japanese people often break the convention inside the community. They think their common sense is the common sense for entire globe.

For example, StackOverflow has recently released their official Japanese version. Japanese people were very much pleased by this news. The 'official' Japanese support of ja.stackoverflow was not quite pleasant (for me); people write tech-related Q&As in obsolete communication style.

The way they write questions inside ja.stackoverflow looks very similar to the way they ask questions to their boss. They even 'feel sorry' for asking questions and consuming people's time for writing answers.

I don't wan't to see this Japanese nonsense. Not in platform like dev.to. I understand the importance of internationalization, but I hope that this kind of tragedy is not going to happen.

p.s. I've added the #meta tag for this post.

Collapse
 
ben profile image
Ben Halpern

Well thanks for the feedback. It's really valuable. I hope we'll be able to offer settings and personalization that lets everyone communicate in the styles and subcommunities of their choices. This is why we move methodically on this sort of thing. We have a lot more flexibility in our implementation than Stack Overflow, which should help guide the future.

Collapse
 
nekketsuuu profile image
Takuma Ishikawa • Edited

Disclaimer: I'm a Japanese programmer and I like ja.stackoverflow.com (ja.SO) very much.

Let me make a small correction. From a viewpoint of ja.SO's policy, the writing style of questions doesn't matter; the important point is how those questions are useful in the future. Although Japanese people often ask a question in the "feel-sorry" (or polite) style, the ja.SO community does not force people to do so. We can post both an "obsolete"-style question and a non-"obsolete"-style question, unless it's too rude. It's not an important problem for ja.SO.

I'm sad to hear that you don't like such a style. Originally, the purpose of opening ja.SO was to ask a question in Japanese language (ref). Then, it's inevitable that there're many obsolete-style questions, because it's a kind of Japanese culture. Japanese language is, you know, spoken only in Japan in contrast to English, which is used all over the world. So I personally think that Ben's proposal (preparing subcommunity options) is good for diversity in dev.to. In fact, this is what SO did.

I admit that Japanese programmer (including me) should learn English more and more, but I think the ja.SO's problem you pointed out is a bit different from that.

(FYI, there is a continuing discussion on ja.SO's chat (in Japanese).)

Collapse
 
andy profile image
Andy Zhao (he/him)

I think you're making a really interesting point and question. In the United States, we learn other languages in school and I think 98% people forget everything they learned. I'm including myself there, too, since I learned Italian for about 7 years and haven't really used it since.

Perhaps there's less of a stigma though when it comes to not knowing another language in the States, since everyone speaks the language. Also, I would think it becomes a non-issue for most people/companies since just about everyone knows English.

I think it's great to write documentation/articles/have conversations in your native language about programming, but perhaps it does disconnect your fellow citizens from engaging with other software.

Collapse
 
saki7 profile image
Nana Sakisaka • Edited

In the United States, we learn other languages in school and I think 98% people forget everything they learned. I'm including myself there, too, since I learned Italian for about 7 years and haven't really used it since.

Interesting. I've had a personal assumption that young people in the U.S. have good skills on Spanish/Italian. Maybe I've been watching NCIS too much? 🤔

Perhaps there's less of a stigma though when it comes to not knowing another language in the States, since everyone speaks the language. Also, I would think it becomes a non-issue for most people/companies since just about everyone knows English.

Stigma is a very good word to discuss about this issue. I was born in Japan, but I've grown up in China and Singapore. I felt like they take the 2nd language very seriously. In my elementary school, 90%+ of teachers could speak both English and Chinese. They even said "That's normal."

I think it's great to write documentation/articles/have conversations in your native language about programming, but perhaps it does disconnect your fellow citizens from engaging with other software.

I think the most famous scene at where this 'disconnect' being mentioned was the session called "Japan: A Forgotten Power?" on Davos Debate, World Economic Forum, 2008.

There's a book about this session, but sadly it's written in Japanese and I couldn't find any public translations.

The session was basically saying that people won't take the issue as an issue, because they are so much comfortable inside their disconnected community.

Collapse
 
johnnybit profile image
Hubert Kowalski

I'm from Poland. Here programming is taught in Polish in order to have "easier" transitioning of concepts. People then are expected to write code and code comments in English, while documentation is expected to be in (in order of preference for most projects I've seen): Polish, Bi-lingual and finally English.

With that comes certain stigma towards people who aren't as good at English. I as many others do view code with Polish in it to be of lower quality than one written in English with no other basis for such assumption. There are actually 3 levels of how bad code is depending on the amount of Polish used:

  1. Every method, class, variable, comment except for particular programming language constructs written in Polish says: "This code is very bad" regardless of actual code quality
  2. "Ponglish" naming scheme, where methods, classes and variables are half-Polish half-English and/or things are named once in English once in Polish says: "This code is pretty bad" regardless of actual code quality.
  3. Only Polish comments while the code itself is totally English says: "This code can be good".

Every programmer job search has in mandatory requirements "being able to read technical English" + "being able to write in English". Not meeting those requirements doesn't necessarily mean that person won't be hired but that is expected to learn those FAST.

So to answer the main question: yes, poor English skills are equalled with the poor coding ability of a person. However, there's a strong drive to actually have code 100% in English within both coding communities and companies, so problems mentioned in the article are not affecting general opinion about "Polish Coders".

Collapse
 
saki7 profile image
Nana Sakisaka

Interesting!

I've been a bit familiar with Russian hackers mainly on security-related news, recently. They look like Russian Ninjas in my eyes.

I'm pretty sure that Japan has similar reality among top developers. I hope all programmers realize the cultural importance for English-first-ness, while keeping in mind of internationalization & localization. IMHO, All those efforts are just personal efforts for opening yourself to the wild, so it'd be better to be educated (by the community) instead of... say, enforced.

I agree to that national diversity having influence on English support inside codes. There really is a lot difference depending on your national culture.

Collapse
 
saki7 profile image
Nana Sakisaka

One more thing I remember:

I saw many Russian blog posts when the Nginx web server (originally made in Russia) got first attention in the open source community. I did experience a hard time due to Russian enigma, but it didn't get much worse... for me. People quickly started to write English documentations/posts; nobody was complaining about the Russian language (as far as I remember).

Collapse
 
mykhrd profile image
Miyuki Harada • Edited

Hi! I'm a Japanese web developer living in Japan but I spent my childhood outside Japan and grew up in an English speaking environment.

I understand your concerns about how Japanese and non-English speaking programmers may bring problems in regards with development and communication. I share the same concerns that you have when I just first came back in Japan, but as I spent more time with them, I believe that as long there is the same goal to deliver good and quality software there are almost no issue with not having the same set level of English skills as long as we're able to communicate in one way or another. There are also a number of good bilingual developers and translators here in Japan who are helping each other in terms of open source projects.

Yes, there’s the benefit of having good and quality English skill, but it doesn’t all mean that if you speak good English, you’re already a good developer and vice versa.

So keeping in mind to have an open atmosphere and letting people communicate where they’re comfortable with is way better than imposing a strong regulation on this one.

PS. As I have read you're replies with the other comments, I found it kind of harsh that you consider how Japanese way of writing, a “nonsense". That is just how we speak politely.

Collapse
 
saki7 profile image
Nana Sakisaka

Yes, there’s the benefit of having good and quality English skill, but it doesn’t all mean that if you speak good English, you’re already a good developer and vice versa.

I didn't say there's "benefit" of having good English skill; it'd be more precise to say it's must-have. The main theme of my initial post is the cultural literacy around the programmers. Supporting de-facto skill is a must-have; supporting the dominant language is just... different issue.

Like you said, respecting people's native cultures are very important in terms of diversity.

Collapse
 
calvinw profile image
CalvinW • Edited

I think the developer deserves a praise.

The code is written with variables named using lower-ASCII, in English and kept short. The comments next to variables are there to help others who have trouble with if they had been worded in English.

I don't think this was meant to single out non-English speakers. On the contrary, author wants to include Chinese speakers that write good code but still struggle with the lingua-franca.


That aside- I am a developer based in NYC for a global company whose lingua-franca (not surprisingly) is English. I work with many developers whose English is not their first language.

I am also not fluent, but I try to help the less-fluent through all means to collaborate (emails, calls, chats, code reviews, documentations, ...) for example:

  • Pointing out spelling mistakes
  • Guiding how to name things
  • Whether comments or documentations convey what the code does and read naturally
  • Touching base if they understood the requirements
  • Providing write-ups detailing what needs to be done

In return I also encourage them to reach back. It all comes down to effort from all sides to break language barriers.

Collapse
 
saki7 profile image
Nana Sakisaka

Disclaimer: I run an open-sourced tech documentation website for Japanese C++ programmers. Inside that community, all conversations and articles are written in Japanese.

Collapse
 
bgadrian profile image
Adrian B.G.

In Romania, at work all the code, docs, tickets are written in EN
Meetings and any spoken communication are in EN only if at least 1 person involved doesn't speak our language.

The high school and university programming lessons are in Romanian, which is in reality confusing, because everything else is in English.

 
k4ml profile image
Kamal Mustafa

Haha, love this. I would like to see more quality software from non-english country, although I still remember back in mid-2000 how painful it is to get documentation for nginx. As we can see in nginx case, when the product is good, community overall will quickly fill in the language gap and in the end, we have the same result as if the software was in English from the start.

Collapse
 
ihorklimov profile image
Ihor Klimov • Edited

I hate seeing Chinese or any languages other than English on GitHub. Pisses me off, especially when they create issues solely in that language. Seeing documentation/comments or variable names in local languages just triggers me instantly. What, are we living in medieval times? It's the 21st century, hello. Learn English

Collapse
 
ferricoxide profile image
Thomas H Jones II

Dunno that it's worth getting triggered over. That said, if someone posts a question to a help forum, issue-system, etc. in a language other than what the people who are able to help speak, their question is unlikely to get much in the way of useful response.

Collapse
 
sparkist97 profile image
Muntadhar Haydar

I'm from Iraq and I always comment in English and every programmar I know here does the same.