こんにちは。
この記事を読んでいるあなたは、

・プログラミングが必要になるためには、英語が使える必要があるの?
・プログラミングではどんな英語を使うんだろう?
・もし英語が必要な場合、どのように英語を覚えればいいんだろう?
このように思っているのではないでしょうか?
プログラミングのエラーが英語で表示されることが多いのもあり、「プログラミング学習には英語が必須なのかな?」なんて思いますよね。
そこでこの記事では、以下のような内容をまとめます。

・(参考となる実体験を紹介)今、働いているプログラマーの英語のレベルについて
・プログラミングで使う英語とは?
・実務で必要な英語を身につけるための方法
・未経験からプログラマーに最短でなれる方法
この記事を最後まで読むことで、こういったことが分かるようになります。
もしあなたがこれから
・ゆくゆくはプログラマーとして働きたい!
こんな風に思っている場合、最後までしっかりと読んで、最短距離でプログラミングを上達させたり、プログラマーを目指せるようになってくださいね!
この記事の信頼性
僕は新卒からエンジニアとして、組み込みのプログラミングをやっていました。
また、僕は元々英語が苦手でした。
新卒で就職したときはTOEICの点数が420点で、同期の中でも最低レベルを争っていました。
受験のときの苦手な科目は英語で、10段階評価で、常に赤点ギリギリの3でした。
もちろん、英語のドキュメントなんてほぼ読めません。
社会人になったあとは、プログラマーとして国内向け製品・海外向けの製品の両方に携わることができました。
一言で「プログラマー」と言っても、日本向けと海外向けでは求められる英語のレベルが異なっていました。
こういった経験をしたことがあるので、「プログラミングで英語が必要だったか?」に関してもいろいろな角度でお話することができます。
結論: 未経験の人がプログラミングを学習する上では、英語は不要!

それではまずはじめに、この記事の結論をお伝えします。

・プログラミングで使う英語は限られているので、必要な単語は自然と覚える
・英語が使えると、英語のドキュメントが読みやすくなったりメリットがあるのは事実だが、優先度が高いのはプログラミングスキル。
・一方、海外とやりとりをしたいのであれば英語は必要。
このまとめの詳細を、1つずつ説明していきます。
プログラミングで使う英語は限られているので、必要な単語は自然と覚える
プログラミングで使う単語は、実はそれほど多くはありません。
get, putなどの基本的な単語から、handler, commanderなどオブジェクト指向でよく使う単語があったり、必要な単語としてはかなり限られています。
僕の感触ですが、どのプログラミング言語であっても、100単語くらい覚えていれば、基本的なプログラミングはできてしまうと思います。
ですので、プログラミングのために英語を学習する必要はありません。
それよりも、できる限り多くのプログラミングをすることで、プログラミング自体に慣れたり、そこで出てくる単語を覚えていく方がよいでしょう。
英語が使えると、英語のドキュメントが読みやすくなったりメリットはある。ただ、優先度が高いのはプログラミングスキル
英語が読めると、英語で書かれたエラーのメッセージやAPIドキュメントを読みやすくなったり、メリットになることはあります。
ただ、1つ目の項目と同じで、エラーメッセージもAPIドキュメントもある程度出てくる単語が決まっています。
そして、本当に単語の意味が分からなければ翻訳ツールを駆使すれば解決することもできます。
ですので、もしあなたが未経験からプログラミングを勉強したり、プログラマーに転職したいと思っているのであれば、英語の学習よりも、プログラミングの基礎的な力を身につけるべきです。
何故なら、プログラミングのスキルがないプログラマーは転職の場で確実に落とされてしまう一方、英語のスキルがなくても、日本で仕事をする上ではそれほど問題にならないからです。
これからプログラマーを目指す人は、英語は余裕があれば勉強する、というくらいの位置づけで考えておくとよいでしょう。
一方、海外とやりとりをしたいのであれば英語は必要
とはいえ、もしあなたが

