【プログラミングに英語は必要】プログラミング学習に英語力が欠かせない理由

プログラミング英語力が必要とされる理由について解説していきます。

プログラミング学習をする上では英語力が欠かせません。

なぜなら「英語ができるエンジニア」と「英語が出来ないエンジニア」では、仕事の幅に雲泥の差が出るからです。

エンジニアエンジニア

プログラミングをする上というより、IT業界の用語全般として英語や英単語が主流になってきるんだよ。

特にプログラミングをする上では、

・ファイルの命名規則
・処理の命名規則

などを英語で書くことを義務付けている会社が大多数です。

この記事では、

プログラミングと英語が斬っても切り離せない理由
英語ができないエンジニアとできるエンジニアに仕事の幅に雲泥の差が出る理由

をご紹介します。

英語ができないとエンジニアの仕事やプログラミングの能力に影響はあるのか

英語ができないとエンジニアの仕事に多大な影響があります

「プログラミング+英語」を習得することにより、エンジニアとしてのキャリアをより素晴らしいものにできます。

「英語ができないエンジニア」と「英語のできるエンジニア」は、

・仕事の幅
・収入
・技術

の面で、多大な差が生まれます。

エンジニアエンジニア

なぜなら現在日本の大規模プロジェクトは、「海外からの受注案件」が大多数を占めているからだよ。

また、Microsoft Silverlightなどの最先端の開発案件は、日本語のマニュアルが存在しないことがあります。

エンジニアとして英語ができるといかに有利か、詳しく紹介していきます。

英語とエンジニアとしてできることに関係性はある

「英語」と「エンジニアとしてできること」には大いに関係性があります。

冒頭でも述べた通り、まず「IT業界の用語全般」として「英語や英単語が主流」になっています。

そのため、「英語ができるエンジニア」と「英語が出来ないエンジニア」では仕事の幅に雲泥の差が出てきます。

エンジニアエンジニア

業界として英語力があるエンジニアのほうが、リーダーやマネージャーに昇進しやすい傾向にあるんだよ。

それどころか給料の査定として、

・TOEIC
・英検
・国連英検

といった英語の資格の有無を見ている会社も存在するのです。

マネージャークラスの国際資格としてPMPプロジェクトマネージメントプロフェッショナル)という資格があります。

これはアメリカのPMIという機関が認定した、プロジェクトマネージャーの資格です。

この認定用の申し込みや担当者とのやり取りは全て、英語もしくは英語のフォームで行われます。

エンジニアエンジニア

この資格は日本国内でも10年ほど前から高い評価を受けている資格だよ。

そのためこの資格の有無で大幅な年収差額が出てきます。

実際の差額が幾らになるかは企業の資格手当になりますので一概には言えません。

ですが目安として

・中小企業で大体30万
・大企業に行くと100万

ぐらいの差額が出てくる可能性もあります。

この資格を受けるためには、上司からの資格保有者のスキルがあるという承認を得る必要があります。

つまり

・プロジェクトマネージメントのスキル
・プログラミングのスキル
・英語のスキル

を有している必要があります。

エンジニアと英語の関係性の例1

エンジニアとして仕事をしていると、海外の企業と共同で要件定義(システムの動作や機能の概要をまとめる作業)をやることがあります。

ここ数年は、

・システムの多言語化
・東京オリンピック

などの要因により、外国人にも解りやすい表示にするよう政府が進めています。

その影響をシステム開発の現場も受けています。

特に

・旅行
・宿泊

などに関わるシステムは、「海外大手のサイトと共同開発」を進めているところが大半です。

そしてその資料や要件定義の会議については全て英語で書かれています。

またプログラマのスキルが周りに劣っていても、英語での仕様や要件の調整力があったことで大逆転したケースも数多く存在します。

実際、プログラマとしては案件から解任される候補だった人が、英語でのコミュニケーション能力が買われ、いきなりマネージャー職に昇進したケースもあります。

エンジニアと英語の関係性の例2

プログラミングの最先端は常にアメリカにあります(後述します)

実際に最先端技術を導入する場合は、日本語のマニュアルが一切存在しないケースが多数あります。

一例としてMicrosoft Silverlightであったり、Blendという開発環境については、Silverlight2時代は日本語のマニュアルは1冊も存在しなかった時期があります。

存在していたのは1冊の分厚い英語のマニュアルのみです。

