seri::diary::graduate_school

大学院修士課程での研究生活について書いています

大学院に落ちたらどうするか

2017年4月6日

来年度の筑波大学院のCS専攻の社会人特別枠の定員が少なくなる(2人→1人)と知ってから自分が落ちる可能性について度々考えてしまう。

落ちた場合を考慮して別の大学も併願すべきか。ということも考えるとが、現時点で日本一のspecを持つHPCを運用している大学で、未だにOSS分散ファイルシステムのプロジェクトに関わってる先生に教われる大学が他にあるか?というと見たことがない。これ以上ない大規模分散処理システムを勉強する環境は今のところ他に見当たらない。

もちろん、大学院に行く本来の目的は、自分の軸となる専門分野を作ることと、独学でやってきた分不足している知識の拡充と、興味がある分野の勉強に取り組むことにある。 だから、冷静に考えれば筑波大学院にこだわる必要はないのかもしれない。

でも今自分は筑波大学院に行きたいと思っている。何というか、これはもう直感とか縁を感じるとか、理屈ではない何かのような気がしている。行きたいから行くのだ。

だからやはり他は考えられん。でも落ちたらどうする?…うーむもうよくわからん。落ちた場合に次回はこうすれば受かるよ、みたいな対策が見えればいいが、いかんせんTOEICと口頭試験だけで合否が決まるシステムだけにフィードバックは受けにくいだろう。

落ちたら。。まぁ、翌年もう一度受けてみるのもいいが、どちらにせよそれまで今の会社で働き続ける必要がある。

あるいは、翌年もう一度受けてだめだったらいっそのこと会社をやめて一人で半年ぐらい引きこもって勉強してもいいかもしれない。今のペースで貯金を続ければそれぐらいの費用は捻出できると思う。

独学で勉強、なんてのは出来ることはたかが知れてるかもしれないが、それでも今の会社で今のポジションのまま仕事を淡々と続けるよりは良いと思う。ただ、半年間無職の後に再就職できるだろうか。かつてそういう人が同僚にいたけど。

平成28年度3月 筑波大学コンピュータサイエンス専攻 専攻公開・入試説明会 に参加した

2017年3月25日

筑波大学院の入試説明会みたいなやつに参加するため筑波大学に行ってきた。さすがに3回目ともなればもう慣れたものである。

ちなみに去年も同様の説明会に参加して話を聞いている。内容は大体同じような感じだった。

serihiro.hatenablog.com

去年と引き続き櫻井教授による研究事例の説明があったが、今年は人工知能科学センターの説明だった。筑波大学にそんなんあったっけ?と思ったら今年4月に新設される新しい研究施設とのこと。

話を聞く限りでは産学連携を主とし、企業にも研究スペースを提供して同じ施設で一緒に研究活動ができるようにするらしく、すでにいくつかの企業が入居している(or 入居する予定?)らしい。なので、単なる研究機関というよりかはインキュベーション系施設に近いのかもしれない。いずれにせよ、HPCS研究室でビッグデータチームに入ればここのセンターとの連携もあるのやもしれぬ。ネット上には情報が出ていないが、継続してウォッチしていきたい所存。

入試に関して。平成30年度入試の社会人特別選考の定員は8月入試、2月入試ともに1名。去年が確か2名だったはずなので削減した形となる。過去の実績を見れば、2名の定員に対して5人が入学してたりする年もあるので「目安」程度の意味しか持たない可能性があるが、少なくとも門戸が狭くなっていることは事実。CSの学士号を持ってる受験者が他にいたら農学の学位しかない俺は間違いなく不利になる。

事前に確実に差をつけられる要素は英語ぐらいだが、入試に間に合うタイミングのTOEIC試験日はあと2回。最後のチャンスは6月25日。スコアをどこまで伸ばせるかわからないが、あとは苦手なリスニングをなんとかして伸ばしてもう一度受けてみることにする。

この歳で大学院に行こうとしていることについて思うこと

2017年3月11日

