kenju's blog

About Programming and Mathematics

技術力と英語力の関連性

"メタファーを身につけてプログラミングの生産性を向上させる" をたまたま見つけて読んでいたら、「技術力の差は英語力の差」という言説に出くわした。

新しいライブラリを学習しようと思って、GitHub のページを読んでいると、フランス人の同僚 Williams がやってきて、何読んでるの?というので、それを見せてあげた。  彼は GitHub のディスクリプションだけよんで、「あーこれはこうこういうことが出来るライブラリできっとこんなコンセプトだよ!」みたいなことを言い出した。彼ももちろんそのドキュメントは初めて見るのになんだろうこの理解力の差は。  自分だと、ドキュメントを読んで、チュートリアルをやってみて、コードを書いて試してみてやっと大体どんなものかが理解できるというのに。しかも、これは、彼だけではない。私だけ劣っている感じ。

自分は、この意見に非常に共感を覚えた。

OSS で優れたエンジニアになるには、まず第一に英語で流暢なドキュメントとコメントとコミットをかける必要がある。言語をなめちゃいけないと感じている。英語や日本語も、LispRuby と一緒で、「相手に自分の考えを伝えるためのツール」であり、「自分の意思を表現するための手段」である。プログラムを時間をかけて自分が考える最高の設計・実装に落とし込むのと同様に、ドキュメントやコメントも、自分が知っている最高の文法で、最高の丁寧さで書く必要がある。

また、Slack や Issue で議論するときも、Reading 力がないと一瞬で置き去りにされる。英語の話せる同僚と口頭で会話するときは、相手も自分に対して一定の信頼感を持ってくれている(同じ会社で働いているし)ことや自分がネイティブではないことを考慮して、優しく最後まで聞いてくれることが多い。お互い理解し合おうと、歩み寄ってくれることも多い(逆もまた然り)。だけれども、インターネットではそうはいかない(ことが多い)。

http://www.catb.org/esr/faqs/hacker-howto.html#skills4

  1. If you don't have functional English, learn it. As an American and native English-speaker myself, I have previously been reluctant to suggest this, lest it be taken as a sort of cultural imperialism. But several native speakers of other languages have urged me to point out that English is the working language of the hacker culture and the Internet, and that you will need to know it to function in the hacker community.

Eric S. Raymond のエッセイにも、同様のことが書いてある。プログラミングの世界でも、世界標準の言語は英語。英語が流暢に話せないと、無駄な学習コストをかけてしまったり、本来掴めたはずのチャンスを失ってしまったりする。

技術力と英語力の向上にそれぞれ因果関係はないけれど、相関関係はあると思う。

Being a native English-speaker does not guarantee that you have language skills good enough to function as a hacker. If your writing is semi-literate, ungrammatical, and riddled with misspellings, many hackers (including myself) will tend to ignore you. While sloppy writing does not invariably mean sloppy thinking, we've generally found the correlation to be strong — and we have no use for sloppy thinkers. If you can't yet write competently, learn to.