その分厚いマニュアルを読みながら開発をしなければなりません。

エンジニアエンジニア

「Silverlight」は日本でも「歌詞を掲載するサイト」で利用されるなど認知されることで日本語マニュアルが出てきたんだよ。

それでもSilverlight2発表からは約1年が経過していました。

それまでエンジニアには、英語のマニュアル本や英語の参考サイトしか情報源がなかったのです。

最新の情報を海外から得られる

大半のIT大手企業は海外企業のため、最新の情報を得たい場合は「海外から得る」ことになります。

日本でも色々な情報は点在しています。

ですがその殆どが海外のサイトを日本のIT企業や個人が翻訳したり、実際に技術検証を行ったりして纏めたものです。

そのため海外の情報発信から、数カ月から1年ほど遅れてしまうケースもあります。

翻訳やまとめサイトなどが立ち上がったときには、すでにその技術が使われなくなっていることもあるのです。

エンジニアエンジニア

実際に海外のサイトで新鮮な情報を収集できれば、そうでない人と比べて大きな知識の差が生まれるよ

これから情報収集しようとしている人と、収集した知識を盤石なものにした人では、その差は簡単に埋めることはできません。

ここでも、英語ができるか否かでビジネスチャンスとしては数倍の差が出てきます。

技術やプログラミング言語の最先端はいつでもアメリカ

「技術やプログラミング言語の最先端情報」を発信しているのはアメリカです。

アメリカにはプログラミングの主流となる開発言語を開発している会社が本社を構えています。

そのため最新情報はまずはアメリカ国内に展開され、そのあと各国に発信されます。

主流言語を開発している各社の例を以下に掲載します。

Microsoft:Visual Basic、C#、C++
Oracle:java
Google:GO
Pythonソフトウェア財団:Python

世界的に見て日本はIT大国と言われていたりしますが、情報収集の面ではIT発展途上国です。

インドヨーロッパといった英語が普通に出来る国に比べるとかなり情報の伝達は遅く、最先端を行っているとは言えません。

プログラミングと英語ができると仕事の幅が広がる

プログラミングと英語が同時に出来ると、「プログラミングが出来る」「英語ができる」といったスキルを個別に持っている人より、仕事の幅は遥かに広がります。

一昔前であれば、ビジネス用のアプリも日本の会社だけで使えればいいという時代がありました。

エンジニアエンジニア

だけど令和となり国際化が進んできている現代では、さまざな言語に対応しているツールが求められているよ!

したがって英語もプログラミングも、どちらのスキルも有することが望ましいです。

仕事の幅が広がる例:観光業界向けのシステム開発

仕事の幅が広がるものの一例として、観光業界向けのシステム開発が挙げられます。

『エンジニアと英語の関係性の例1』でも述べましたが、東京オリンピックに向けてここ数年の間に日本の観光業界は急速に国際化を進めてきました。

それに伴い、

・インバウンド予約(海外から日本への宿泊予約)
・アウトバウンド予約(日本から海外への宿泊予約)

のシステム開発のピッチが物凄く上がっています。

インバウンド予約にしてもアウトバウンド予約にしても、利用するサイトは実は海外の予約サイトであることが多いです。

海外のサイトを利用していても、日本語で表示されているとあまりそれを意識することはないかもしれません。

エンジニアエンジニア

だけど実は「Expedia」など、国別に単語のデータを纏め、接続しているPCの言語に合わせてサイトの言語を切り替えるという、高度な技術が使われている場合があるよ!

また宿泊施設が海外のサイトからの予約情報を取得する際に、サイトコントローラーと呼ばれる予約を管理するシステムを利用しているケースも多々(というより日本のほぼすべての旅館で利用しています)あります。

英語で入った予約を翻訳したり、英語の項目を和名に変換したりする(例:「Customer Name」→「お客様名」など)システムです。

近年このような予約サイトの多様化が、エンジニアにも追いつけないほどのスピードで進んでいます。

エンジニアエンジニア

こういった背景から、プログラミングと英語が同時にできると、仕事もより安定的に受注できるようになるよ

仕事の幅が広がる例:ゲーム開発

これは意外に思う人もいるかと思いますが、ゲーム市場は日本の主力産業になっています。

日本の輸出産業のエンターテインメントでは、アニメが主流と思っている人が数多くいます。

ですがゲームの輸出額は約1.8兆円規模で、アニメの10倍以上の輸出額になっているのです。