別に誰かに言われたからとかそういう訳ではなく、自分の中での気持ちの整理としてこの文章を記しておく。TOEIC前日であはるが、直前に勉強してスコア上がるようなもんじゃないし。

TOEICとえいば、今年1月に受けた時のスコアが630点。去年10月に無勉で受けたときは535点だったので100点ぐらいは伸びた計算になる。とは言え、おそらくここからは全く点が取れなくて殆ど野生の勘に頼っているリスニングを本格的に強化しないと厳しい。なお、海外滞在経験者の同僚によるとリスニングの方がラクして稼げるらしい。ホントかよ。

話を戻す。

今年4月で31歳になる。あわよくば今年の入試に合格して、来年4月に入学できたらすぐに32歳。卒業して社会復帰してすぐ34歳になる。

34歳という年齢がどういう年齢なのか、今の自分には想像できない。

会社にはそれぐらいの同僚はいるのだが、なんというか34歳という年齢からくるメリットとデメリットを感じることは特にない。プライベートで言えば、20代で結婚しなかった人たちは30代半ば頃から続々と結婚して子供を授かったりして忙しくなる人が多い印象だ。今の職場にも、30代後半で子供ができて子育てで忙しそうにしている人が何人もいる。

しかし幸か不幸か、自分は独身で彼女もいない。だから、人生のいつ頃で今付き合ってる彼女と結婚しようとか、あるいは彼女いない期間長くて流石に寂しくなってきたからpairsに課金しようとか、そういうことを考えてはいない。*1

だから、別に自分のプライベートのことはどうでもいい。自分の両親と姉二人及びその家族に何かあったときにサポートできるだけの余裕さえあれば良いと思っている。

だから、34歳で社会復帰して、今のように独り身で会社員として働くことになんの迷いもない。今自分がひっかかっているのは、一度会社員であることを辞めて、収入がほとんどない期間を作ってもよいのだろうか、ということである。

大学院で過ごす期間は貯金をすべて使い果たし、それでもなお少し足りない試算になっているので、両親に頭を下げて融資してもらう許可をいただいてきた。だから資金的に苦しいとかそういうことはない。*2 馬鹿なことを言い出した30歳のデカい息子のバカな願いを聞き入れてくれ、親には感謝しても足りない。

しかし、それが社会的に見たらどう見えるのか、という点について若干の不安があるのは事実である。
具体的に書こう。自分が卒業間近になって人生5度目の転職活動をしたときに、どのように会社から評価されるのか。それまで5年ほどのエンジニアとしての勤務経験があり、直近では社名を言えば業界人ならすぐに分かる程度の会社で勤務した経験があるものの、2年間フルタイムで働いていなかったということはどういう風に評価されるのだろうか。

自分にとって、30代前半という時期に大学院で学ぶことに投資することは意味があると思っている。だから転職活動時になぜ2年間も無職になって大学に行く必要があったのかと聞かれれば明確な答えを返す自信はある。
さらに2年間でHPC上での分散処理システムの研究*3を通じて、今は持っていない知識とスキルを身に着け、さらに今のサーバーサイドエンジニアとしてのスキルを維持し続けるだけの自信もある。

ただ、そういう人が周りに一人もいないので、本当にそういう選択をした人が最終的に社会復帰できるのかが少しだけ不安だ。

エンジニアでない人で社会人からフルタイムで大学院に進学した人の事例だと以下のような書籍を読んだ。とても参考になったが、やはり同業者のケースを知りたいと思った。

突撃!オトナの大学院

突撃!オトナの大学院

一人だけ、会社を休職して大学院にフルタイムで通っているエンジニアがいた。偶然にも大学院に入った時期の年齢も近い。

taketo1024.hateblo.jp

休職ということで会社との調整もあったのだろうが、それでも会社側は筆者が2年間会社を離れて勉強することの価値を認めている訳で、そのあたりどのようなやりとりがあったのか、一度聞いてみたい気持ちではある。コンタクト取れないかな。。

