プログラマーという職業はコードを書くことがメインです。
で、そのコードを書くためのプログラミング言語は基本的に英語をベースとして作られています。
そうなると非エンジニアの人からはプログラマーとして働いている人に英語が堪能であるという印象を受けることがあります。
しかし実際にプログラマー・エンジニアとして働いている人が全員英語を習得している訳ではありません。
少しでもプログラミングを勉強してみるとわかりますが、英語が必要になる場面は最初のうちは結構限られています。
とはいえプログラマーが英語を勉強する必要は一切ないかと問われたらどうでしょう。
今日はこのプログラマーにとって英語力が必要かについて真剣に考えていこうと思います。
プログラマーは英語を習得すべきなのか
先に結論を言ってしまうと、プログラマー・エンジニアとして高収入、高待遇を得たいと思っているのであれば英語は絶対に習得しておくべきです。
とりあえず生活できるだけの給料をもらい続けることができれば満足というのであれば話は別ですが、より上質なキャリアを構築していきたいと考えているのであれば英語力は非常に有効な武器として活躍してくれます。
以下に複数の観点からその理由を説明していきます。
ドキュメントを読むときのスピードと正確さ
先端技術は英語で説明されていることが多い
まずプログラマーとして扱う技術・ツールなどの公式ドキュメントのほとんどは英語で書かれています。
その中でも特に日本ではまだ流行っていなかったり、翻訳・解説サイトが追いついていない技術の場合は情報を集めようとしたとき、必ず英語の資料を読み込む必要が出てきます。
僕もReactNativeでのアプリ開発、高収入のエンジニアが多いと噂されるGo言語、フロントエンド開発で人気が急上昇中のNuxt.jsなどの調査や実装を行うときはほとんど英語の資料に頼ることが多かったです。
プログラマーとして扱う専門用語は英単語である
さらにコマンドのオプションやプログラミング言語における予約語などと言った単語はほぼ全てが英単語です。
別に単語を検索すればいいじゃん、と思うかもしれませんが都度検索していたとしたら気づかぬうちに大きな時間をロスしていることになります。
また調べて把握するのと、英単語として理解しているのとでは、自分の頭への染み込みやすさが大きく異なります。
専門的な英語の自動翻訳はまだまだ未発達

という意見も多く聞きますが、エンジニアとして正しく情報収集を行いたいのであれば翻訳ツールに丸投げの姿勢はちょっと危険です。
Google翻訳をはじめとする各種翻訳ツールは日々目覚ましい勢いで改善され続けています。ひと昔前に比べると、日常会話レベルの英語であれば、かなり自然な日本語に翻訳してくれるようになりました。
とはいえ専門用語が多く、解釈のされ方が複雑なエンジニア用の技術資料については、まだまだ不自然な翻訳が目立ちます。
専門用語を噛み砕いた上で、技術的に意味の通る翻訳を完成させられる日はまだ遠いのでは、と感じています。
英語ドキュメントへの抵抗は少ない方がいい
翻訳の話と繋がりますが、ドキュメントを読むたびに単語を調べたり、翻訳ツールを用いて誤訳を気にしながら読み進めるというのは非常に無駄が多いです。
更に英語のドキュメントに強い抵抗や忌避感を抱いていると、情報収集が無意識に日本語資料に傾いてしまう可能性もあります。
そういう意味でも翻訳ツールの発展を期待して、目をそらし続けるよりも、可能な限り早いタイミングで英語を習得する一歩を踏み出すべきでしょう。
技術的側面での英語力の重要性
エラーメッセージは基本的に英語
プログラマーとして活動していく上で絶対に避けて通れない存在であるエラー。
それらのエラーメッセージももちろん英語で出力されます。
ドキュメントの件と少し被りますが、英語で出力されるメッセージを解析してエラーを解析するスピードと正確さもプログラマー・エンジニアには求められます。
塵も積もれば山となる。例え時間がかかったとしても、早いうちに英語習得しておくことでプログラマーとしての底力の向上に繋がるでしょう。
OSSなどにおけるコミュニケーションは基本英語である
技術者として様々なツール・ライブラリなどを扱ううちにOSS(オープンソースソフトウェア)へのコントリビュートに興味をもつというケースは多いです。
そういったOSSの開発に関わったことがあるという経験だけでも、企業からの評価やエンジニアとしての敬意をもらえることもあります。
OSSの開発に関わるには、英語で行われるコミュニケーションに混じって、問題の整理や改善方法の検討を行い、自分が行なった実装・修正を正確に他のプログラマーに伝える必要があります。
ただそこに存在しているドキュメントを読んだり翻訳するのとは異なり、早いスピードで、言うなれば雑な英語でも誤解なく読み取り、返答する必要も出てくるでしょう。
英語ができないことを理由にこういった活動に参加できないというのは、スキルを伸ばす意欲のあるプログラマーには非常に悔しいはずです。
将来的なキャリアについて
グローバルな職場での活躍のチャンスが得られる
日本において働いていれば、日本語だけ話せれば文句は言われないという時代は終わりました。
もし魅力的な外資系企業からお誘いをもらったりした時、周囲には英語でコミュニケーションをとる同僚が多数いるという可能性もあります。
英語ができないことを理由に滅多にないチャンスを棒にふるというのは非常に勿体無い話ですし、もし無理言って参加したとしても業務上のコミュニケーションに大きなコストがかかり、消耗してしまうことになるでしょう。
海外で働いた方が稼げる時代になる
すでに高収入の人々の中で、税金や物価の側面からシンガポールやマレーシアへの移住が流行っているという話も聞きます。
プログラマーをはじめとするITエンジニアはしっかりとノウハウとキャリアを構築すれば、他の職種に比べて高収入を実現しやすい職業です。
そうなると遠くないうちに海外で生活するという選択肢が浮上してくる可能性は決して低くはありません。
そんな時、英語を身につけておけば大きな決断に対するノイズを大幅に減らすことができるでしょう。
収入についてだけではなく、知らない土地でチャレンジしてみたい!と思い立った時に英語力を身につけていればこれまた強い味方となってくれるはずです。
まとめ
英語ができないとプログラマーになれない、キャリアアップできないという訳ではありません。
先にも話しましたが、翻訳ツールや音声翻訳技術の向上は凄まじく、言語の壁が取り払われるというSF的な世界もいずれは実現するでしょう。
とはいえ、そんな未来に都合のいい期待だけを抱いて、現在のマイナスポイントである英語力の低さを無視していると効率の良いキャリアアップの妨げになることは事実でしょう。
是非プログラマーとしてもう1つ壁を超えてみたいという人は、本気で英語を学んでみてはいかがでしょうか。
完全に余談ですが、日本語のように書けるプログラミング言語も存在します。気になる方は「プログラミング言語 ひまわり」とかで調べてみてくださいね。