とあるソフトウェアエンジニアの英語学習法
この投稿では,私の英語学習法と,いまでも学び続けるために普段どういう工夫をしているのかを書こうと思います!
別に私は英語堪能なわけでも有名人でもないので,教科書のようにこのブログを使うことはできないと思います.一方で今後英語を身につけていきたいという人にとって「こういうことをしたらこういう語学水準になる」というベンチマークとして捉えてもらえたらなと思います.
Who am I?
私はいま日本国内のスタートアップでサーバーサイドエンジニアとして仕事をしています.社会人になって8年目です(やば).最初の3年半は証券会社にいました.
日本生まれ・日本育ちで,留学経験も海外駐在経験とかも全くないです.仕事も日本語ネイティブの方だけで100%日本語で進みます.
そうした育ちではありますが,一応テスト対策なしでもTOEICだと900点前半・TOEFLは100点弱くらいで,海外の方とお会いしても「Your English is very good.」と発音も誉めていただくことがそれなりにあります(毎回めちゃくちゃ嬉しい気持ちになります)
「英語教えてください!」とたまに聞かれるのですが,その方が興味あるのは「留学も海外駐在もハードルが高くてそれ以外でどうすれば身につくか」という点なのかなと思うので,それについて書いていこうかなと思っています
英語にこだわる理由
私が英語にこだわっているのは「世界中の人と勝負したい」という理由につきます.ソフトウェアエンジニアって他の仕事に比べて要求される語学力が低いと思っていて,ネイティブ並に英語が使えなくても,他の仕事に比べて世界で活躍できると思っています.まあ君のモチベーションはどうでもよい… そんな気がするので,英語ができるようになった場合の実利をさっと書いておきます.
一言で言えば「アクセスできる情報が圧倒的に多い」
そりゃそうですがそれです,そしてその結果として「良質なコンテンツも多いから学習速度を上げることができる」点がいいなと思っています
英語のテキストコンテンツがそのまま理解できる!
公式ドキュメント・公式ブログ
OSSにおけるGitHubイシューの議論内容
英語の動画コンテンツがそのまま理解できる!
Udemy, Courseraなどの動画教材
Youtube
1については大半の方は嬉しみが理解できると思います.AWSの公式ドキュメント・言語やフレームワークの公式Doc・NetflixやUberのエンジニアブログなど英語でしか存在しないコンテンツを読めるようになります.
ただ,最近はDeepLにそのまま食わせてやればよかったりするので,テキストコンテンツとして言語の壁というのは減っていますね
一方で2については,これはもう圧倒的に,英語の方がコンテンツの質も高く量も多いです.本当に歴然とした差があります.
コンピューターサイエンスのMITの授業,プログラミング言語の設計思想,HowTo動画など,”ただでここまで勉強できていいのか”というレベルでさまざまなコンテンツが英語なら存在します.
個人的には特に2点目の恩恵を受けています.
それでは私が勉強した方法についてざっと紹介します!ちなみに,ライティングは特に何もやってないので割愛します
私の英語学習法
ボキャブラリー
漢字は表意文字といって文字に意味が込められているので,初見でもある程度意味が推測できますよね.「考古学」とあれば古きを考える学問か,というように.
表音文字である英語にも,単語は分解されたいくつかのまとまりによって,意味が形成されています.
例えば "anticlockwise" という単語,反時計回りという意味ですが3箇所に分解できるのです.
anti (反対の・前の) + clock (時計) + wise (方向・方法)
単語を分解し語源の意味を捉えることで,本当に覚えるべき単語が減ります.
otherwise
= other(他の) + wise(方向・方法) ”他の方法で,あるいは”
likewise
= like(似た) + wise(方向・方法) ”同様に”
anticipate
= anti(反対の・前の) + cipate (=take) = (前もって取る) "予測する"
participate
= part + cipate (=take) = take part in "参加する"
分解して語源を覚えていくことで,より効率的に覚えられます.英単語は丸暗記ではないのです.漢字と同じなのです
もちろん一定の基礎単語は丸暗記です.”考”,”古”,”学”それぞれの意味を知らないと考古学の意味も推察しようがないのと同様に,分解不能な基礎単語もたくさんあります.これは覚えるしかないです
ただ,一定レベルまで覚えたあとは上記の視点で学習するのが良く,以下の単語帳がお薦めです
余談ですが,エンジニアならよく聴くTerraformも「大地を作る」という造語です.いかにもIaCっぽいですよね
terra(大地) + form(形作る)
Mediterranean Sea
medi(中間) + terra(大地) + -ean(形容詞化) Sea "地中海"
extraterrestrial
extra(外) + terra(大地) + -rial(形容詞化) "地球外の・宇宙の"
リーディング
私もリーディング得意ではないんですが,とはいっても高校の時に文法はきちんと押さえたつもりなので,まずは文法からという当たり前の回答ですみません.
いまから学習しなおすという場合も大学受験の参考書でよくて,巷で勧められてる本でいいと思ってます
私が高校の時に使ってた文法参考書はこちらです.高校の時なので何周もやってました,それ以後は1回も見てないです
リスニング
リスニング大変ですよね…当然私もいまだに辛いです.
一言で言えば「聞き取れない」をどう脱却するかなのですが,まずはちゃんと答えがある音声を何度も聞くのが重要だと思います.
ニュースやPodcastをひたすら聴くのは,スクリプトがないので”実際何て言ってたのか”がわかずじまいで,これだと”学習”がないので伸びないんですよね.
ドラマもいいんですが,「何度も」繰り返すのが最初は重要なので,40分通しで2回観るという方法はお勧めしないです.すぐ止めて・5秒戻して・再生してを繰り返すなら全然いいと思います.
というわけで私は『CNN ENGLISH EXPRESS』シリーズで勉強してました!というより,これだけで十分です.証券会社時代のTOEIC満点外語大の先輩も言ってたので間違いなし!
15秒くらいで終わる短いCNNニュースが8本・日常会話使えるトーク・ちょっと長めのニュース2〜3本・さらに長めのニュース2〜3本が音声とスクリプト付きで入っていてなおかつ国別訛りや聞こえ方の注意点などが解説されてるので,とても勉強になると思います.
私の場合は,ある程度そこでリスニング力をつけて,その後はもうひたすらに聴きまくるようにしています.
▶︎アンダーソン360
→アメリカの超有名アナウンサー.SpotifyでPodcastがある.ほぼ毎日更新され40分程度CNNニュースが配信される.
▶︎Bloombergニュース
→Bloombergは金融経済のメディア.アプリのなかでラジオだけはサブスクなしで聴ける.金融マーケットの専門用語が多すぎるので業界を知っているひと向け
▶︎海外ドラマ「フレンズ」
→多彩な日常会話・スラングに触れられる.Netflixで見てる.見てると言っても1話を何度も再生してる
▶︎海外ドラマ「SUITS」
→ウィットの効いたビジネス会話に触れられる.Netflixで見てる.見てると言っても1話を何度も再生してる
▶︎Youtubeのテック動画
→とにかく色々見てる.
スピーキング
スピーキングについては,発音と文章構成能力と単語の3つがあるかなと思うんですが,全部前述のCNN ENGLISH EXPRESSでいいと思います.
私自身は高校3年生の時に塾の教材で毎日15分シャドーイングしていたのでその時に素地ができたのですが,今始めるならCNN本でOK.
聴くだけじゃなく自分で声に出します.15秒一本のニュースを以下のような順序で繰り返し聴き・声に出します.
まずは何もみずに聴く
もう1回聴く
スクリプトを見ながら聴く
スクリプト通りに聞き取れなかった部分を何回か繰り返し聴く
音声と同時に自分もスクリプトを見ながら発音する
音声に合わせてスクリプトを見ずに発音する(シャドーイング)
さらに私の場合は,時々自分の声を録音し,録音した音声を聴いて,聞き取れない部分(自分の発音が悪い)を矯正していきます.
発音についてはよくRとLの違いを気にする方が多いんですが,それ以上に重要なのは s と sh の違いらしいです(あと th も).
She sells sea shells in the sea shore.
She shells she shells in the she shore.(日本語英語で発音するとこう聞こえるらしい)
あとはいかに英語を話す機会を作るかという話なのですが,もうこれはあの手この手使うしかないと思います.Tinderで気になる人と出会うとかでも全然よき.
今でもやっている工夫
冒頭にも書いたように普段仕事では全く英語を使わないので,今現在も私は自分の語学力を落とさないようになるべく英語に触れるよう色々工夫してます.最後にその内容を紹介しておきます!
1.PCの設定は全部English
とにかく全部英語で設定しています
PCのシステム言語の設定も英語
Chromeの言語設定も英語
Slackなどアプリの設定も英語
2.ググる時は英語で検索し英語の記事を見る
開発していて詰まった時や調べ物したい時,英語で検索して英語の記事しか見ないように意図的に気をつけています.もちろん公式ドキュメントを見たい時なども必ず英語を選ぶようにしています
例外として,障害対応などで緊急を要する場合は,日本語で検索するときもあれば日本語の記事を開くときもありますが,それ以外は基本的に英語で完結するようにしています
一応誤解ないように補足すると,日本語のテックブログは読みます!ガンガン読みます.Zennとかもよく見てます!それは,日本にも優秀なエンジニアが多いのでそうした人のブログは純粋にコンテンツとして優れていて勉強になるからです
一方で,エラーメッセージに対する対処方や,Getting startedのような記事は例えばQiitaにも数多くありますが,そうしたものはコンテンツ自体がコモディティ化しており,大抵のものは英語でも同じ内容のものが存在します.なのでこう言った情報を手にしたい時は意図的に英語の記事を選択するようにしています
3.とにかく英語を聴く!
なんでもいいからとにかく英語を聴く時間を捻出しています.今でも私はCNN ENGLISH EXPRESSを家でやってます!
行きの通勤時間はアンダーソンクーパー360でCNNニュース聴いて,帰りはYoutubeでテック系の動画を見ていたり,株価が荒れたなと思ったらBloomberg聴いたり.もちろん寝落ちしまくってますが,疲れてる日はドラマにして寝ないようにしたり,一応聞く努力はしてます.TwitterやClubhouseで海外のひとのトークに参加もしてます.
特にYoutubeは年間数百本は英語のテック系コンテンツを見てます
日常会話・技術トーク・ニュース・生の人間の会話とかまんべんなく触れるようにしています
4.英語しゃべる
恥ずかしいですが,家でもシャドーイングしてます!同居人がいて恥ずかしいと思ったらいない時間にやったりしてます
CNN ENGLISH EXPRESSも毎月買ってはいないですが,今も買ってます
最後に
あくまで工夫するのは自分だけであって,周りに強要するのは🙅♂️
私も,gitのコミットメッセージはチームのルールに従って日本語で書いていますし,直近だとテストコードのコンテキスト(仕様)の記述も日本語で書くようにしています.
それでもモブプロとかすると「あーこのPC全部英語なんだよな」「うわっ」と言われてしまうんですが…そこはもう許してくれ.
終わりに
なんか英語できそうに見えますが今でもニュースなんか聞き取れないことだらけです.文章読んでてわかんない単語もたくさん.なので,これでいいのかはよくわからないですが,少しでも参考になれば幸いです
もし気になることがあれば,ぜひ連絡いただければお伝えします!読んでいただきありがとうございました
Twitter link:
https://twitter.com/__yutafujii__