はじめに

長かった学生生活(学部5年+修士2年)を終えて明日からとうとう仕事が始まるので、大学生活を振り返ってみる。 自分が色々迷っていたときに先輩達が書いているブログとかを読んで参考になったり、助けられたりしたので、 この記事もそんな感じで大学生の自分が読んで参考になればいいかなと。あと、たぶん10年後ぐらいに読み返したらまた面白いんじゃないかなとか。

なので、この記事はたぶん

  • 情報系に進んでいる(進もうとしている)大学生・高校生
  • 留年して進路に悩んでいる人
  • 大学院に進もうか迷っている人
  • 昔の自分

あたりが読んだら1byteぐらいには参考になるんじゃないかと思っている。完全に自分語りだけど自分のブログだしまぁいいかという気持ち。 読んでてなんか言いたいこととかあったらメールでもTwitterのDMでも良いので来たら反応します。

というわけで振り返っていく。

大学入学以前

高校は大体の人がどこかしらの大学に行く普通科のまぁまぁな進学校だった。 それなりに勉強して、なんとか現役で早稲田に合格できたので進学した。正直この時点では進路とか将来の計画とかまったくなかったし、 進振りがあるから入った後に考えられそうとかいう適当な理由で基幹理工学部を受験した。

学部1,2年

なんとなく入った大学で、なんとなく勉強をしていた。サークルに入っていなかったので友達は授業で会う人ぐらいしかおらず少なかった。 学部生活の一番の反省点がそれで、情報系に進む予定ならコンピュータ系のサークルとか、ロボコンのサークルとかに入っておけば良かった。転生したらその辺に入る。

バイトは小さめの飲食店でキッチンをやっていた。 バイトをしていたおかげで基本的な調理スキルを身につけたり、自分より年上でなんとかやっている人達を大勢見られたのでこれは非常に良かった。

大学生になって暇な時間がとにかく増えたので株とかポーカーやったり、映画を見たり、あとはプログラミング(競プロとか)をちょっっっとだけ勉強したりしていた。

もともと授業形式で真面目に勉強するのが苦手で、1年後期ぐらいからすでに授業をサボりまくっており、2年が終わった時点で単位が留年ギリギリだった。 ただその時点では、まぁ3年で必死にやればなんとかなるだろぐらいの気持ちでいた。

大学3年(1回目)

だらだら大学に行って、だらだら生活するのを続けていたら自分の中の糸が完全に切れてしまって、なんのために大学行ってんのかわからんしもういいやみたいな気持ちになっていた。 家庭がちょっとごたごたしたりで1人暮らしする計画も挫折したりとかで、1回目の3年生の前半は精神が死んでいたしなんなら本当に死のうと思っていた。 このころの日記を読み返すとよく自分生き残れたなと思う。

前半が終わって、留年が確定したぐらいで、なんか吹っ切れて逆にこれからどうするかとかどうなりたいかとかを真面目に考えるようになった。 大学辞めてバイト先に就職するかとか、どっか働けるところ探して働くかとか、このままもうちょっと大学で頑張るかとか。

無限に時間があったのでゆっくり考えた結果、 せっかく情報系に進んだんだし、技術を身につけたいという気持ちと、 働くにしても今の自分はこの分野(CS系、いわゆる情報系)のことを知らなさすぎてどうしようもないという考えからどっかで一回開発系のバイトをしたいという考えになった。 とりあえずRuby on Railsの勉強をして、Web系の開発ができるアルバイトを探していくつか申し込んだ。そしたら、そのうちの一つで幸運にも雇ってもらえたので働き始めた。

留年したせいで1年余裕ができてしまったのでこの計画を実行できたところもあり、もし留年せずにギリギリで進級、卒業できていたら全く違った人生になっていたと思う。


余談だが、Ruby on Railsからプログラミング始めるのはオススメできないみたいな言及をたまに見かけるが、 自分はなんとかなっているし、Railsはなんもわからなくてもとりあえず動く物を作れるようになるというメリットもあり、 悪くないかなと思っている。もちろんフレームワークなので裏側で色々やっていてそれが隠されているが、しばらくやってれば段々理解できるようになる。重要なのは何でも良いので始めて、続けることだと思う。 あとは情報系の学部・学科だとコンピュータサイエンスの基礎の部分はなんだかんだ教えてくれるので、それと合わせて実戦的なWeb系の技術を身につけることで、深いところと広いところ両方学べると思う。


このころからときどき1人で旅行に行くようになった。 これは1人で部屋で閉じこもって寝ていると精神を持ってかれるので、だったら貧乏旅行で良いのでどっかに出ていた方がいいということに気づいたからっていうのもある。

大学3年(2回目)

相変わらず精神はそんなに回復していなかったが、だるいなりになんとか動くことができるようになっていた。

開発のバイトをやっていることで、逆に大学の授業に興味が出てきたり、もっとこの分野勉強したいなと思えるようになっていた。 もくもく会に行ったり、勉強会を覗いたり、インターンに行ったり、プロコンの大会に参加していたりする中で、ソフトウェアエンジニアの人とか、他の大学の人とかと会えて色んな話を聞けたのも大きかった。

単位がなんとかなりそうで、今度は進級できそうとなったときに、大学院に進むか就職するか迷った。 情報系で大学院に進むか悩むときに真っ先に思うのは、「あれ、これ別に大学じゃなくても良くない?」だと思う。 この分野は研究でやっていることと仕事でやっていることが非常に近く、なんなら最先端が現場だったりする。(もちろん違うところもある) そうすると、わざわざ高い学費を払って大学院に進むより、働きながら技術を身につけた方が良いのでは、と思ったりする。