「これから海外のIT企業の人とバリバリ仕事をしたい!」
というのであれば、英語の勉強は必須です。
海外の人とやりとりをするためには、日常のコミュニケーションを英語でこなせる必要があります。
日常のコミュニケーションはプログラミングで使う英語よりも圧倒的に多くの単語や構文が、入り乱れて出てきます。
場合によっては電話会議で英語を喋ることもあるでしょう。
もし今後プログラマーとして海外の人と働いたりしたい場合は、英語の勉強は必須になります。
プログラミングで英語を使う具体的な6つのケース

続いて、「プログラミングでどのようなケースで英語が必要になるのか」を少し深堀りして説明していきます。
具体的にプログラミング英語を使うのは大きく、以下の6つの場合に分類されます。

・1: プログラミングの変数名や関数名の定義する
・2: エラーが発生したときのメッセージを読む
・3: 何か問題がおき、その解決方法が日本語のサイトではなく、英語のサイトで探す
・4: APIドキュメントを読む
・5: その他海外の一次情報を調べる

・6: 関係する日本人以外の人とやりとりをする
という構成になっています。
それでは、1つずつ内容を見ていきたいと思います。
プログラミングの変数名や関数名の定義する
タイトルのままですが、プログラミングは、変数や関数名を英語でつける必要があります。
もちろん言語により書き方は違うのですが、例えば、
String description = “xxxx”
などです。
ここでいう、
description
という変数名は、自分で決めることになります。
この変数名やクラス名は、後から違う人が見たときに分かりやすいプログラムにするために非常に重要になります。

実際に現場でプログラムを書いているときも、この変数名の書き方が分かりづらいという理由で、レビューが却下になることもよくあります。
とはいえ、少人数や一人で開発をするプロジェクトだとそれほど厳密ではないので、それほど難しいものは使わなくても何とかなるケースが多いようです。
エラーが発生したときのメッセージを読む
特に初心者の頃はこの英語のエラーに苦しめられるのではないかと思います。
例えば、
などのエラーが出ることがあります。
プログラミングをしている人はこのエラーの文言を見て、どのような問題が起こっているのか?を理解する必要があります。
このエラーのメッセージはある程度パターンがあるので、しばらくの間プログラミングを続けていると、理解が早くなってきます。
何か問題がおき、その解決方法が日本語のサイトではなく、英語のサイトで探す
プログラミングは、かなりの時間を問題解決の時間となります。
原因が簡単に分かるのであればよいのですが、内容によってはかなりマイナーな問題に直面することがあります。
そうなると、日本語だけではなく、英語で書かれた情報を確認する必要も出てきます。
何故なら、プログラミングの世界において、英語の方が日本語よりも、情報量も新鮮度も圧倒的に上だからです。
少しでも難しい問題/マイナーな問題になると、英語を読む必要が出てきます。
APIドキュメントを読む

プログラミングをやっていると、「APIドキュメント」と呼ばれる、各プログラミング言語やフレームワークの使い方を記したドキュメントを読む必要があります。
Androidだとこんな感じです。
Angularだとこんな感じです。
プログラマーはここに書いてある内容を見ながら、それぞれの言語の正しい使い方を理解する必要があります。
逆にこのAPIドキュメントを確認せずにプログラミングをすると、意図しないところでエラーが起きたりします。
ですので、特に大規模プロジェクトでの開発においてはこのAPIドキュメントの確認は必須になります。

