見出し画像

文系学部卒からGeorgia Techコンピューターサイエンス修士課程への闘争

2021年10月12日に、ジョージア工科大学(Georgia Institute of Technology、Georgia Tech)のコンピューターサイエンス修士コース(Online Master of Science in Computer Science、OMSCS)の合格通知を受け取った。

2022年春学期での入学許可ということで、授業開始は4月頃かと思っていた。しかし、今年の12月にはオリエンテーションがあり、1月10日に授業がはじまる。記憶が新しく、忙殺される前に体験記を残そうと思う。

そうは言うものの、終わってからだとなんとでも言えてしまいそうだ。志望理由書(Personal Statement)を書いたあとだと、動機ですら尾ひれ背びれがつくだろう。そう思って出願準備中に取り組んだこと、あえて取り組まななかったこと、要件変更にあたって軌道修正したことなど、随時記事に残してきた。この記事では、3月に出願校を決定し、7月に出願するまでを時系列に振り返りながらそれらに触れたい。

2〜3月 出願校・時期決定

学問としての「コンピューターサイエンス」には漠然とした興味があった。Twitterのタイムラインで、JAISTをはじめ社会人大学院生として日々実務・学問を行き来してらっしゃる方々はすごいと思いながら眺めていた。

あるとき、ふとしたきっかけでオンラインでも、CS学士でなくてもCS修士に至る道があることを知る。

記事の中でも紹介されているペンシルバニア大学のMCIT(Master’s of Computer and Information Technology)というコースに興味を持ち、とりあえずCourseraで受けられる授業を受けてみたり、TOEFLの自宅受験に申し込んでみたりした。

3月には、ちょうど1年後の2022年3月出願を決意していた。もし今自分が働かなくていいとしたら、コンピューターサイエンスを勉強したい。ゆくゆくはクラウドを開発するエンジニアをやってみたい。先人の肩に乗りたい。アイビーリーグかっけー。いろいろなことが頭をよぎっていた。それならば、今すぐとりかかればいい。ただ、本質は闘争にある。

わざわざ大学院に行ってCSを勉強しなくても、食っていける。真面目に仕事をし、複業で経験値を稼ぎ、四半期ごとの目標を立てて勉強し、たまに締切に追われながら本を書く。成長には困らなさそうだ。だからこそ、狭き門をくぐってみたい。闘争は自分の人生の本分だ。闘争、それは一見今の自分の手に届かなさそうなことに挑み続けることだ。壁は高ければ高いほど甲斐がある。論理的な説明はこれから捻り出す予定だが、中核は闘争だ。

記事を見たMCITの在校生に声をかけてもらったのも嬉しかった。

そうは言うものの、MCITはCS(Masters of Science in Computer Science)関連コースではあるが、CSではない。どうせ取り組むならCSがいい。迷いなく突き進むため、取りうる選択肢を詳細に調べることにした。それでもMCITがベスト思えるなら、1年間がんばって準備するまでだ。

調査の結果、MCITではなくジョージア工科大学のOMSCS(Online Master of Science in Computer Science)を目指すことにした。オンラインでありながら学位はオンキャンパスとまったく同じものが得られるし、なにより授業の豊富さが他と比にならない。授業料も圧倒的に安く、評価も高い。ただ、高い合格率はCS関連学部卒の話で、そうでない場合はケースバイケースで判断される。業務経験単体で代替不可な「CS学士卒程度の資格」はこれまでもredditでたびたび議題にされてきたもので、社会学部卒の自分にとっては不確実性の高いものだった。(準備中になにがCS学士相当なのかが公式発表されるという歴史的イベントがあった。今から目指すならCS学部卒でない人は記載されている3コースを受けると確実そう)

年2回ある出願締切のうち直近の回が7月1日(準備中に今年から8月10日に変更された)だったので、準備期間は100日強しかない。だめならまた挑戦するまでの話だ。2社携わっていた複業は、3月いっぱいでいったんお休みさせてもらうことにした。

4〜5月 英語スコアメイクと出願書類準備

2月末に問題形式だけ確認して受験したTOEFLは82点だった。出願要項では100/120点(各セクション最低19点)が必要とされていたので、一応IELTSのほうが楽だったりしないか検討した上で計画を立てて取り組んだ。

ゴールデンウィークをまるまる英語の勉強に充てる予定だったが、思わぬ事故がありかなわず。しかし、なんとか5月10日に受験した2回目のTOEFLで94点がとれたので、結果的にこのスコアを提出することになった。