これはあくまでもソフト単体であり、CESA(一般財団法人コンピュータエンターテインメント協会)によると、ハードも合わせた輸出額は3兆円を超えるとされています。

その中でも対中国という視野を少しアジアに向けてみると、ゲームやゲーム機器の輸出額の2017年の数値と2018年の数値を比べてみると約60%増となっています。

これは日本の貿易市場の約10%を占めるほど、日本のゲーム市場は海外から評価されていることになります。

しかしその大規模市場に対して実は、ゲームエンジニアが少なすぎるという現状があります。

エンジニアエンジニア

ゲームエンジニアは単純に開発すれば良いだけではなく、ローカライズ(翻訳)や、逆に輸入したゲームの再編集を行うなどプログラミング以外のスキルも問われるんだ

そして開発技術に於いては専門性の高い技術を要求されます。

ローカライズでは「スラング(俗語)」や「放送禁止用語レベルの言葉」をいかに適切な表現にするかといった語彙力が問われます。

単なるゲームプログラマとして仕事をする上では、英語スキルはあったら尚可、といったレベルかもしれません。

ですが

・ディレクター
・プロジェクトマネージャー
・リーダー

といった高いキャリアを目指すのであれば英語スキルは必須です。

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

プログラミングに英語が必要な理由はいくつかありますが、大きく分けると

・コードの意味を理解しやすい
・英語力があるとエラーが解決しやすい
・最新の情報を海外から得られる
・技術やプログラミング言語の最先端はいつでもアメリカ
・プログラミングと英語ができると仕事の幅が広がる

といったことが挙げられます。

コードの意味を理解しやすい

英語ができると、コードの意味を理解したり、解析をしたりする上でも楽になります。

プログラミング言語の構文や、プログラミング内で利用されている値については全て、英単語や英語の動詞を基準に作成されているからです。

それらは例えば

・Date→日付
・DateTime→日時
・Integer→数値
・Const→定数[変わらない値](英語のConstantが由来)

などがあります。

利用する言語によって若干の作法はあるかもしれません。

ですが原則として、1つの言語で利用されている英単語をある程度理解しておけば、他の言語へ展開することができます。

他にも

・If (条件式) →条件式が成立したら
・Case xx →xxの場合

など英語の文章を読んでいるようなものも多くあります。

英語力があるとエラーが解決しやすい

英語力があると、非常に早くエラーを解決することができるようになります。

やはりエラーメッセージそのものが、英語の文章や英単語の羅列を基準にして作られているためです。

英語力があれば、プログラマとしての知識がある程度蓄積されるまでは、開発ツールに出てくる日本語のヘルプを読むよりも、英語のエラーメッセージを読んだほうが早く理解ができます。

これは実際にあった例です(文面についてはうろ覚えなのでやや正確ではないかもしれません)。

IndexOutOfRangeException」というエラーが発生しました。

そのまま訳すと「インデックスが指定の範囲内に無いという例外(エラー)」となります。

英語が理解できていれば「何かの配列処理でミスしているか、何番目のデータの取得でミスしている」と理解することが出来ます。

しかしこれに対する日本語のヘルプメッセージは「正しい日付が入っているか、時間の指定は正しいか」など的外れなヘルプを出してきます。

もし英語が理解できていれば、誤った翻訳に振り回されることもなく最初から「配列や何番目」といった部分を中心にプログラムを読むことができます。

このようにエラーの原因が絞られることで、解決が早くなります。

日本語のヘルプメッセージを鵜呑みにした場合は、「日付ってなに?そんなものは使っていないけど」となってしまいます。

全く関係ないところをデバッグしだしたりそのエラーに永遠に辿りつけない可能性もあります。

英語とプログラミングの能力向上に関係性はある

英語の理解とプログラミングの能力向上は密接に関係しています。

海外ブランドのプログラミング言語やソフト(java、Visual Studio、eclipseなど)では、一応日本語の公式サイトやオンラインマニュアルも存在します。

しかしそれらは機械翻訳されたものであり、全く意味をなしていない文章も存在しているのです。

ですが自分に英語力があれば、英語の原文の公式サイトでもそれらを読むことが出来ます。

そのため調査や問題解決までの時間もかなり短縮することができます。

情報収集が早くなることでその余った時間を実際の検証に使ったり、その技術を習得する時間に充てたりすることができます。

