今回は東京工業大学院2年生の梅津雄一さんにお話を伺いました。大学院生で研究が忙しい中、初心者からどのようにプログラミングを学んだのか、その経緯についてお伺いしてみました。
プロフィール:梅津雄一
1992生まれ。群馬県出身。東京工業大学院2年生。来年からSEOに特化した会社に就職予定。大学では最適化の研究を行っている。
内定先企業の社長もたまたまオンラインブートキャンプを受講
――現在は東京工業大学の大学院生ということですが具体的にどのような学問を学んでいらっしゃるのですか?
最適化という学問を学んでいます。最適化とはある条件の下で目的の値を最小化させたり最大化することを目的にした学問です。例えばGoogleMapなどの地図上の最短ルートを計算したり、野球のチームの最適な打順を確率から算出するといった研究に用いられています。具体的にはルート案内や地図上での最短距離ルートを割り出すには道が2通りあったら、そこからまた新たに道が2通りの道が分岐していきます。それを続けていくと何百万通りのルートが出てくるので、それらのルートを一つ一つ確認していくと到底計算ができません。そのため計算方法を工夫して最適解を出すことが必要なのですが、そのような方法を学んでいます。これから修論に取り掛かるのですが、僕がネットワークビジネスについて研究していて、証明をしながら最適なネットワークビジネスのモデル化を研究したいと思っています。
――なんだか難しそうな学問ですね。就職先はもう決まっているのでしょうか?
SEOに特化した会社に就職します。実は就活はほとんどやっていないです。大学では塾の講師や、駅で満員電車に乗客を押し込むアルバイトなどをしていたのですが、昨年の12月に研究室の後輩に誘われて始めたバイトがそのまま就職先になりました。5〜6人のアットホームな会社です。
――SEOにもプログラミングスキルは必要なのでしょうか?
SEO自体にプログラミングスキルが必須というわけではありません。ただ、就職前に会社のサービスがどのようにできているのかを一通り勉強したかったというのと、将来の具体的な職種をまだ決めたくなくて、今のうちにいろんなことにチャレンジしてみたいと思いました。ちょうど会社のシステムがphpからRailsに移行中で、今後新しくサービスを作るときにはすべてRuby on Railsになっていくそうです。そんな経緯もあり、ゆくゆくはエンジニアの方たちとやり取りをうまく行いたいので今回の受講を決めました。
――受講を決める際に比較したサービスなどはありますか?
他のサービスも調べてみたのですが、最初のうちは何がわからないのかがわからないという点があります。プログラミング学習ができる動画を見たり、ネットで調べたりするのですが、なかなか一人では進まなかったので疑問点がすぐに解決できるTechAcademyのオンラインブートキャンプに決めました。そしたらおもしろいことに、TechAcademyのオンラインブートキャンプを受講しますと社長に報告したら、「私も申し込みましたよ」と社長が先に1期生として申し込みをしていたんですね。だったら一緒に受講しましょうということで、僕の受講費は会社が出してくれました。まさか社長と同じコースを受けるとは思っていなかったのでとても驚きました。
――大学の研究も忙しいと思うのですが、学習時間はどのように確保していましたか?
朝7時頃からモスバーガーで勉強していました。大学では研究室にパソコンがあったので、研究の合間に勉強したりしていましたね。研究が忙しくて大学の勉強との両立が大変でしたが、会社が出してくれたお金だったので頑張りました。
お笑い好きが高じて、大喜利のSNSを開発
――今回はどんなオリジナルサービスを作られたのでしょうか?
大喜利のSNSです。もともとお笑いが好きでライブによく行きますし、コンビを組んで新宿の劇場で出演したこともありました。今回作ったサービスは自己満足大喜利という、お題も答えも自分で書いて、セットにしたものをタイムライン上でシェアするサービスです。お笑いを通してコミュニケーションが取れたり、面白い人が活躍できる場を作ったりしたいなと思って開発しました。ある人が考えたお題に対して、リツイートする形で他の誰かが答えを返したりすることもできます。
――サービスを作る上でパーソナルメンターとのメンタリングではどのような話をしていましたか?
実現したい機能について質問して、その実装方法を教えてもらうことが多かったです。例えば、機能として答えを書き換えたり画像を入れたいんですと相談したら「こういうGemを使うといいですね」と提案がありました。予め質問をストックして、メモに質問を書いておいて30分の間にどんどん先生に質問を投げていくといった方法が良かったと振り返って思います。質問を投げると口頭で返してくださって、参考サイトを教えてもらったりもしました。
――普段のチャットサポートも使っていましたか?
わからないことはすぐにチャットを使って聞いていました。チャットでは他の受講生がどこまで進んでいるかがわかるのですが、進みの早い人が結構いらっしゃってびっくりしました。皆で同じチャットツールを使うので、他の人の質問からたくさんの情報量を得ることができました。なので、わからないところがあったらチャット内で検索して同じような質問をしている人がいるのでそれをみて解決していましたね。他の人の質問から学ぶこともたくさんあります。
――オリジナルサービスを開発していくなかで難しかったところはありますか?
TVのフリップのように、大喜利の微妙なニュアンスを表現できるようにしたくて投稿の文字の大きさを変えたり、色を変えたり、フォントを変えてみたりしたかったのですがそういった機能を実装するものがなかなか見つからなくて難しかったです。自分でGemなどを探してくるのですが、メジャーなGemではなくてできちんと動くかどうかわからないところがありました。それでも結果的に、動いたので諦めずに実装できてよかったです。
DemoDayで発表する梅津さん
プログラミングは難しいけど、8週間やればできるようになる
――今回身に付けたスキルを今後はどのように活かしていきたいですか?
他にもいろんなサービスを作っていきたいです。Railsを使って大学で研究していることをサービスにできたらおもしろいですね。将棋やチェスといったゲームの世界にも最適化の学問は応用されていて、最近ではコンピューターの将棋がプロに勝ったりして話題になっています。将棋のたくさんのパターンがデータとして蓄積されて、そこに最適化の機能が組み込まれているんです。また就職先の会社でもこれからRailsを使ったサービスに移行していくので、運用の部分などで力になっていければと思っています。
――最後に、これからオンラインブートキャンプを受講される方へのメッセージをお願いします。
プログラミングについてはやっぱり難しいというところと、でもできるというところです。
難しくてもやればできるということですね。習得するのに時間がかかりますが、難しくて、手間のかかる分、サービスができた時の感動も大きいので8週間で迷っている方がいれば、ぜひチャレンジして欲しいと思います。
(インタビュアー:横内優子)