それぞれの言語に詳しくない状態だと、難しく見える可能性があります。
ただ、これらのドキュメントはそれぞれの言語の知識があることが前提になっている部分も多く、それぞれの言語を勉強していけば、この難易度も少しずつ下がってきます。
その他海外の一次情報を調べる
特にモダンなプログラミング言語で開発している場合、最新の情報についていくのが必須です。
例えばAndroidだと、毎回新しいOSのバージョンが公式にリリースされるはるか前から”Preview version”として、次のアップデートの内容が紹介されます。
なので、プログラマーはこの内容を確認して、自分が作っているアプリに影響がないかを確認することになります。
ここで発表される情報は全て英語のため、それを読んで内容を理解する必要があります。
関係する日本人以外の人とやりとりをする(一部の英語を使ったコミュニケーションをする人向け)
これが当てはまる人は限定されるかもしれません。
一部の外資系企業に務めている人や取引先が海外の人は、関係する人との日常的なコミュニケーションが発生します。
プログラマーの場合だと、
・海外の顧客と、作るものに関する議論や進捗報告をする
というような作業が発生することになります。
基本的にはメールやSlackでのテキストコミュニケーションがベースですが、場合によっては電話会議やテレビ会議を実施することもあり、これまでの1〜5と比べて、一段上の英語力が求められることになります。
僕も強制的にこういう環境に投入されたおかげで、本格的に英語を勉強するきっかけになりました。
プログラミングをする上で英語を覚えるメリット

この記事の結論としては、すでにお伝えしている通り、「プログラミングをする上で複雑な英語は不要で、必要性はあまり高くない」とお伝えしています。
とはいえ、英語が使えればメリットがあるのも事実なので、この章ではプログラミングをする上で英語を覚えるメリットも紹介しましょう。
プログラミングのスピードが早くなる
すでに説明した通り、プログラミングを行う際は、以下のような部分で英語を書く必要があります。
・プログラム中に書くコメントアウトされたメッセージ
・gitなどのメッセージ
これらには、それほど難しい英語は必要ありませんし、ある程度パターンが決まってくるので慣れてしまえばそれほど苦はなく対応できるケースがほとんどです。
ただ、場合によって
・パッと見るだけでは伝わりづらい修正を行っているときの補足説明
などでは、その時に応じた英語を書く必要があります。
このようなケースでは、英語力があることによって、よりスムーズにプログラミングができるようになるでしょう。
情報収集のスピードが早くなる / 範囲が広くなる
プログラミングを効率よくこなすためには、エラーがあったときに、素早くその解決方法を調べる必要があります。
そして、エラーの中にはあまり発生頻度が高くなく、日本語で調べても見つかりづらいものがあります。
そういう場合は、英語のサイトを検索する必要があります。
英語のサイトを素早く読むことができれば、エラーの解決スピード、ひいてはプログラミングのスピードを早めることができます。
また、それ以外にも、英語のページが読めるようになれば、海外の新鮮な情報をリアルタイムに得ることができるようになります。
特に最新のIT技術はアメリカがリードしているのまり、英語を読めると、その最新の技術にリアルタイムに触れることができるようになります。
プログラミング初心者が英語を学習する必要性が薄い理由

続いて、ここまで読んでくださっているあなたが一番気になっているであろう、「プログラミング初心者が英語を学習する必要性が薄い理由」に関して紹介します。
プログラミングで使う英語は、もはや「英語」ではなく「プログラミング」
タイトルだけだと何を言っているのか分かりづらいかもしれないので、具体例を使って説明しましょう。
「ユーザの情報を取得する」という関数は、おそらくgetUserData()という名前になると思います。
この関数名をつける上で知っておくべき内容は以下の通りです。
2: ユーザの情報はUserDataという名前で表す
3: UserDataのUとDは大文字にする (プログラミング言語によります)
これらを知っていればいいわけです。
このうち、1と3は英語というより、プログラミングの知識だと思いませんか?
そして2に関してもUserとDataという名前なので、それほど難しい単語ではありません。
ここから分かるように、プログラミングで使う英語は、純粋な英単語の知識よりも、「プログラミングをする上での命名規則や暗黙的なルール」などを知っておくべきなのです。
こういった点から、プログラミング初心者は英語自体よりもまず、プログラミングを勉強した方がよいでしょう。
プログラミングで使う英語に、複雑なものはそれほどない
すでにこの記事の冒頭の結論の部分で説明したとおり、プログラミングをする上であまり複雑な英語は必要ではありません。
ある程度決まった単語を繰り返し使うことの方が多いでしょう。
特に、プログラミングをする上で日常会話で使うような英語を学習する必要はありません。
プログラミングに日常会話で使うような英語表現は一切出てこないからです。
英語の日常会話で使う表現は非常に幅が広いため、その領域とプログラミングの勉強を両立をするのはかなり厳しいと思います。
プログラミングを勉強したい場合は、プログラミングに特化して勉強するのをオススメします。
変数や関数名に使う英語はある程度パターンがあり、プログラミングをしていれば自然と覚える
これも1つ目と似ている上に結論のところですでに説明したとおりですが、プログラミングに使う単語はあまり多くありません。
逆に、日常会話で使うような英語を勉強しているだけでは出てこないような専門的な単語が多かったりします。
ですので、「習うより慣れろ」ということで、プログラミングをしていく中で、実際に使う単語を覚えていくのが一番の近道です。
分からない英語は、ググればわかる
もしあなたがプログラミングをしていて、