*1:pairsは数年前に試しにと使ったことあるがなぜか某ベンチャーの採用担当者からメッセが来て根掘り葉掘り仕事について聞かれた挙句に放置されたことはまた別の話だ

*2:もちろん旅行その他お金がかかる遊びは一切禁止だしカンファレンスにも一切参加できない訳だがまぁそれぐらいは大丈夫という前提で

*3:テーマは明確に決まってないが自分が唯一知っているMapReduceをテーマとしたノード間のスケジューラ最適化による処理高速化にまつわる手法に関する研究がしたいと考えている。自分が現職で一番困っている課題であり、世の中見渡してもいい解決策が見当たらない。Tresure DataでPrestoのNode Schedulerを自前実装して高速化を図っているぐらいの話しか知らない。

岩手大学に成績証明書と卒業証明書を申請した

2017年2月19日

  • 相当気の早い話だが、出願時に必要になる成績証明書と卒業証明書を申請した。
    • 自分の勉強以外にやれることがなくてもどかしくなったというのが本音である。
    • 受かったとしても入学まであと1年2ヶ月もある。
    • 長い。1年なんてあっという間だと思ってたけどものすごく長く感じる。
  • なお、申請手続きとしては、郵便振替で支払って(しかも振替用紙で)、申請書を紙で書いて、返信用封筒と共に郵送するというもの。
    • オンラインで決済して申請を受け付けるシステムなんて作ったとしてもそこまで大掛かりでもなさそうだが、システム化するほど依頼がないということだろうか。
  • 次のアクションは3月25日の入試説明会。その前の3月12日にTOEICがある。当面は英語の勉強に集中しよう。

なぜ筑波大学か

2017年2月9日

なぜ数ある大学院の中で筑波大学を受けようかと思ったのか、いまのうちにメモしておく。

ちなみにこれは2016年9月に立てた、自分の身の回りのタスクを管理してるprivate repositoryのissue。

f:id:serihiro:20180103173159p:plain

大学院を選ぶとき、修士課程であってもまずは研究内容と研究室を決めるところから入るのが普通らしいのだが、この時点では全くのノープランであったことがうかがえる。

  • もともと大学院でCSの修士を取ることには興味があった。それこそ5年ぐらい前から。
  • 外資企業のエンジニア求人の必須項目にはCSの学士号/修士号が必須だったりするし、アメリカで働くにしてもCSの学位がないとビザ取得が厳しいケースが多いと聞いていた。
  • 農学部出身の自分はそういう面でいつか職場選びで不利になるであろうと思っていた。
  • 一方で、2016年冒頭ぐらいの時にRui Ueyama氏のブログを読むようになって「システムプログラミング」というジャンルがあることを知った
  • 早速システムプログラミングというワードでググったら筑波大学情報科学類のシステムプログラミングの講義資料のリンクがトップに出てきた。こりゃいいやと思い、この講義資料を読みながらCで全て写経して、簡単なシステムコールについて学んで、echoサーバや簡易的なWebサーバを書いたりした。
  • 写経するついでに筑波大学のことについて調べたら、院には「CS専攻」という名前を冠する専攻がある。国内の大学でCSの名が付く専攻を持つ大学院はいくつかあるが、webサイトを読んで見た限り、専攻の幅は広く、教授の人数もめっちゃ多い。
  • 日本の大学院でCSの勉強するなら東大か京大かNAISTしかないかなぁと勝手に思ってたけど、案外筑波大学院もいいのかなぁと思い始めた。
  • で、色々調べてHPCS研究室が今の自分が持ってるスキルから一番遠く、今一番自分に足りないと思っていた分野であるビッグデータ処理に関する技術を取り扱っていることを知った。
  • せっかく2年間ガッツリ勉強するのだから自分が持っていない分野の勉強がしたかったし、何よりMapReduceは使いこなせる様になる必要があると前々から思っていたし、自分の課題も大規模データを効率よく処理するコードを設計して実装できないことだと思っていた。例えば「この部分だけCUDA使ってGPUに処理させたら早くなる」「ほげほげのアルゴリズム使えばパフォーマンス出る」「これはどうみてもMapReduce案件」みたいな勘所が全然分からなくて、業務でも自分の能力の限界を感じることが増えてきていた。
  • また、HPCの分野でよく使われるGPUXeonなどのmany coreなCPUがAWS EC2などのIaaSで使えるようになってきたり、InfiniBandがAzureで使えるようになってきたことから、インフラ技術は確実にHPC業界から広まってる。そういう新しい技術を今時間を取ってガッツリ勉強するのは投資価値が高いのではないかと思った。