エンジニアエンジニア

英語力があれば読解にかける時間も少なくなるし、空いた時間で実際の技術検証を行いながら、自分のスキルやノウハウの向上を図ることが出来るね!

プログラミングと並行した英語の勉強の仕方は本と海外サイト

プログラミングと並行して英語の勉強をするためには、「本」や「海外サイト」を見て語彙力を高める必要があります。

日本人の大多数が英語に対して苦手意識を持っていますが、これしか方法はありません。

ただ、何も通訳や経済文書を翻訳するほどのレベルは求めません。

ここではプログラミングに必要な英語力のレベルと、おすすめの勉強法についてご紹介します。

中学レベルの英語単語は覚える

せめて社会に出る上で、中学(義務教育)レベルの英単語は覚えておく必要があります。

特にプログラミング分野においては、英語で海外とシステムに関する会議をすることがあります。

ですが実際に使われている文法や単語は中学生レベルの物がほとんどです。

もちろん専門用語などの知識も必要にはなります。

ですが出現頻度としては2、3文に対して1、2回程度で、それ以外の単語や文法は全て義務教育で習うレベルの物です。

逆に言えば、中学レベルの英語をちゃんとマスターしていれば、ある程度英語のスキルが必要な仕事も行うことができます。

そう考えると仕事の幅を広げるというハードルも低く感じるのではないでしょうか。

おすすめの英単語の本は「イラストでわかる 中学英語の語源事典」

著:清水健二/すずきひろし

監:ウィリアム・J・カリー

出版社:PHP研究所

PHP研究所の書籍紹介ページ

ではどのように勉強をしていけばいいのでしょうか?

「イラストでわかる 中学英語の語源事典」は非常に分かりやすい本でおすすめです。

難しい単語は一切利用せず、中学生レベルの英語のレベルに合わせた内容となっています。

ややコミカルかつ脱力系のイラストによる解説をしているため、飽きずに英単語が習得できます。

また語源を知ることで単語の用途を発展させたり、類義語の勉強が出来たりします。

1冊あれば、ビジネスの世界でも十分通用する密度の本です。

英語でプログラミングが学べる海外のサイトの利点

英語でプログラミングが学べる海外のサイトの利点としては、英語とプログラミングの両方のスキルが同時に習得できることです。

これまで述べてきたように、プログラミングを効率よく理解するには英語力は必要です。

ですが逆に、英単語が分からなくてもプログラムを理解できれば、その英単語や文章が何を意図しているのかが理解できます。

実は文章の前後関係や実例を踏まえた理解というのは、何時間も机に向かい辞書を引く勉強法より、遥かに優れていることが脳医学的に実証されているのです。(だからスピードラーニングなどがあそこまで流行りました)

英語でプログラミングが学べる海外サイト:海外のコミュニティサイト

引用元:C# Developer Community

これは賛否両論もありますが、プログラミングを学べるベストな海外サイトは「コミュニティサイト」です。

例えばC#の場合は「C# Developer Community」というサイトがあります。

なぜ海外のコミュニティサイトがベストかというと

・掲示板のようなサイトでユーザー同士の交流がある
・一般的な技術サイトには記載されていないような技術情報も掲載されている

という2点のメリットが挙げられます。

実際に掲示板のようなサイトでユーザー同士の交流があるということは、その場でコミュニケーションをしたり、質問の仕方や得られた回答を理解しながら読まなくてはなりません。

また英語のコミュニティサイトには全世界のユーザーがアクセスしています。

そこでは日々質問や意見交換が盛んに行われています。

それらを読むだけでも、現在の開発はどのような方向に進んでいるのかなどリアルタイムな情報を理解することが出来ます。

また大抵の人が質問するときは、公式サイトやまとめサイトなどを調べた上で見つからない場合に質問するケースが多いです。

そのため、自分と同じ悩みを持った人はいないか、過去事例はないかなど探すことも勉強の一つになります。

そのように見ていくと、ほぼ100%の確率で同じ悩みを抱えている人の投稿に出会うことが出来ます。

その解決方法を読むことで、実際に数日間止まっていた開発が一気に進むようになったケースもあります。

勉強というのは一般的に押し付けられるものではありません。

時には教え合い、必要なら意見を対立させたりしながらでないと自分のものになりません。

特にプログラミングの世界には、正解というプログラミングは存在しないのです。