自分はそう思っていて、一時期はかなり就職の方に傾いていたんだけど、最終的に大学院に進学することにした。 理由はいくつかあって、まず一つはこのまま社会に出るには何もできなさすぎて厳しそうと思ったから。適当に大学生活前半を過ごしたおかげで何も身についてないし、 インターンとかで会った人達はすごい人ばっかりで、今の自分がこのまま進むにはちょっと怖すぎた。 もう一つの理由は、前述したとおりバイトやインターン、あとは大学の授業をやるなかで、もうちょっとこの分野を勉強したい、詳しくなりたいと思っていたから。 もちろんそれは個人でも、働きながらでもできると思うけど、大学という場所と、大学院生という立場を活かしてでしかできないこともあると思った。そして、それは今やらなきゃ今後やることはないだろうなと思った。 そういうわけで2回目の大学3年の10月ぐらいから大学院に行くことを決意した。


このときの手帳を読み返すと、大学院に行きたい理由として以下の3つを書いていた。

  • まだ働きたくない
  • 研究興味ある
  • 院に行って損はしないという人が多い

あと、このころから本を読むようになった。

大学4年

4年で研究室に配属されて、研究室生活がスタートした。4年生の前半は大学院入試の勉強が主だった。 このころには精神は回復していて、勉強する目的が決まっていたので勉強もやりやすかったし、色々やっていたおかげで理解もしやすくなっていた。 院試の勉強がてら基本情報と応用情報を取った。

外部の大学院をうけようかどうか迷ったが、結局そのまま同じ研究室で進むことにした。 終わってみるとなんだかんだ良く過ごせたと思うが、違うところに行っていてもそれはそれで面白かったと思う。

研究は、それまでの勉強と違って自分でやりたいこと見つけて、調べて、やっていくという形なので自分にとってはやりやすかった。 もっと早くからこの形式で大学生活を過ごしたかったと思う。 大学での研究について、研究室選びの時によその研究室の助教から聞いた「研究は小学生の夏休みの自由研究を今から大学でやると考えれば良い」という言葉が心に残っている。 これは的を射ていると思う。

大学院修士の2年間

修士課程に入ってからは、研究、自宅、ときどきバイトという生活を過ごしていた。 研究は、2年間で国際会議2本採択されたし(ワークショップとWiPではあるが)それなりの成果を残せたと思う。 もちろんサボっていた日も多かったし、もっと頑張っていれば、と思わなくもないが、そのときなりに頑張ってはいたと思う。

研究については、たぶん1人で頑張るより教授とか助教とかと協力してやる方が辛くないし成果も出ると思う。 あと、せっかく高い学費と長い時間をかけて大学院に行っているので、バイトとかインターンを必死にやるより研究していた方がいいと思う。 それなりの研究室なら研究補助でバイト代よりもお金が出たりするので。

修士1年の夏ぐらいからインターン含めた就活が始まっていた。 自分の考えでは、1dayインターンという名の会社説明会や職場見学に行くのはよっぽどその会社に入りたいか雰囲気を知りたいかでないと無駄だと思う。 また、1週間ぐらいでよくわからないグループワークをやるのもマジでメリットがないと思う。 行くなら、ちゃんと職場で責任もって働けて給料が出る、ある程度長期のインターンに行った方が良いと思う。

そういう考えだったので主に外資ITのインターンに絞っていくつか応募していたが、あえなく全部落ちたので修士1年の夏休みは研究に専念していた。 結果的にそのおかげで国際会議出せたので良かったが、Googleとか、Microsoftとかでインターンしてみたかったなーという気持ちは今でも持っている。

年が明けて春になると就活が本格的に始まっていた。 自分は、

  • 自社できちんとソフトウェアを開発している
  • できればハードからソフトまでやっていると良い
  • 仕事が楽しそう、技術力が身につきそう

という感じの点を意識して会社に応募していた。ちゃんと応募したのは5社ぐらいで、そのうちの一つから幸運にも内定をいただけた。

修士生活を通して、やっぱり行って損はなかったなと思う。大学での研究や学会がどんなもんか知ることもできたし、自由な時間を活かして色々できたと思う。 また、1人で海外旅行を計画して行けるぐらいには英語力も付き、なんとか生きて行けそうな感じがしてきている。

その他適当なアドバイス

  • 情報系でなんかやりたいけどなんもやることないなーという人にはとりあえずAtCoderをオススメする。
    • 今だとAtCoder Jobsもあるし、そこ経由で最初の開発バイトを始められそうなのは非常にうらやましい。
    • もちろんAtCoderで身につくことは分野の一部分なので、興味があれば合わせて色々勉強していけばいいと思う。
    • あとはIT系の就活だと足切りに使われたりもするので、ソフトウェアエンジニアとして働きたいならやっておいて損はないと思う
  • 技術力とか、強い人達がいっぱいるけどその人達を見て自分なんか・・・と思う必要はあんまりなさそう。自分なりのペースでちょっとづつやっていければ。
  • ブログとか、なんでも良いのでアウトプットをしておくとたまーに役に立つし少なくとも備忘録にはなる
  • 悩んだら1人で悩まずに昼に外に出て誰かに会うと良いと思う。1人で夜悩んでても死にたくなるだけなので。
    • とはいえ最終的に決めるのは自分なので、1人でじっくり考えるのも大事
  • 意外と適当でも生きていけます