from __future__ import katryo

カリフォルニア州マウンテンビュー在住のソフトウェアエンジニアがいろいろ書きます。

かとりょークロニクル または私は如何にして学部就職するのを止めてコードを愛するようになったか

本記事は「はぐれ学生Advent Calendar 2013」という企画のひとつです。 本企画では「はぐれ学生」とは、大学などの学校を中退、休学、留年した方、また、仮面浪人やちょっと変わった進路を選んだ方などを指すことにします。

1日前、12/4の記事はid:gfx さんのはぐれ学生だった話から飛んでグダグダ語るです

かとりょーです。留年 → 専門を変えて大学院進学 という経歴と、プログラミングについて書きます。

はぐれ学生となった経緯

  1. 京都大学の農学部に入学
  2. ゲーム作ってたら留年する
  3. 就活の最中に就職するのがイヤになる
  4. 京都大学大学院の情報学研究科に進学する

こういうことがあった。以下に詳細を記す。

詳細な経緯

農学部に入学

2007年に京都大学農学部地域環境工学科に入学した。理系だけど女子の割合が高い(30%くらい)ので農学部を選んだ。

なお京都大学の農学部の入試はかなり特殊な方式を採っている。受験者は農学部内の6つの学科から第1〜第3希望までを選ぶ。採点時、成績のいい順番に受験者を並べ、第一志望から、空きがあったら入れていく。つまり、成績がいいと第一希望学科に入れるが、中途半端な成績だと第三希望の学科に入ることになる。僕は中途半端な成績だった。

入ってから知ったことだが地域環境工学科はつまり農業工学科だった。材料力学や流体力学の講義・実験を受けたりする。面白くなかったのであまり授業には出なかった。小説を書いたりしていた。

京大の農学部を受験する人にアドバイスする。ぜひとも各学科について調べておいてほしい。僕の場合は第一志望と第二志望についてはちょっと調べたが、第三志望に入ることはないと高をくくっていたから失敗した。

あと、教職の授業を取って、教育実習にも行ったりした。大いに時間を浪費した気がするが、教育実習で得たものもそれなりにある。もしもう一度同じ人生を辿るとして、またやりたいとは思わないがまったく無駄ではなかった。でも教員にならない人は教職取らないほうがいいよ。

ゲーム作ってたら留年した

高校の頃からの友達とノベルゲームを作っていたら、あまり単位を取れていなくて、ちょうどいいから留年した。

ちなみにこのとき作ったゲームがこれ。僕がシナリオと演出とスクリプトとほか色々を担当した。つまり絵と音楽以外やった。

ゲーム中のシーンがこんなの。左の人がヒロインで右の人が主人公。 ev58d

アナテマ・フィジクス」というタイトルで、一本道ノベルゲーム。ゲームというより豪華な小説に近い。

キャラクターデザインは市町村さん。クリーチャーデザインはローグライクゲーム変愚蛮怒をメンテしてたりもするdeskullさん(deskulさんのサイトこちら)。音楽は古くからの友人の。こいつはプロの作曲家になっててCROSSxBEATSとかいうカプコンの音ゲーに音楽を提供したりしている。フリーの作曲家なので音楽や効果音が必要なときは依頼するとよい。吟のSoundCloudはこちら

アナテマ・フィジクスはWindows向けで無料ダウンロードできるからぜひプレイしてね!

この頃に株式会社はてなで広告・営業のアルバイトを始めた。ちなみにプログラミングはまったくしていない。エディタの起動さえしていない。同僚のみなさまにはお世話になりました。

就活イヤになって大学院に進学する

2010年の秋、意識を高めて某コンサルティング会社の面接を受けているときに、働くのがイヤになって大学院に進学することを決めた。

アルバイトをしていたはてなのようなWebの会社がとても面白く感じたのでコンピュータサイエンス(以下CSと表記)を学ぼうと思った。あとで考えたらWebのサービスを提供することとCSは直結しないのだけど、CSはCSで学ぶと面白いので結果的によい選択だったと思う。加えてCSの学科にはコードを書く人や性格的に馬があう人が多い。

夏に院試があるので、それまでに情報系の授業にもぐりこんだり院試の過去問を人づてにもらったりして勉強することにした。このとき、Twitterの、知り合いのような知り合いでもないような薄い人間関係がとても役に立った。

