CMUの学生になってくる

明日からカーネギーメロン大学の授業が始まり、タイトルのとおり学生になってくる。
この記事は昨年度末ぐらいから書こうと思っていたが、タイミングを逸し続けていた。ただ、かなりの時間をこの準備にかけてきたし、同じような取り組みをしようとしている方がもしいるなら参考にもなるかもしれないので、備忘も兼ねてやってきたことを書こうと思う。

経緯

2016年の初めに、会社からMBAでなくセキュリティ系で留学にチャレンジしてみないかと声がかかる。この手の社費留学は会社では初めてらしく、突拍子のない話だった。正直、まず語学力からして留学を目指すなんて選択は自分のこれからの選択肢にすらなかったし、最初聞いたときには相談内容を理解するのに少し時間がかかった。
ただ、開発の側面からではあるけど入社してからこれまでセキュリティのことばかり考えてきて、どうすればもっとレベルアップできるか少し悩んでいた自分にとっては願ってもいないチャンスだと思った。

今までは、会社を巻き込んで参加者が100人近くになるようなセキュリティコンテストを開催したり、メンバを募って外の大会に参加してみたり、ハッカソンを企画したりしたけど、どうしても自分の知識に偏りを感じていたし、何より同じようなことを目指す仲間たちとビジネスから離れたところで純粋に勉強/研究してみたいという思いもあった。
こうした思いが重なり、これをチャンスにチャレンジしてみようと思ったのがきっかけだった。

受験準備

チャレンジを決めたところで、まず最大の難関が語学力だった。自分の入社時の英語力は、ETSのレポート(pdf)によると日本人の平均ぐらいだった。まぁ500~600点の間ぐらい。そこから何年も英語の勉強をせず、英文に触れることさえ避け続けてきたため、英語力が壊滅的に不足していることは明らかだった。もしこの時点でTOEFLを受けたとしても、良くて40点台ぐらいだったんじゃないかと思う。

準備は4月から9か月くらいだったけど、スケジュールにしてみると大きく

  1. TOEFL対策
  2. TOEFL + GRE + その他準備

の流れとなった。(下図参照)

f:id:f_rin:20170828162943p:plain

1. TOEFL対策

上述のとおり語学力の向上が課題だったので昨年の4月から通学できる語学学校や英会話を探しまくった。語学学校のアドバイザの方に相談したところ、自分の場合、ざっくり1,000時間程度は勉強が必要ではないかと言われたので、年内で1,000時間勉強することを目標にし、スケジュールにブレークダウンしていった。月あたり120時間ぐらい勉強すれば良さそうな計算のため、生活時間に組み込んだ結果、

  • 平日:お昼休みに英会話、金曜の終業後に語学学校。その他の終業後や通勤時間は自習&宿題
  • 土日:語学学校やTOEFL受験

というスタイルにし、平日に3~4時間、休日に7~8時間を勉強時間とした。CTFの参加やセキュリティ関連の活動は当分できないと覚悟したし、実際それどころではなかった。

仕事との両立については、幸い理解のある職場であり、過度な業務量とならないよう調整してもらえたため、とても助かった。職場に協力者がいてくれたことは大変幸運だったし、成功のための重要な要素だとも思う。

英会話はGABAに通ったが、先生によって教え方に差がある。TOEFLのSpeaking練習向けにうまくカスタマイズしてくれる先生を見つけ、その先生のときにTOEFL対策をするようにした。語学学校では基礎力の向上と点数の取り方を学ぶ。勉強方法が明確になるため、独学よりもはるかに効率よく勉強することができた。

振り返ると一番時間がかかったところは単語力の強化とリスニング力の強化だった。特に後者は能力が線形に上がらないので実感しにくく、モチベーションの維持がつらかった。あとはTOEFL自体の受験も意外とキツい。試験が4時間半ぐらいのため、集中力を維持しつつ走りきる必要がある。受験者ごとに試験の開始時間が違うため、自分がReadingしている最中に他の人がマイクテストで “I live in Jamaica!!” とか言ってて集中力が全部持っていかれたときは泣きそうになった。

近道みたいなやり方はなかったけど、時間を割いてコツコツと積み重ねて少しずつ基礎力を上げていったのが点数に繋がっていったと思う。
毎日、何を何時間勉強したのかを記録することで、勉強時間を管理していった。目安の把握にもなるし、何より「これだけやってきたんだ」という自信になった。というよりこの数字にすがって続けることしかできなかったのかもしれない。

勉強方法や、TOEFLを受けるにあたっての会場や受験ノウハウとかは、今回は趣旨が違うので割愛する。

2. TOEFL + GRE + その他準備

