
エンジニアになろうと思った時、「そもそも自分にプログラミングができるのだろうか」と不安になる方は多いと思います。理系のイメージが強く、数学や英語といった知識が必要かもしれないと思うと、自分には無理だとはじめから諦めてしまう人もいるでしょう。
本記事では、日本の開発現場での「エンジニア×英語」の実際と、日本で一番エンジニアが成長できる会社を目指す株式会社PRUMのCEO岩本、COO中村の意見を載せています。
エンジニアに英語力が必要な理由

まずはエンジニアがプログラミングをするにあたって英語力が必要という話から解説していきます。どのような時に役立つのかしっかり抑えておきましょう。
英語力がなくても大丈夫という意見も後述するので諦めないで最後までしっかり読んでくださいね!
ソースコードが英語だから
プログラミングで書くソースコードは英語です。そのため、英語を知っていれば内容の理解が早くなることに加え、コードの入力ミスなども減らすことができます。
また、バグやエラーが出た際にも、英語のページだったとしても逐一単語を調べたりする必要がなく、早期解決が望めます。
最新情報をリアルタイムで追える
IT業界の最新情報は海外から発信されることがほとんどなので英語です。移り変わりが激しい業界のため、日本語に翻訳されたものが出るころには時間が経ってしまっている……といったことも少なくありません。翻訳機能を使っても大まかな理解となってしまうので、やはり英語ができるに越したことはありません。
公式ドキュメントから正確な情報を得ることが出来る
Ruby on Rails: https://rubyonrails.org/
プログラミング言語やフレームワーク、ライブラリなどには公式ドキュメントというものが存在します。これは公式組織が出している説明書のようなもので、正確な情報が記載されています。ネット上には、誤った情報や古い情報も少なくないので、英語で書かれている公式ドキュメントが読めるということはそれだけで大きなアドバンテージとなるのです。
オフショア開発では英語のやり取りが必要になる
日本ではエンジニア不足が深刻なため、開発の一部を海外のエンジニアに委託する場面が多くあり、これをオフショア開発と言います。オフショア開発で現地とのやりとりは英語となるので、ミスのないスムーズなコミュニケーションを行うにはやはり日本側の英語力が肝です。
給与など待遇面が良くなる
英語力があると、最新情報をはじめとしたさまざまな文献からの学習効率が上がり、スキルアップのスピードも早くなります。また、海外のクライアントとのやり取りができることもエンジニアとしての価値が上がるので、転職にも有利になり、必然と待遇は良くなります。
海外企業も就職の選択肢に入る
IT企業の大手は外資系企業が多数です。英語力があれば誰もが知る有名企業はもちろん、多くの企業が選択肢として入るので、より自分の求める企業が見つかる可能性が高いでしょう。また、エンジニアとしてだけでなく、ビジネス視点で見ても日本企業にはないスキルアップが望めます。
英語が苦手でも大丈夫な理由

ここまで英語力が必要な理由を紹介してきたので、心配になっている方もいると思います。もちろん、エンジニアに限らずどんな場面であっても英語力があった方が良いですが、英語が苦手だからといって諦める必要はありません。
ここからは、英語力に自信がない方でもエンジニアとして活躍できるという意見をご紹介していきます。
実際の開発現場で英語を使うことは少ない
取引先が海外企業、オフショア開発をしているといった現場でない限りは、英語でやり取りをしなくては行けない場面は基本的に発生しません。国内企業の実務レベルであれば英語ができない人がほとんどです。
翻訳システムがある
最近では、翻訳システムの精度が上がってきたのでそこまで手間を取らずに内容が理解できます。100%とはいかないですが、文献の大筋を理解することのハードルは下がっています。英語ができても、積極的に情報にアクセスしないエンジニアに比べれば、翻訳機能を使ってでも学習を続けるエンジニアの方がスキルアップできるのは言わずもがなです。
エラーメッセージなど要点だけ理解できていれば良い
プログラミングで使用する英語は限られています。そのため、頻出する単語さえ理解していれば通常業務で不便を感じることはほとんどありません。「英語学習」というよりもプログラミング学習で出てきた単語や文章を覚えるように学習を進めることが効率的と言われています。
上級エンジニアが思うエンジニアと英語

ここからはPRUM代表岩本と、COOの中村大雅に「エンジニアと英語」についての意見を聞いてみました。
── ここまでの「エンジニアと英語」についてお二人はどう思いますか?
エラーメッセージとかは英語で出るので、なんとなくこういうこと言ってるんだなと読めた方が絶対早いので、英語力があると良いのは間違いないと思いますね。
ただ、そのためにわざわざ英語学習をするというよりは、次第に「読めるようになっていく」が正しい気がしますね。プログラミングをやっていれば英語を読まざるを得ない状況になります。
僕の失敗談は「来週からこの技術使ってもらうから、キャッチアップしといてね」と言われた時、ドキュメントがすべて英語だったんです。そのドキュメントを頑張って翻訳しながら読んでいればよかったんですけど、やばい!と思って「じゃあ英語の勉強しよう!」と単語から勉強したんです。普通に無駄だったなと思いましたね。
── 実際、エンジニアは英語で書かれている最新の情報などを見たりするのでしょうか?
読む人は読む。(笑)
最新云々に関わらず、情報量として圧倒的に英語の方が多いので、結局英語のドキュメント読まざるを得ないみたいなとこはよくあるかなと思います。
今は翻訳精度が上がっているので、プログラミングをするのに英語力が必要か不要かで言うと、僕も不要だと思うけど、絶対に英語の理解ある方が有利です。
あと、現場レベルで一番困るのが命名規則なんですよ。変数名や関数名など何かしらたくさん名前をつけないといけないのですが、英語がデタラメだとこれは何を伝えたいの?となってしまいます。
プログラミングで決められてるルールを書く分にはいいのですが、人が決める部分もたくさんあるんです。名前をみて、「これは○○をしたいんだな」「どんな情報が入ってる変数かな」「どんな処理をしてくれる関数なのか」というのは名前を見たらわかるようにしてほしいんです。そこで「これ絶対英語わからんやつが書いてる!」というのがあると困るんですね。
作ったファイルに名前をつける時、日付なのか時間なのか人によって全然違うんですよ。
全体でみたらちょっとしたことなのですが、1年後そのソースコードを別の人が見た時に、「これ何?」とならないように正しい英語で正しい名前をつけることが重要です。
結局、その時にふさわしい名前の付け方を英語分かってる人だったら、すぐにつけられるけど、わからないと調べたりで時間が取られますよね。逆に調べたり確認する時間を取らない人は人に伝わらないソースコードを書いちゃいます。
それは人に優しくないコードになるので、その時間を犠牲にしてでも読みやすいコードを作る余裕がある時は良いけど、カツカツの案件だったら結果的にぐちゃぐちゃにしちゃって、後で自分でも困るというようなことは現場では良くあります。
エンジニアと英語の関係についても、英語ができないと支障が出るほどではなく、理解していればより役立つということのようです。
日本人エンジニアでは英語が苦手な人も多く、都度学習をしながら必要なものを身に付けています。焦って英語の勉強から始めることは逆に非効率となる場合が多いので気を付けましょう。