Reality of programmer's English skill in non-English-speaking countries?
Tags: discuss
Published: 2017-11-15 18:19:15

---
title: Reality of programmer's English skill in non-English-speaking countries?
published: true
description: 
tags: discuss,meta
---

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.

```cpp
    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
```

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, 

```cpp
    std::string voted_for_;     /// 当前term下投的票
```

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:


```cpp
/// 当前term下投的票
```

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?