paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

英語ドキュメントが苦手なエンジニアでも挫折しない!4つの目的別英語学習方法

f:id:paiza:20161130172616j:plain
Photo by faungg's photos
f:id:paiza:20140916135428p:plainこんにちは、谷口です。

エンジニアの皆さんは、英語版しかない技術ドキュメントやQAサイトを解読するのに苦労した経験はありませんか?(私はあります)

IT系の最新情報や公式ドキュメント、技術書というのは、英語圏発信のものが多いです。ですので、例えば「技術系ドキュメントを何とか読んで理解できる人」と「英語はほとんど読めない・理解できない」という人では、学習や開発の効率もかなり違ってきます。

とはいえ、普段の業務に追われていると「英語勉強しなきゃな~とは思ってるけど今さら何から始めたらいいのかわかんない…」「勉強したいけどまとまった時間がとれない…」という人も多いかと思いますので、英語初心者のエンジニアが、改めて英語を学習するのに役立つ、隙間時間でもできる学習方法をご紹介していきます。

■エンジニアと英語の関係

先日、「日本のエンジニアは英語ができないせいで変化に対応しきれていない」という旨のこんな記事がありました。
d.hatena.ne.jp

「なぜ、変化への対応がここまで遅いのか」という理由を考えてみて、「プログラミングが好きではない職業エンジニアが増えている」などが思い浮んだのですが、根本となる最大の理由は「英語しかドキュメントがない」ためだという結論に至りました。

【中略】

僕がこれまで教えた経験からの判断によると、やはり「英語を先に学んでからプログラミングを勉強した方が、圧倒的にプログラミングの学習効率が高い」という結論に至りました。

学生や初心者の方、これからプログラミングを学ぼうという方が、先に英語を習得しておいたほうが効率がいいというのはわかります。しかし英語の苦手なエンジニアの方々は、「プログラミングはある程度学んだ、英語は少なくとも中学高校でやってきたけど正直覚えていない」という状態の人が大半かと思います。

こうした既に日本でエンジニアとして働いている方々が、改めて英語学習のためにまとまった時間を割くというのはかなり難易度の高いことだと思います。

ただ、「日本のエンジニアは英語ができないせいで変化に対応しきれていない」ということは、逆に考えれば英語を習得できれば日本のエンジニアはもっと伸びるということも言えるのではないでしょうか。英語が苦手だからといって、例えば海外発信のドキュメントや講演を避けて終わってしまうのは非常にもったいないことです。

今回はそんな現役エンジニアの方々に向けて、現実的に隙間時間でも実践しやすく、挫折しにくい英語の学習方法やコンテンツをレベルや目的ごとに集めました

■学習を始める前に:目標を決めよう

英語もプログラミングと同じで、「何らかの目的を達成するための手段」と考えた方がよいと思います。学習を始める前に、まずは英語を使って「何ができるようになりたいのか」といった具体的な目標を考えておいた方が、目指す方向性が明確になるのでただ漠然と取り組むよりも効率的に学べるでしょう。

あくまで今回は「エンジニアの方が業務で英語を使えるようになる」ことに重点をおくべきだと思っていますので、「TOEICで〇点とる」といった数字や資格的な目標はあまりおすすめしません。(業務上の目標で「〇点とらなければならない」という人もいるかもしれませんが…)

極端に言えば「仕事で英語の技術ドキュメントを読む必要がある」という人は、TOEICが何点だろうとドキュメントが読めれば問題ないわけで、TOEICの点数を上げるための勉強よりも、技術ドキュメントを読めるようになるための勉強をした方が現実的です。

というわけで、エンジニアの方が英語を学習するにあたっては、「よく使うあのライブラリの最新ドキュメントを原文で読めるようになりたい」とか「英語でコミットメッセージが書けるようになりたい」といった感じで、自分が英語を使って何ができるようになりたいのか、どれぐらいのレベルまで到達したいのかといった目標を考えておくとよいでしょう。

■エンジニアのための英語学習法

◆中学レベルの英語も怪しい人