「どうしても英語が読めない・・・」
ということもあるかもしれません。
でも、その場合であっても問題ありません。
対象となるドキュメントをGoogleの日本語翻訳にかければ、かなりの精度で翻訳してくれます。
もちろん細かいニュアンスは伝わらないことが多いですが、大まかな流れを知る上では十分ですよね?
ここまで読んでくださったあなたは、

「プログラミング初心者の間に英語の学習が必要なさそうなことはわかった。
けど、プログラマーになる上で英語が必要になるんじゃないの?」
このように考えているのではないでしょうか?
そこで、ここからは僕の実体験を踏まえつつ、プログラマーになる上で英語が必要なのか?を説明していきます。
(実体験)現在の日本人プログラマーが、どのくらい英語を使えるか?

まずは、現在の日本のプログラマーがどのくらい英語が喋れているか?を紹介したいと思います。
ほとんどのプログラマーが英語はできない
今、僕はIT企業で働いています。
同じチームに複数人のエンジニアがいますが、英語が喋れる人はほぼいません。
もちろん片言の英語でギリギリ意思疎通がとれる人や、チャットやメールであれば何とか・・・という人はいます。
とはいえそんな人はかなりレアで、10人に1人もいません。
大多数の人は、英語を喋ることはできないですし、読むにも一苦労、という感じです。
さらに、多くの人が英語アレルギーを持っています。
外国人から話しかけられると逃げるように去ってしまいます。
ね?日本でプログラマーになったとしても英語ができる人なんてほとんどいないことが分かるのではないでしょうか?
プログラミングに使う単語・コメントは、英語としてはイマイチな表現や名前になっている
プログラミングは多くの場合、変数や関数名、クラス名などを英語で書きます。
changeUserProfile
User
こういった名前をつけるときに、微妙な名前をつけていることが非常に多く見受けられます。
「xxxを取得する」という関数は、全てgetで始まっていたりします。本当はfetchやextractなどの表現を使った方が自然なケースもあります)
正直、「バカのひとつ覚え」のように、みんな「get」です。
ただ、プログラミングをする上ではこの方がいいのです。
変に凝った表現を使うと、他のプログラマーが意味を理解できず、効率が落ちたり不具合を埋め込んでしまう可能性があるためです。
プログラマーの開発の現場では、中学1年生レベルの英語が使えれば全く問題ない、と思っていただいてよいです。

やりとりする相手が基本的に英語ネイティブの人たちになるので、高度な英語を使える必要があります。
日常会話で必要な英語と比べて、圧倒的に必要な単語数が少ない
特にプログラマーとしてプログラミングをするだけであれば、日常会話と比べて必要な単語数が圧倒的に少ない数で済みます。
get, put, Serviceなどの簡単な英語だったり、オブジェクト指向であればHandler, Commanderなどのいわゆる「よく出てくる」単語を覚えていれば、プログラムを書いている中で困ることはありません。
僕も、get, put, Serviceなどの用語だったりHandlerなどの英語は様々なサービスで見てきました。
また、僕自身もプログラミングをする中でこういった単語はよく使います。
一方それ以外の英単語はそれほど必要とされないのが現状です。
もしあなたが英語ができないとしても、これなら安心ですよね?
未経験から最短時間でプログラマーになる方法

