Rundevlog

小さい会社のしがないエンジニアのブログ

2023.6.4

プログラミングで仕事をするには英語は必要なのか【ITコラム】

 今回は、プログラミングに英語は必要なのかについて考えていることを書いていきます。

 英語が苦手だけどプログラミングを始めてみたい、プログラミングで仕事をしたいと思っている人は多いかと思います。もし、それが理由で躊躇っている人がいるとすれば、今回の記事が参考になれば幸いです。

 今回は外資系企業のように公用語が英語でない企業やオフショア開発のような海外の開発拠点を持たない場合を想定しています。入社条件や労働条件に英語の使用について明記されていない(そもそもそのような明記がされているのかなんて分かりませんが…)IT企業でプログラマとして働く場合の英語の必要性について考えていきたいと思います。

プログラミングに英語が必要な理由

 最初に結論ですが、プログラマに英語は必要です。ただし、必要な能力のレベルに幅はあります。

 必要と考える理由は下記4つになります。

プログラミング文法は英語

 ほとんどのプログラミング言語の英語で構成されています。英文法や英会話などの英語力は必要ありませんが、英単語の意味がわかる程度には英語の理解力があります。

 また、変数名や関数名などを命名する際には日本語単語より英語単語の方が文字数が少なく済むため英語で命名することがほとんどです。中学レベルで大丈夫ですので、英単語のスペルはわかっておいた方がいいです。

 因みに中学レベルの英単語のスペルがメチャクチャなために、保守性が大変悪いコードを見たことがあります。そういうコードを書く人は敬遠されてしまいます。

 最低限義務教育レベルの英単語は必要になります。

公式ドキュメントはほとんど英語

 新しい技術を使う際に使用するのは参考書か公式ドキュメントになります。その場合、ニッチな技術だけでなく、AWSの細かいサービスなどは参考書もなく、日本語の公式ドキュメントもないという場合があります。ただし、ソースコードを見れば何となく分かるという場合も少なからずあります。

英語のドキュメントの豊富さ

 公式ドキュメント同様ニッチなエラーに遭遇した場合、日本語よりも英語でStackoverflowの質問などで解決されている場合があります。やはりそういう場合は英語の使用はやむを得ません。

日本の担当者がいないサービスとのやり取りの際

 iOSのApp Storeの審査やAWSの請求書などは英語でやり取りする場合があります。また、サービスの一部にAPIによって外部のSaaSなどを使用する際には場合によっては英語でのやり取りになります。

どの程度のレベルが必要か

 基本はChatGPTやDeepL、Google翻訳などの自動翻訳ツールを使用すれば解決することが多いです。なので、英文読解やビジネス英語を0から勉強するのは効率が悪いと言えるでしょう。

 しかしながら、たまに自動翻訳が間違っていたり、翻訳された分の意味がさっぱり分からないという場合があります。結局はそういう時には、原文を読む必要があります。

 また、サービス担当者とのやり取りでもいくら自分より自動翻訳の方が精度が高いとはいえ、最後はおおよそ意味がずれていないかという確認は必要ではないかと思います。

 そんなこんなで必要なレベルを明確に定義することは難しいですが、最低限のラインとしては義務教育で習う英単語の意味が分かるということがプログラミングをする上で必要な英語のレベルで、仕事としてプログラミングをしたり、サービスを構築する上では、TOEIC400~500点くらいの全く英語が読めない訳ではないという程度の英語力があれば、問題はないかと思います。

 また、リーダブルコードという本があります。この本は保守性の高いプログラムを書くためのテクニックをまとめた本になりますが、この本を参考にしているプログラマは多いと思います。義務教育レベルではないが、この本に出てくるという単語については、意味を知っておいた方がいいでしょう。

 今回は以上になります。


リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

~画像出展元~

Education illustrations by Storyset