研究室訪問

2017年2月8日

f:id:serihiro:20170208124630j:plain

  • 有給を取ってHPCS研究室を訪ねた
  • まず研究室がどこか分からなくて完全に不法侵入した不審者みたいな感じになったが通りがかりの教官らしき人に助けてもらった。ありがたい。
  • とりあえず自己紹介した。
    • 同業者以外に自己紹介したのは久しぶりだったのでどこから話すか色々迷ってグダグダになってしまったので、自己紹介ぐらいはなんパターンかちゃんと準備しておく必要があると思った。
  • 学類生*1向けのppt資料を使ってHPCS研究室について説明してもらった。
    • 「こんな感じですかどうですか?」「良い感じです。自分のやりたいこととマッチしていると思います。」「それはよかった。」
  • 稼働しているスパコンを見せてもらう。計算機科学センターが所有しているものとHPCS研究室が所有しているもの。
    • HPCS研究室所有のサーバーだけでも、30ユニットぐらい入りそうなでかいラックが10個ぐらいあった。1研究室でこんだけサーバ抱えられるものなのか。。
    • ここで開発をして、その後実際に計算機科学センターのスパコンとかで大規模なデータを突っ込んでテストしたりするらしい。スケールがでかすぎてやばい。FLOPSでマシンスペックを表現してるのを聞いたのは相当久しぶりである。
  • 学生がいる部屋も見せてもらった。計算機科学センターの隣の総合研究棟B。研究室感がすごくてものすごくwktkした。最近流行りのスタートアップのカフェっぽいオフィスよりずっとこういうごちゃっとした研究室の方が好きだ。
    • 訪問時はゼミ等がない時間帯だったのであまり学生はいなかったが数人は研究室にいた。
    • 学生は一人につきパーティションで区切られたでかい机を一個ずつ所有していた。
    • 古びた事務机一個に数世代前のPCしか割り当てられなかった俺の学部時代から考えると天国のようだ。
    • とあるパーティションに「進捗どうですか」のコラ画像 *2 を印刷したものが大量に貼ってあったが見なかったことにする
  • その後先生の部屋に戻ってあれこれ質問。
    • 「受かったらHPCS研究室入れてもらえますか?」「良いですよ」「入試要項に書いてあった 担当教員の了解を取ってください ってやつは何か試験や書面が必要な訳ではなく、これでいいんですかね」「どんな人が分かったのでいいと思います」「なるほど」
  • 院試で必要なTOEICの話をしていて、HPCS研究室は英語できないともはや生活できないみたいな話になったので、この1年必死で英語を勉強しなければならないという事実が明らかになった。まぁ元々勉強するつもりだったけど。
  • HPCS研究室の学生は卒業する頃にはTOEIC900点ぐらい取るという話を聞いて、間違えて外国語学部の研究室に来たのかなと思ったがそれぐらい英語鍛えられるらしい。これは是非入学したら先輩たちのTOEICスコアを聞いて確認せねばなるまい。

次のアクション

  • HadoopとSparkのソースは全部読んで説明できるようになっとくと良さそうだった。
  • 修論のテーマは入学してから考えればいいらしいのだが、必要な基礎知識としてFS全般の知識とそもそもスパコンって良くわからないのでその辺の知識とC/C++を勉強しておく必要がある。
  • 今熱いらしいワード: RDMA NVMe について調べておく

*1:筑波大学では学部ではなく学類というらしい

*2:f:id:serihiro:20170208220026j:plain