ここまでで、プログラミングの勉強やプログラマーになることが目標であれば、それほど英語は必要とされないことがわかったのではないでしょうか。
また、未経験からプログラミングを勉強する場合、ほとんどのケースでプログラマーやソフトウェアエンジニアになることが目標かと思います。
そこで、英語だけにとらわれず、「最短でプログラマーになるにはどうしたらいいか?」を紹介します。
プログラマーになるために必要なスキルは大きく分けて3つ
実は、プログラマーになるためには、大きく分けると以下の3つのスキルが必要となります。

・プログラミングスキル
・その他開発系のスキル (チームでの開発スキル、不具合修正やプロジェクトマネジメントスキルなど)
現場で通用するプログラミングスキル
1つ目のプログラミングスキルはもちろん必要です。
プログラマーになるのであれば、必須のスキルと言えるでしょう。
この部分は非常にわかりやすいので、特段説明する必要はないですよね。
そのほか開発系スキル (チーム開発、不具合修正、プロジェクトマネジメントスキル)
2つ目は、プログラミング以外の開発スキルです。
プログラマーは一日中プログラミングをしているわけではありません。
他の人と会話をして、プログラミングをする方向性を決めたり、進捗がどのくらいか?問題はなにか?を相談したりします。
これを、「チーム開発スキル」や「プロジェクトマネジメントスキル」と言ったりします。
gitを使って多くのプログラマーが書いたプログラムを管理したり、プロジェクトのスケジュールや各プログラマーのタスクを管理する必要があります。
実はこういったスキル、これからプログラマーを目指す人にとってはあまり馴染みのないスキルで、

「そもそもそれって、どういうスキルなの?何をするの?」
ということが分からないかもしれません。
プログラミングのスキルだけであれば独学で学習することもできるのですが、こういったチーム開発やプロジェクトマネジメント関連のスキルは、なかなか1人で身につけるのが難しいのです。
そこで最短でプログラマーになるためにオススメなのがプログラミングスクールに通うことです。
特に即戦力のプログラマーを目指すプログラミングスクールやコースに通うことで、こういったプログラマーとして必要とされるスキルを身につけることができます。
とはいえ、プログラミングスクールって種類が数多くあり、選ぶのが大変だと思います。
そこで、私のプログラマーとしての経験も踏まえた上で、即戦力のプログラマーを目指せるプログラミングスクールとコースを厳選しました。
読んでみて損はないので、これからプログラマーになりたい!」と思うのであれば、是非見てみてください。
ちなみに、この他にもプログラミングスクールはたくさんあります。
そこで、あなたの目的別にオススメの10個のプログラミングスクールをまとめているので、こちらも読んでみてください。
プログラミングに必要な英語を勉強するには

ここまで読んでくださったあなたは、
ということを理解いただけたのではないでしょうか?
とはいえ、プログラミングの勉強をするにせよ、プログラマーになるにせよ、英語スキルは持っておいて損はないですよね?
そこで、この章では、プログラミングに必要な英語を勉強するにはどうしたらいいか?をお伝えしたいと思います。
英語のドキュメントを読んでみる
日本人が英語が苦手な大きな理由の1つは、「そもそも英語に触れる機会がない」ことです。
日本で生活している上で、英語の文章を読むことって、ほとんどないですよね?
そこでオススメなのは、プログラミングに関する英語のドキュメントを読んでみることです。
最初は時間がかかるかもしれませんが、慣れてくると、日本語のように重要なポイントだけを素早く読めるようになってきます。
また、英語の文章を読んでいると、あなたの知らない文法や書き方を見ることもあるでしょう。
こういった知らない文法や書き方を1つずつ覚えることによって、次はあなたが「書ける」英語のレベルも上がってきます。
プログラミングをするときに、変数や関数名をこだわって考えてみる
「読む」の次は「使う」のフェーズです。
英語の文章を読んでいるだけだと、「読めるけど、あなたが使える英語の種類が増えない」ということになるかと思います。
そこでオススメなのが、「プログラミングをするときに変数や関数名をこだわって考えてみる」という作業です。
おそらく最初は良い名前をつけることはできないかと思います。
ただ、一度変数や関数名にこだわって考えるようになると、それ以降、他の人のプログラムを読むときも、