90点台で合格している人は多数見かけていたものの、100点必要と言われている。それを理由に不合格にされても文句は言えない状況だ。しかし、英語の点数が最低限確保された時点で、CS要件を満たす優先度が圧倒的に高くなった。そのため、あと1回だけ受験することを決め、それからはきっぱりTOEFLを受けないことにした。

英語準備のためにやったことは上記2記事に書いたので特に足すことはないが、出願準備全体の中で2回目のTOEFLが一番緊張した。

また、4月には推薦状を依頼した。3通揃うまで出願審査されない。教授かマネージャーに依頼するものだが、現職・前職4人のマネージャーに依頼し、3人に快諾していただけた。依頼するにあたって、つぎの情報を提示したり1on1をセットしていただいたりした。

出願するコースのリンク
・推薦状のガイドライン
書いてほしい推薦状のイメージ
・どんな感じで推薦者にメールがとぶか
・会社で取り組んだことをまとめたもの(現職はOKRの四半期ごとのふりかえりをGoogle docsにまとめたもの、前職はこの記事
・ガイドラインの中で特に意識してほしいこと

特に、上司に依頼する場合はつぎの3つが重要そうな記述がありました。
・「知識への渇望」「チームプレーヤー」「リーダーシップ」的なものではなくて、「CSに関連する技術スキル」が重要(院といいつつ研究室配属や論文はなく、オンラインで10コース分の授業・テストを受けます)
・業務上のプロジェクトやタスクにおける問題と結果、その結果にCSスキルがどう活用されたか(開発業務に限定せず技術的活動全般が対象ということで大丈夫そうです)
・推薦状を書く人はなぜ推薦状を書くのに適格なのか

Personal Statement、Background Essay、Resumeは4月に初稿を書き、5月には添削含め一通り終えている。Background Essayは出願締め切り間近にフォーマットをガラッと変えられたので水泡に帰した。

Resumeはフリーフォーマットなので、いい感じの体裁にしてくれるサービスも使いつつLinkedInに書いているような内容をPDF 3枚分にまとめた。学歴や職務経歴の他には、技術的スキル、IT系の資格、受賞歴(Microsoft MVP)、出版物(技術書や雑誌への寄稿)、登壇歴(会全体で200人以上が参加する、プロポーザル選考を通過したもの)を箇条書きにした。

Personal Statementはつぎのような構成で書いた。本来自己肯定感低めなので、事実に反さない範囲で精一杯主張している。


・開発生産性を高めるプラットフォームエンジニアリングをしてるので、分散システムの基礎を学びたい
・学部はCSでないが、必修の数学やプログラミングの授業や定量調査をいくつか受講した
・SIerでの2年の営業や、7年弱のエンジニアとしての業務でアプリからインフラ、ワークショップ、執筆、登壇までいろいろやっとる
・社内外でワークショップしたり、本書いたり、技術コミュニティ運営したりするにあたって、いろんなバックグラウンドの開発者に教えたりモチベートしたりするには分散システム、インフラ、プログラミングなどの幅広く深い理解が必要
・開発者向けに信頼性の高いマイクロサービスプラットフォームや、ゆくゆくはクラウドを提供するにもそれらは当然必要。ネットワーク、OS、アルゴリズム、セキュリティ、ハイパフォーマンスコンピューティングみたいな知識が必要になるが、全部カバーしてるのはOMSCSしかない
・GPAは(アメリカよりきびしい日本のスケールでも)必要最低限満たしているが、特に最後の2セメスターはほぼ全部A
・卒業後もITスキルを研鑽していて、受講したCS関連の授業やすべて96〜100%の成績。OMSCSのような厳しいプログラムにも問題なくついていける

大学での取り組みに必ず触れないといけないので、履修記録・成績表は4月頭に取り寄せた。GPAは日本とアメリカでは厳密に一致しないので、正確に知るにはWESなどの評価機関に換算を依頼する必要がある。無料のチェックツールのエラー(Dだけinvalid gradeになる)の報告と修正対応依頼をしても、人をバカにしたような返事がきて本当にイラッとしたので利用しないことにした。日本で取得した素のGPAが要件を満たさなかったとしても、換算するとけっこう上がるはずだ。際どい場合は調べてみてほしい。

書類のガイドラインは一環して「だらだら英雄譚を書くな」と書いているので、必要な内容をできる限り簡潔に書くのが大事そうだ。志願者数が万単位なので、アドミッションから届くメールもとにかく不用意に連絡してくるなという圧が強かった。

6〜7月 CS関連オンラインコース受講と出願書類仕上げ

英語が一段落してからは、ひたすらCourseraやedXなどのMOOCsでCSっぽい授業を受けた。最終的に修了証明書を添付したは授業はつぎのとおりだ。

Introduction to Programming with Python and Java (University of Pennsylvania)
Computational Thinking for Problem Solving (University of Pennsylvania)
Data Structures and Algorithms (Georgia Institute of Technology)
Introduction to Discrete Mathematics for Computer Science (University of California San Diego)
Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) (Hebrew University of Jerusalem)
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Hebrew University of Jerusalem)