夏が過ぎたところでGREと願書の準備にも目を向け始めた。TOEFLと両立する必要があるため本当につらい。自分の場合、「GREは2か月で集中してやっつける」方針で取り組んだ。アドミッションの方にヒアリングし、数学に一番に重点を置くべきということがわかったため、勉強はTOEFLを優先させつつ、GREは数学に重点を置き短期決戦にした。

  • GRE
    GREとは、アメリカ大学院の進学に必要な共通試験である。大学卒の英語を話すネイティブ向けに作られている試験のため、日本人にとってこの試験を攻略することはハードルがめちゃくちゃ高い。まず試験のクレイジーさに呆れる。圧倒的なボキャブラリーの暴力。積み上げた単語力無視のサンドバッグ。設問の選択肢の単語がすべてわからないなんてのもある。こんな無理ゲー滅多にないと思う。

    ジャンルは、簡単に言うと「英語で数学の問題を解く」「英文法や論理の問題を解く(激ムズ)」「英語小論文」の3つに分けられる。
    数学はセンター試験の数学よりも簡単なため、ここをまずは落とさないようにし、英文法と小論文でどこまで食らいつけるか頑張るという戦法とした。英文法については、自分は最後までコツがわからず、点数も伸ばすことができなかった。このため最低ラインを取る心構えで臨んだ。小論文は「抽象的な話題に対する自分の意見を述べる」「論理的に弱い部分にツッコミを入れる」というテーマだが、TOEFLである程度の文章力はついてきていたため、GREの傾向と点数の取り方を学んだ上で、ツッコミの言い回しなどを覚えておくようにした。

    あとGREで気を付けることといえば、サイトがよく落ちる(これには焦る)。よくわからんDB接続エラーかなんかの画面にも飛ばされたりする。それと公式スコアのPDFに過去受験した点数も表示されてしまう。特定スコアのみを出力する方法をETSに問い合わせたら「ペイントかなんかで加工してー」と返事が来たけどそれはアカンでしょうwと思った。
    なので、できるだけ時期に余裕を持ち、スコアのPDFは毎回ダウンロードしておくことを心掛けると良いと思う。
  • 履歴書
    今までやってきたことを棚卸しして完成させる。日本と違い特にフォーマットは定められていないため、ネイティブの経験のある方に相談しながら “EDUCATION”, “PROFESSIONAL EXPERIENCE”, “ADDITIONAL INFORMATION” のような構成で書いていった。資格や職歴等だけでなく、成果も具体的・定量的に書けると良い。例えば、大学では全●●人の学生の中で首席だった、●メガラインのシステムをJavaで作り上げ性能を100倍にした、こんなプロジェクトでチームリーダーとして●●ドルの利益を創出した、チームを率いて●●のCTFで決勝大会に進んだ、といったイメージ。今から考え直すとまだ追加できる項目がいくつもあったなぁ。
  • SoP / Essay
    Statement of Purpose(志望理由書)は選考における比重が大きいため時間をかけて書いた。2016年の試験では以下4つについての記載が求められた。
    1. このプログラムに応募する理由
    2. 自分の技術に関するバックグラウンド
    3. 今までやってきた研究内容や成果
    4. リーダーシップの発揮経験と、その能力で大学にどのような価値をもたらせるのか
    5. (その他特記事項、追記があれば)

    自分の場合、運よく自分のやりたいことや過去の成果を棚卸しする機会が定期的にあったため(例えば会社の昇格試験とか)、それをもう一度咀嚼し、さらに入社以前のことも振り返りながら上記質問に合致する内容を書き上げた。MBA経験のあるネイティブの方にも見てもらい、コンテンツの強さや文法も踏まえたアドバイスをもらいながら執筆した。一貫性が必要となるが、自分の活動を定期的に棚卸しするという行動はこの上でもとても大事なことだと思う。
  • 推薦状
    一般的にアメリカの大学院留学では3通の推薦状が必要である。さらに、これの選考における比重は極めて大きい。学部卒や修士卒では、人によっては論文をそれほど持っていない場合もあり、推薦状が客観的な評価手段として有用だからだ。CMUも3通必要であったため、1通を大学のときの指導教官、2通を会社の直属上司とそのまた上司に書いてもらうようにした。忙しい方が多いので、推薦状の執筆方法は相談が必要である。自分の場合は、書いてもらうべきエピソードや執筆のやり方を最初に相談させてもらい、内容はネイティブの方からもアドバイスをもらえるよう手配した。具体的には、どんな内容で書いてもらえばよいか、原稿の一次案を自分が作成したほうが良いか、などを推薦者に合わせて相談させてもらった。

    推薦状を誰に書いてもらうかだが、個人的には偉ければ偉いほど良いかというとそうではないと思う。有名な方からの「そんなに知らないけど推薦状書きました」よりも、「自分のことをよく知っている」方から具体的で中身のある内容を書いてもらうほうが良いと思うからだ。
    そんな理由もあり、上司の上司から「私よりもっと偉い人に書いてもらったほうが良いのでは」という意見をもらったり、もっと上の方から私が書こうか、など声かけもしてもらったけれども、この人に必ず書いてもらおうと決めてお願いをしにいった。
    数年前に仕事でしんどい思いをしていたときに、お前を手離すのはもったいないしぜひうちの部署に来ないかと言って拾ってくれた方だ。この方がいなければ今頃他の会社にいたかもしれないと思うし、勉強ばかりでつらかった時期に一番気にしてくれて応援してくれたのもこの方だった。この方に書いてもらわないことは自分の中ではありえなかった。実際、推薦状の中身はとても具体的で強力な内容にしていただくことができた。内容は3通とも強力で、書いていただいた3名の方には本当に感謝してもしきれない。
    なお、他者との調整が入るため提出物で一番時間を要したのがこの項目だった。
  • 成績証明書や卒業証明書
    大学のときの成績や卒業証明書を英語版で発行してもらう。自分はGPAでいうと3.5以上はあり、そこそこ高かったので問題なかったが、もしGPAが低めの場合にはGREの点数などでカバーする必要が出てくると思う。