「なるほど、こんな変数や関数名があるのか!」
という発見ができるようになります。
つまり、プログラミングをしながら英語を学習できる状態になるわけです。
さらに、適切な表現をされた変数や関数名は、プログラム自体の可読性も上がるため、プログラマーとしてのレベル向上にも繋がります。
まさに一石三鳥です。
プログラミングを学習したり、プログラマーとして働くのであればこれをやらない手はないですね。
英語のプレゼンテーションを見てみる
英語を「聞く」スキルをつけるのに一番手軽なのは、英語のプレゼンテーションを見る方法です。
この記事を読んでいるあなたは、特にIT関連のニュースにも興味があることが多いと思います。
そこでオススメなのが、Google IOやApple WWDCなどのイベントです。
毎年GoogleやAppleの新製品やサービスの紹介をしているイベントで、IT関連の最新ニュースを見ながら、ネイティブの英語を勉強することができます。
YouTubeで確認することができるので、英語を聞く力を鍛えたい場合は見てみてください。
もしスピードが早すぎて聞き取れない場合は、YouTubeの再生スピードを落とす機能や字幕をつける機能を使うことで、何を言っているかを確認することができます。

日本人以外の英語を使う人がいれば、積極的に話してみる
これはもし可能であれば・・・というレベルではあるのですが、もしあなたの周りに日本人以外の人がいれば、その人に積極的に話しかけてみるのもいいアイデアです。
話しかける相手は、できれば日本語が喋れない人がオススメです。
何故なら、最初の頃は日本語が喋れてしまうと、どうしても日本語での会話に逃げてしまい、「英語でどうにか意思疎通をする」という創意工夫をする機会が失われてしまうためです。
最初の頃はまともにしゃべれないと思いますし、変な汗をたくさんかくでしょう。
でも、それを続けていくことで、確実に英語が喋れるようになります。
ちなみに僕も、過去、英語がまともに喋れませんでしたが、会社で英語を使う会議に強制的に出席させられたおかげで、英語もある程度喋れるようになりました。
最初の頃はとにかく嫌でしたが、少しずつ慣れてくると同時に、着実に英語のレベルも上がります。
そして、一度こういう環境に身を置くことで、英語を話していない間も、

「あのときの表現ってどういう表現がよかったんだろう?」
ということが自然と疑問として湧いてくるようになります。
そうするとしめたもので、英語を話していない、例えば電車に乗っていたり、家でのんびりしている時もスマホ1つで英語の表現方法を勉強するようになります。
プログラミングを勉強する目的を明確に持とう

ここまで、「プログラミングに英語が必要か?」という内容に関して説明してきました。
プログラミングの勉強をする上で英語の勉強は必須ではない、ということが伝わったのではないでしょうか。
プログラミングの勉強をするのであれば、まずはプログラミングを勉強すべきです。
何故なら、もしプログラミングの他に英語を同時に勉強しようとすると、どうしてもプログラミングの勉強時間が削られてしまうからです。
これはプログラミングに限らず、受験勉強でもスポーツでも同じですよね。
特定のことを上達させたいのであれば、そのことに集中する必要があります。
野球選手になりたいと思っている人がサッカーの練習をしないのと同じです。
プログラミングの勉強をする上で、「何故、プログラミングを勉強するのか?プログラミングを勉強する目的は何か?」を明確にし、あなたの目標に向かって全力で駆け抜けましょう。
この記事は以上です。
ここまで読んでくださり、ありがとうございました!
コメント