当初MCITを受けようと思っていたので、UPennの2講座を最初に受けていた。その後で例の3講座が発表されたので、UPennの授業(JavaとPython)でカバーされていないデータ構造とアルゴリズムを受けた。なんとかこれで出願できる状態になった。

準備中に出願締切が7月1日から8月10日に変わったのを受け、CS関連授業を積み増すことにした。学部の授業成績で特によくなかった数学の中でCSに関連が深そうな授業と、コンピューターアーキテクチャ関連の授業だ。UPennの授業でプログラミング系の要件は満たしているし、業務でも経験はあるもののGeorgia Techの残り2講座を受けたほうがいいのではないかとも考えた。しかし、不毛すぎるのでカバー範囲を広げるのに賭けた。

修了証と同じように、IT資格証明書も添付できる。添付したはつぎのとおりだ。

・Google Cloud Certified Professional Data Engineer
・Google Cloud Certified Professional Cloud Architect
・Google Cloud Certified Professional Cloud DevOps Engineer
・Certified Kubernetes Administrator (CKA)
・Certified Kubernetes Application Developer (CKAD)
・Applied Information Technology Engineer(応用情報)

CS授業とIT資格の証明書は説明をつけられるので、成績や概要をそれぞれ書いた。めちゃくちゃめんどくさかった。応用情報は、英語で公開されているシラバスなども参照して説明した。直近2年の所属組織や転職理由、在籍期間中の給料変化なども書かされた。

以上を終え、7月24日に審査料を支払って出願を終えた。

Georgia Techに関しては、非CS学部卒向けの要件が明確化されつつあり、準備がしやすくなっている。TOEFLも90点台で大丈夫だ。突然の変更が多く驚くこともあったが、それもまた一興だ。

学部を卒業して10年後に理転して院生になるなど想像もしなかったが、これからの人生でまったく別分野を学んでみたくなることもあるだろう。それまでの経験にとらわれすぎず、何歳になっても果敢に闘争していきたい。

今後

もう3ヶ月もすると授業がはじまる。それを考えると、今年中に履修計画(仮)を立てる必要がある。Computing Systems専攻予定なので、この中から選択する。オンライン受講生は太字科目に限定される。専攻要件は必修科目・選択科目から各3コースで、卒業までに合計10コース受講する(たぶん)。ただ、必修科目でも受講したい学期に登録できるとは限らないし、受講できる科目自体が変わることもある。だいたいの順番(希望)を整理しておきたい。このnoteやブログで記事を書く予定だ。Medyでは記事更新をいち早くお届けしているので、こちらにぜひご登録を!

受講科目を選択するにあたっては、闘争なのでなにより自身の興味関心を軸にしたい。しかし、OMSCentralなるサイトがあり、科目毎の難易度、週あたりに必要な時間、評価、開講学期、口コミがまとまっている。参考にせざるを得ない。負荷観点では、Computer Networksのように週10時間未満でなんとかなる(物足りないとの声もある)ものから、Distributed Computingのように週70時間弱のような働きながらどう受講すればわからない(でも挑戦したい)天元突破したものまでさまざまだ。

スクリーンショット 2021-10-17 10.34.33

週平均10〜20時間であれば、これまでとそんなに時間の使い方は変わらないかもしれない。科目によっては、執筆や複業と並行できる可能性もある。様子を見ていきたい。

そして取り急ぎ夢を叶えようと思う。

おまけ(ウィッシュリストとPersonal Statement全文)

Twitterに流すとすぐ非表示になるようになったので、気が向いたらお願いします。

最後に、Personal Statementの全文を掲載しておく。ノーガードでインターネットに放流するのも気が乗らないので、ハードルを設けることにした。Personal Statement自体はネットに転がっているものの、文系学部出身者のものはあまりなく、業務やその他活動、CSのオンラインコースなどでいかに説得力を持たすかに腐心した。

  I wish to study in the OMSCS program to better understand the fundamentals of distributed systems so that I can encourage developers to try using new technologies and build a platform that enhances
developer productivity.

ここから先は

3,529字

¥ 2,000

期間限定!PayPayで支払うと抽選でお得

この記事が気に入ったらチップで応援してみませんか?