◇中高レベルの英語をざっとおさらいする

コストの低さ:★★
手軽さ:★★★

※ここは「中学・高校レベルの読み書きは問題ないぜ!」という方は飛ばしてください。

英語を学習するに当たって、エンジニアの場合は「英語のドキュメントや技術書の原書を読むといい」と言われることも多いかと思います。もちろん、既にそれなりに英語の知識がある方ならそれでもいいのですが、中高レベルの英語の文法すら怪しい人がいきなり英語のドキュメントや技術書に手を出すと、分からなすぎて確実に挫折します。(私は挫折しました

このレベルの人は、一度中学英語レベルの基礎をおさらいしてから次のステップに進むことをおすすめします。

【中学・高校6年間の英語をこの1冊でざっと復習する】

中学・高校6年分の英語を総復習する(CD付) (CD BOOK)

中学・高校6年分の英語を総復習する(CD付) (CD BOOK)

中高レベルの英語であれば無料で学べる学習サイト等もありますので、自分が使いやすいコンテンツで学ぶのが一番よいのですが、正しい英語の基礎を体系的に復習したい場合、個人的には書籍を一冊購入して、通勤時間にでも読んでみるのがいいんじゃないかと思います。個人的には本著がとてもよかったです。

私は中学英語の助動詞も本気で怪しいレベルだったのでこの本が本当に役立ちました……。同じくらいのレベル感の方は、まずはかつて学んだはずの英語を思い出したり復習したりすることをおすすめします。

◆英語のドキュメントを読めるようになりたい人

・公式のドキュメントを読めるようになりたい
・英語のQAサイトを解読できるようになりたい
・英語のコミットメッセージを読めるようになりたい

◇日本語訳を読んだことのあるドキュメント、技術書の原書を読んでみる

コストの低さ:★★
手軽さ:★★

繰り返しになりますが、エンジニアの場合は「英語のドキュメントや技術書の原書を読むといい」と言われることが多いかと思います。ただ、英語初心者が初見の英語ドキュメントや技術書の原書を読むと何が書いてあるか分からなくて恐らくは挫折します。(私は挫折しました

この場合、まずは初見ものではなく、既に日本語訳で読んだことのある技術書の原書や概要を知ってる公式ドキュメントから読んでみた方がよいかと思います。わからないところがあれば、すぐ日本語訳と照らし合わせることができます。原書は値段の高めな書籍も多いですが、kindle版になっているものもあります。この辺の書籍だと、日本語訳で読んだことのある方も多いのではないでしょうか。

【The Art of Readable Code】

The Art of Readable Code: Simple and Practical Techniques for Writing Better Code (Theory in Practice)

The Art of Readable Code: Simple and Practical Techniques for Writing Better Code (Theory in Practice)

【C Programming Language】

C Programming Language (Prentice Hall Software)

C Programming Language (Prentice Hall Software)

書籍のほかに普段使っている言語やフレームワークで、日本語訳版ドキュメントや日本語での情報が充実しているものも、あえて英語版で読んでみるとよいでしょう。そもそも最新のドキュメントは日本語訳が追い付いてなくて英語版しかないということもありますし…。

Python 公式サイト
f:id:paiza:20160510135306p:plain

Ruby on Rails 公式サイト】
f:id:paiza:20160511115501p:plain

paizaオンラインハッカソン5 「俺の許嫁と幼なじみが修羅場すぎる」英語版
f:id:paiza:20160511115918p:plain
paizaが定期的に開催しているオンラインハッカソンには、英語版に対応しているものもいくつかございます。漫画やプログラミング問題文にいたるまで全て英語ですので、プログラミングと英語を同時に学ぶことができます。


英文リーディングの基礎がある人、またリーディングに慣れてきた人は、初見の技術書や英語ドキュメント、IT系の情報サイト・QAサイト等を読んでみるとよいでしょう。この辺のサイトは日本版なら見たことあるという人も多いと思います。

Stack Overflow
f:id:paiza:20160511121315p:plain

TechCrunch - The latest technology news and information on startups
f:id:paiza:20160511121518p:plain

◆英語を書けるようになりたい人

・変数名や関数名を命名したり理解できるようになりたい
・英語でコミットメッセージを書きたい

◇命名に使える単語やプルリクで使える例文がまとめられた記事

コストの低さ:★★★
手軽さ:★★★

英語を書くといっても、いきなり「技術系ブログ記事を英文で長文を書いて発信するぜ!」等というよりも(いきなり長文を書きたい人もいるかもしれませんが…)、まずはほとんどの人が関数名等の命名とか、コミットメッセージを書くとか、英語圏のエンジニアとチャットで少しやりとりをすることになったとか、単語や短文を考えなければならない場面に当たることが多いかと思います。

そんなときに迷った場合は下記のような記事で、命名によく使う単語やコミットメッセージによく使う例文パターンを調べるとかなり参考になると思います。同様の記事や単語変換ツールはいろいろありますが、下記の3つが個人的にはすごく便利でありがたい記事だと思います。

関数名によく使われる英単語(動詞)の意味とニュアンス | PHP Archive

モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita

ネイティブと働いて分かった英語コミットメッセージの頻出動詞10つ - Qiita

◇英作文をサポートしてくれる便利ツール

コストの低さ:★★★
手軽さ:★★★

英辞郎
f:id:paiza:20160511121852p:plain
英文を書く際に、Google翻訳やExcite翻訳を使っている方は多いと思いますが、「日本語から翻訳したものをそのまま貼って終わり」だけでは、自分で書けるようにはなりません。プログラミングも英語も、自分で書けるようになるためにはある程度の型を知ること、そして実際に書いてみることが必要です。

自分で英作文をする場合、英辞郎がかなり役に立つと思います。英辞郎で単語を引くと、他の辞書ツールと比べてもかなり多い例が出てきます。

例えば「削除する」で調べたら、ほんの一部だけでもこんなに出てきました。(全部で173件出ました)
f:id:paiza:20160510194119p:plain
単語登録等の便利機能は有料版でないと使えませんが、無料版でもかなり便利だと思います。


grammarly
f:id:paiza:20160511123247p:plain
grammarlyは自分で書いた英文を自動でチェックして添削してくれる超便利サービスです。

各ブラウザ・MS Officeに応じたプラグインが用意されていて、こんな感じで英文に間違いがあれば指摘してくれます。便利~!!
f:id:paiza:20160510194825p:plain

◆英語を聞き取れるようになりたい人

・海外のエンジニアのプレゼンを聞きとれるようになりたい

◇英語のPodcast、動画を聞きまくる

コストの低さ:★★★
手軽さ:★★★

・TEDやスピーチ・プレゼン等の動画
TEDでは、IT系をはじめさまざまなジャンルの講演を聞くことができます。TEDの動画は日本語字幕も出ますので、リスニング教材としても初心者に優しいです。「何を言ってるか全然わからん……」という感じであれば一度字幕を見ながら聞いて、再度字幕なしで繰り返し聞くようにすると、どこで何を言っているのか聞き取れるようになってくるかと思います。

私が好きなのはMITメディアラボを創設したニコラス・ネグロポンテ氏によるインターフェースと技術革新に関する興味深い講演です。

ニコラス・ネグロポンテ: 未来の30年史】
www.ted.com

自分が興味のあるテーマや人物によるTEDは、内容をより理解しようという気になるので、探してみて気になったものからどんどん聞いていくとよいでしょう。いざとなったら字幕もありますし…(2回目)。


・英語の技術系Podcast
Podcastも様々なジャンルの放送を聞くことができますが、技術系のPodcastも多いので聞いておきたいところです。

The Changelog
f:id:paiza:20160511124716p:plain
The Changelogオープンソースの開発者を呼んで、毎週一時間がっつりインタビューをしているPodcastです。これを書いている今は最新回がRuby開発者のまつもとさんのインタビューです!自分の興味のある分野のインタビューだけでも聞いてみるとよいかと思います。


・英語の技術系学習動画
少しハードルが上がるかもしれませんが、英語の技術系学習動画を見ると英語も技術的にも勉強になって一石二鳥です。

LevelUp Tuts
www.youtube.com

LevelUp Tuts」はチュートリアル動画を制作している「Level Up Tutorials」が公開している動画で、JavaScriptの基礎的なコードの書き方を英語で解説してくれています。

ヒアリング能力を上げるためには、通勤中や家事するついでなど、ながらでいいので繰り返し聞くことが重要です。

◆英語で話せるようになりたい人

・英語ネイティブのエンジニアと仕事することになった
・いずれは英語でプレゼンできるようになりたい

◇オンラインの英会話スクールを活用する

コストの低さ:★
手軽さ:★

英会話は、やはり会話をしないことには始まりません。すぐ近くに練習相手になってくれるネイティブの人がいる場合や、自分はカンファレンスで海外出身者にもがんがん話しかけられるぜ!という方はよいのですが、日常的に英語で会話をする機会がない人は、やはりスクールを活用するのが一番手っ取り早いです。

「スクールは時間もコストもかかりすぎる!」と思うかもしれませんが、最近はSkypeを使った受講料の安いオンラインスクールが増えてきています。また24時間365日レッスン可能で社会人でも受講しやすいスクールもありますので、休日でも深夜・早朝でも、あいた時間で勉強することができます。「英語を話せるようになりたい…でも日常的に話す相手がいない…」という人は一度無料体験レッスンから始めてみるのがよいかと思います。


DMM英会話
f:id:paiza:20160511123717p:plain
月額:4,950円〜
24時間365日受講可能
無料体験あり

DMM英会話はSkypeを使ってオンラインで英会話レッスンを受けることができます。休みの日でも遅い時間でも早朝でもできるので自分のペースで勉強できます。

2回まで無料体験できるので、気になる人は体験してみるとよいかと思います。


ベストティーチャー
f:id:paiza:20160511123841p:plain
月額:9,800円~
24時間365日受講可能
無料体験あり

ベストティーチャーも24時間365日受講可能で、こちらは英会話だけでなくライティングのレッスンもあり、自分で書いた文を添削してもらえるので英作文も学ぶことができます。

■まとめ

英語ができるようになると、エンジニアとして得られる情報も、自分から発信できる場面も飛躍的に増えますので、絶対に損はありません。「いつかやらなきゃ…」と思っている人は多いかと思いますが、早く始めればその分、早く多くの情報を得ることができます。

プログラミングもそうですが、英語も継続して勉強したり、実際に使ったりすることで、できることが増えていくものです。

漠然と「まあ英語できた方がいいよな~」と思っていた方は、もう少し進んでまずは自分が「英語という手段を使って何ができるようになりたいのか?」から考えてみることが習得の近道になるかと思います。

■paizaについて

f:id:paiza:20150730172136p:plain
paizaでは、プログラミングスキルチェック問題(9言語に対応)を多数ご用意いたしております。上記ランキングにあるような多数の言語に対応しておりますので、「プログラミング問題を解いてみたい」「自分のスキルを試してみたい」という方にもピッタリです!

paizaでプログラミング問題を解くと、結果によりS・A・B・C・D・Eの6段階で自分のスキルのランクが分かります。問題はレベルごとに分かれており、初心者から上級者の方まで挑戦していただけますので、自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください!!

プログラミング問題による学習コンテンツ(paiza Learning)もございますので、「まったくのプログラミング未経験者なのでプログラミング学習から始めたいな」という方もぜひご利用ください。

さらに、paizaが運営する無料オンラインプログラミング実行環境サービス「paiza.IO (パイザ・アイオー)では、多数の言語におけるプログラミングが面倒な環境構築なしに無料でできますのでぜひご利用ください!




paizaではITエンジニアとしてのスキルレベル測定(9言語に対応)や、プログラミング問題による学習コンテンツ(paiza Learning)を提供(こちらは21言語に対応)しています。テストの結果によりS,A,B,C,D,Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。

http://paiza.jp


プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編