連載
» 2009年12月25日 00時00分 公開

「データベースで生計を」――未踏ユース 郷原浩之ライバルに学べ! 学生スターエンジニアに聞く(5)(1/2 ページ)

高い技術力を持って活躍する「学生スターエンジニア」たち。彼らはどのように生まれ育ち、どんなことを考えているのか。同年代のスターへのインタビューから、自分の就職活動のヒントを得よう。

[塚田朗弘,日本電子専門学校]

 年の瀬を迎え、学校は冬休みに入り、卒業年次生は卒業研究と論文で大詰めを迎え、2011年度新卒の就職活動はいよいよ本格的なスタートを迎える時期となってまいりました。今回の「ライバルに学べ! 学生スターエンジニアに聞く」は、そんな皆さんにぜひ読んでいただきたいお話です!

未踏ユース採択、スーパークリエータ 郷原浩之さん

 今回お話を伺うのは、2008年度下期未踏ユースに採択され、スーパークリエータとして認定された郷原浩之(ごうはらひろゆき)さんです。

 採択された研究テーマは「オープンかつポータブルなデータベースガーベジコレクション」(ガーベジコレクションとは、ソフトウェアの実行中に発生したメモリ上のゴミ=ガーベジを収集=コレクションし、自動的に解放する機能のこと。以下GC)。これはデータベース好きには垂涎(すいぜん)ものの、ワクワクするタイトルですね! このお話だけでご飯10杯くらいいけそうです。

 郷原さんは現在、東京大学大学院工学系研究科の修士1年であり、2011年度卒業の予定です。つまり、いままさに就職活動開始というタイミング。この連載にピッタリの学生スターエンジニアです。では、そんな郷原さんにお話を伺いましょう。

アルバイトから生まれたGCプログラム

―― 未踏ユース採択のGCプログラムを開発するきっかけになったのは、情報基盤開発でのアルバイトだったとお聞きしました。どういったことをされていたんですか?

郷原 データベースシステムを扱っていて、今回のGCにも深くかかわっているHibernate(Javaや.NETのためのO/Rマッピングライブラリ。O/Rマッピングとは、簡単にいうとオブジェクト指向言語でデータベースを簡単に扱えるようにする手法)を勉強していました。そのとき、データベースに業務上不要なデータまで格納していることが問題視されていました。また、今後データベースのデータは増える一方であることを考えると、不必要なデータを不必要だと同定し、削除するソフトウェアが必要でした。Hibernateにはデータを削除する機能はありますが、削除するべきデータを指定しなくてはならないのです。自動的に削除すべきデータを同定するGCのような機能はないのです。

郷原浩之さん 郷原浩之さん

―― データベースのGCプログラムは、それまでにはなかったのですか?

郷原 リレーショナルデーターベースを対象として、かつデータベースシステムに依存しないものはありませんでした。現状ではまだまだRDBの普及率は高いですし、(GCのプログラムが)必要とされているはずだと考えました。

―― 実務中に、ニーズを見いだして作り始めたのですね。未踏ユースに応募したのはどういった流れだったんでしょうか?

郷原 自分のプログラミングの実力を測り、証明できる場を探していたんです。プログラミングコンテストに出場したりとか。そういった場の1つとして、未踏ユースの存在は知っていたので、「いい機会だし、応募してみよう」と。

―― 実績ができたわけですね。いまもGCプログラムの開発はバリバリと続けられているんでしょうか。いつごろまでに完成する、といった予定、見通しはあるんですか?

郷原 はい。現状だとまだプロトタイプレベルなのですが、一応動くことが確認できたところです。実用に堪え得るまでになるには、もう2つ3つ山があるかな、と……。見通しとしては、卒業までに、情報基盤開発での運用を開始したいと思っています。なので、あと1年1カ月くらいの間には、ですね。

―― その後は、オープンソースソフトウェアとして、Apacheライセンスで公開予定なんですね。

郷原 実はすでに公開はしているんですが、まだ機能が十分ではないので……。それと、このプログラムを開発中にHibernate自体にもいくつかバグを見つけて、今はバグ直しのための勉強をしているところです。そのバグというのが、今回のGCのソフトウェア以外にはあまり使わない個所で、自分くらいしかその対応をする人はいないんじゃないかと。

―― なるほど、郷原さんはHibernateの品質向上にも一役買っているんですね。しかし、1人でこれだけのソフトウェア開発にかかわっていると、かなり大変ではないでしょうか。途中で煮詰まってしまうことはありませんか? 心が折れそうになった瞬間などはないのでしょうか。

郷原 やはり、Hibernateのソースコードを読んでいるときが大変でしたね。当初このGCプログラムを計画した段階で、原理的なものは設計できていたんですよ。でも、Hibernateを使ったうえで動作するプログラムなので、それを実現するためにはHibernateの内部の仕組みを把握しなきゃいけない。量もなかなか多いので、そこが一番苦労しました。

本格的なプログラミングは大学に入ってから

―― IT関係の勉強はいつごろから始められたのですか?

郷原 大学に入ったときは、数学かロボット工学をやりたかったんです。でも、周りのレベルが高くて、正直「かなわないな」って思っちゃって。ちょうどそのとき、堀江さん(ライブドアの元代表取締役社長の堀江貴文氏)が話題になって、ITという道もあるんだと思って勉強を始めました。ITは儲かるんだ、という不純な動機もありました。

―― ということは、プログラミングの経験は大学に入ってからなんですか。

郷原 そうですね。初めてまともに使ったのはOSがWindows XPのとき。それまではむしろコンピュータはあまり好きではなくて、触れたくなかった。

―― そこからどんな勉強をされて、なんというか……ここまでになっちゃったんでしょうか。

郷原 それ以前にも一度、Javaプログラミングの本を買ったことはあったんですよ。そのときは、基礎的な演習……例えば、じゃんけんのプログラムで、3分の1の確率でグーチョキパーを出すとか、そういうのしかなくて、あんまり面白みを感じなかったんですね。これだったら数学の方が面白いなと。でも大学2年生のときに、別の本に載っていた、Webから大量の画像や動画を動的にダウンロードするというプログラムを書いてみて、ずいぶん便利だ、これは面白いと思い始めて、どんどん書くようになりました。

―― プログラミングを始めてからいままで、触れる機会が多かったのはJavaでしょうか。好きなのもJava?

郷原 圧倒的にJavaですね。新しいもの好きなので、新しい言語もよく触れてみるんですが、最終的にJavaに戻ってきます。好きだから奥深くまで勉強し、また好きになり、の繰り返しです。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。