応募

大学への応募は、一般的には各大学の特色を調べ、「すべり止め」「実力に合うところ」「チャレンジ校」等をレベルに合わせて選定するのだと思うが、自分の場合はもともとの経緯もあり、一校のみに応募した。
基本的に上記の情報を大学のオンラインページから投入するだけだが、TOEFLGREは開催団体のETSからスコアを送付してもらう必要があるため、期限にだけは注意した(スコアの郵送時間が意外とかかる)。なので、スコア郵送期間を考えると受験自体は出願締め切りの2か月前には終えておくのが無難だと思う。ちなみにオンラインページの挙動でおやっと思うところがあったが脆弱性探しを控えたことは内緒だ。

合格

正直、TOEFLの点数が満足の行くものではなかったため、(語学力向上の)条件付き合格になるんじゃないかと思っていた。が、予想に反して本合格をもらえることができた。おそらくSoPや推薦状の内容から、「英語力は少し弱いけどITやセキュリティに関わってきてる面白い人」という印象を与えられたのだと思う。合格発表までの1ヶ月は気が気でなかったしなぜか熱が出たけど、合格したときは本当に嬉しかった。何より今までの頑張りが報われた瞬間だった。

これから

秋のセメスターではまず入門的な内容が多いらしい。社会人として開発や解析の経験も積んできているし、今まで出ていた大会なんかで多少のアドバンテージもあるとは思う。例えばWiresharkを使ったパケット解析やBuffer Overflowを扱ったりといった内容もあるみたいで、内容によってはスタートアップは悪くないと思う。

それでもまだ不安も大きいので、少しでも何かやっておこうと思い、例えば今月は苦手分野の暗号についてmodとか群、離散対数の基礎を見直したり、pwn challenges list(通称batalist)の問題を20問ぐらい解いてみたりしていた(ぜんぜん埋まらん…)。あとは脆弱性のあるWebアプリケーションを作成して内輪で公開したり実世界の脆弱性を見つけてみてIPAに報告したり。

正直、まだまだスキルは不足していると思うし、特に語学力面での不安もめちゃくちゃある。そこそこの頻度で徹夜も必要になると聞いていてビビっている。それでも、自分がどこまでやれるのか試したいし、ものすごい量の新しいことを吸収できる環境には最高に興奮している。

さいごに

つらいことがたくさんあった。準備中、何度も挫折しそうになったし、逃げそうになった。Listening力の向上を全然実感できずに、朝まで弱音を吐いて飲んだくれた。GREの難しさにひたすら茫然として海を見に行った。
でもその間に自分と向き合って、まわりの人からも元気をもらって、その都度もう一回だけ頑張ろうと自分を奮い立たせてモチベーションを継続してこれた。

結局拠り所になったのが、つらい時に話せる仲間と、自分の強い決意と覚悟だと思った。本当に苦しくて折れそうになるし、孤独な闘いになるし、でもそのときにあと後ろ足一本でなんとか踏ん張れる力はここから来るんじゃなかろうか。

あと、SoP執筆のときに気付いたことだが、最初セキュリティの部署に配属されて情報セキュリティを学び始めたのがきっかけだったけど、振り返るとやってきたことって意外とちゃんと繋がっているなぁと思った(もちろん遠回りも大いにある)。今回の準備を通して、やってきていることは無駄になっていなかったんだな、と改めて気付くことができた。

そう思うと、悪いことばかりではないと思える。

明日から授業が始まる。期待も不安もある。そもそも全く通用しなかったらどうしよう、とか、あわよくばPPPにお近づきになれるかなぁ、とか、考えることは色々ある。けど、まずは環境にどっぷりつかってみて、走りながら考えを修正していこうと思う。どちらにせよこの機会を最大限に活用するつもりである。

おっと言い忘れた。
いよいよ明日が授業開始ですよ!
むっちゃドキドキしてきた…。
今日くらいは勉強は休んで明日に備えますよね?

それではおやすみなさい。