院試に合格して第一志望の研究室に入れた。ちなみにこのあと東大の似たような研究室の冬期院試も受けたが落ちた。受験者で一番成績が悪かったと思う。

追記:みんなの意識よ高まれ

大学生・高校生くらいの人にアドバイスをしたい。学部生のうち、できれば2年生くらいのあいだに一度は意識を高めることをオススメする。いろんなハイコンシャスなイベント(ビジネスコンテストとかIVSワークショップとか)に出席すると、色々な知見を得られる。具体的には一見すごそうに見える人も案外普通の人間だということがわかったりする。たいしたことがない、というか、やるべきことを普通にやっているだけで、特別すごい才能や生い立ちがあるわけじゃない。自分とそれほど違いが無いことに気づける。

学部3年生くらいになると忙しくなって意識を高める余裕がなくなるだろうけどその頃にはもう高意識は不要になっているはずだ。自分が本当にやりたいことを見つけているかもしれない。そのときに、「すごそうに見える人も普通のことをしているだけなんだな」という気づきを覚えていてほしい。すごそうなあの人も自分もたいした違いはないんだから、やるべきことをやっていれば目標に近づいていける。そんな風に考えてほしい。

まとめると、自分を安く値踏みしないでほしい。

京大大学院情報学研究科に入る

2012年、大学院に入学する直前にプログラミングを始めた。

まずRailsの勉強を始めた。Rubyのオブジェクトとかアトリビュートとか学ぶ前にRailsから始めた。いま考えるとひどいと思う。なお最初はWindowsでやろうとしたが地獄が待ち構えていることを予感してUbuntuでやることにした。RailsによるアジャイルWebアプリケーション開発 第4版を写経して、Webの情報を組み合わせてTwitter連携アプリケーションを作ったりした。

情報検索の研究室に入って、講義を受けたり夏休みにVOYAGE GROUPというWebの会社に3週間のインターンシップに行ったりした。(インターンシップについて書いた記事はこちら

あとDenkinovelという、ノベルゲームのような、簡単に音楽と映像と効果音で演出できる小説投稿サイトを作った。小説を書く人、読む人はぜひ来てほしい。いまiOS向けアプリを作っているのでお楽しみに。Denkinovelローンチ時の記事はこちら

プログラミング楽しい。もっと早く始めたかった。大学入学くらいの時期にMacBookを買ってHelloWorldすべきだった。

コードを書ける職を探したり研究したりしているうちにすごい速さで時間が経ってあと三ヶ月で修了という時期になった。

現在の状況

いまは大学院修了のために研究をしている。研究テーマは「タスク検索」。「あるタスクを遂行するために、なにをすればいいか」を直接検索する手法を提案する。提案しようとしている。提案できたらいいな。

研究はけっこうつらい。Excel for Macでタンポポめいた作業を続けている。タンポポのくせにクラウドソーシングもできない仕事なのでしかたなく自分一人でググってはExcelに評価を書き込むという手順を繰り返している。

(´・_・`)

なお来年から東京でプログラマとして働く予定なので近くにいるみなさんよろしくおねがいします。

まとめ

「自分が何を好きになるか」は意外と予想できない。10年20年生きてきてもわからなかったりする。僕はわからなかった。後悔している。

なので。

好きなことを見つけるためにどんどん色々なことに手を出すべき。特にプログラミングに手を出すべき。

コードを書くことが好きになれるかどうかは性格という名の才能だ。プログラミングが好きになれる才能があるのにコードを書かないのはもったいない。

ということでこの記事を読んだコードを書いたことない人にはぜひプログラミングを始めてほしい。HerokuでWebアプリケーションを動かしたりTwitter botを運営したりするといいと思う。言語はRubyPythonがおすすめ(ただしPythonは2と3で断絶があるのと日本語資料が少なめなのが難点)。かっちょいいWebサイト作りたい人はJavaScriptから入ってもいい。むしろWebデザインから始めてもいい。

Windows使ってる人はVirtualBoxVMwareを使ってLinuxUbuntuあたりを入れよう。エディタはSublime Textを使おう。VimとかEなんとかは最初は無視していい。

えーと。

とにかく。

みんな、ありがとう!!!!!!!!!!

追記

タイトルのクロニクルの元ネタは高校生が超能力者になって色々する映画のクロニクルです。けして村上春樹ではないのです。クロニクル、シアトルの高校生の話なのに主人公たちに共感してしまう。とてもよい映画なのでみんな見よう。