Top >  プロフィール >  mixiの検索システムを開発する29歳スーパークリエータ

mixiの検索システムを開発する29歳スーパークリエータ

著者: Tech総研 プリンター用 記事を転送

▼2007年11月6日 10:00 付の記事

□国内internet.com発の記事

株式会社ミクシィ 開発部 研究開発グループ マネージャー 平林幹雄さん

1978 年生まれ。立命館大学政策科学部を卒業後、01年に大手OA機器メーカーに入社。システムエンジニアに。独立行政法人情報処理推進機構(IPA)の 2004年度第2回未踏ソフトウェア創造事業で、全文検索システム「Hyper Estraier」を開発、スーパークリエータに認定される。2006年6月、ミクシィ入社。研究開発に従事。

http://japan.internet.com/column/career/20071106/8.html


株式会社ミクシィ

株式会社ミクシィ

2004 年2月から日本初のSNS(ソーシャル・ネットワーキングサービス)として『mixi』を展開。「居心地の良いサイト」「身近な人や趣味・興味が同じ人との交流」をコンセプトに開発、人気を集め、今や1110万人を超えるユーザーが利用している(2007年7月末現在)。Web of the Year2006コミュニティ部門1位など、数多くの賞を受賞。06年9月にはマザーズに上場、大きな話題となった。SNS独自の強みを生かしたさまざまな収益モデルの構築を積極的に押し進め、業績も好調。

『mixi』の膨大コンテンツを支える検索システムを新たに作り上げた

 06 年6月の入社後から、研究開発エンジニアとして『mixi』の検索システムの構築に従事。ほとんど独学で身につけたプログラミング技術で独自開発した全文検索システム「Hyper Estraier」の知見を活かし、1110万人ものユーザーが利用、今なお拡大を続けるコンテンツの検索システムの開発に挑み、約1年かけて順次、自社オリジナルのシステムへと入れ替えていった。現在は、研究開発グループのマネージャーとして、データベースや検索システムの改良を手がけるとともに、『mixi』内のコンテンツを対象としたデータマイニングシステムの構築を行っている。

パソコンを始めたのは、大学3年。典型的な文系SE就職だった

 自分がエンジニアになっているなんて、学生時代は予想もしていませんでした。大学は文系、パソコンを始めたのは、大学3年。就職も典型的な文系SE就職でした。たまたま大学で専攻することになったのが、デジタルアーカイブ。特に京都の学校でしたから、役所の公文書などのほかに、古い演劇や歌舞伎のシナリオ、さらには写真、そういう物理的なデータをデジタル化する必要性を強く感じて。でも、文字列だけを保存しても何の資料かわかりません。内容をテキストで付けて、しかも検索できるようにする必要がある。そんな研究が必要だ、と卒論で書いていたりしていました。ただ、深いプログラム技術など当時はありませんから、詳しいことはよくわからない。就職も、コンピュータをやっておけば、つぶしがきくかもな、くらいの気持ちだったんです。

 最初に入った大手OA機器メーカーでは、システムソリューションから仕事が始まりました。ただ、OA機器メーカーですから、OA機器を売るためのソリューションという意味合いも強かった。そこはちょっと不満でしたが、いろんなお客さまとのお付き合いがあったことは面白かったし、貴重な勉強の機会でした。2年して全文検索システムを案件化するというプロジェクトに加わりましたが、まだ下っ端。テスト関係の手伝いが中心です。2年後、大手企業向けのソリューションを展開する新規事業に。花形の部署と言われていましたが、僕はたまたま上司が行ったから自分も行った、くらいの認識でした。そしてこの職場を最後に退職して、ミクシィに転職することとなりました。

 SEになってまず思ったことは、重要なのはプログラミング技術だけではないということ。仕様を把握、作成する能力や、社内外で交渉してニーズを把握、提案を伝えるコミュニケーション能力が重要だと感じました。そしてもうひとつ、SEの仕事は主に自分でモノを創るというより、人を使って何をやるかということが大切であり、既存のソフトをいかにうまく活用するかが問われてくるということ。でも、ここでふと思ったんです。では、活用したいと思う商品がマーケットになかったらどうするか。ないものは作る必要がある。足りないものを自分で作れる能力が必要になるはずだ、と。

 だから、昼間は普通に会社の仕事をしながら、夜、家に帰ってから、あるいは休日に、自分で基礎からコンピュータやプログラムを勉強しました。典型的な勉強法である、世の中にあるソフトを自分流に作り替えてみたり、すでにあるものを自分で作ってみたり。Webサーバー、文字コード変換、文字列検索……。いろんなものを自分で作りました。当時は仕事で生きるものではありませんでしたが、こうやって学んだ技術が自分のベースになっていったんです。

独学で挑んだ全文検索システム開発。「やればできる」と知った

 昼間は会社でSEとして仕事をして、夜や休日は自分で会社の仕事とはまったく関係のないプログラムを組む。そんな毎日。せっかくだから、作ったソフトはオープンソースで公開していきました。すると、それなりに評価をいただけることがわかってきました。学生時代のデジタルアーカイブで、最も大きな課題が検索だったので、特に興味を持つようになったのが、全文検索システム。しかも、高価なワークステーションなどではなく、普通のPCで全文検索できるソフトを作りたかったのですが、当時、そんなものはありませんでした。ネットワークでマシン同士が通信する仕組み、データベースの仕組みなど、要素技術を少しずつ蓄積していきました。すでにたくさんあった全文検索システムは、公開されたソースコードのすべての中身を調べ、自分のシステムと比較、改良していきました。

 もちろん挫折やつまづきは何度もありました。でも、じっくり考えていくと、ブレイクスルーは出てくるものなんですよね。そのたびごとに、「やればできる」と思って(笑)。例えば、検索漏れがまったくない仕組みを考えようとすると、ものすごく効率の悪いデータベースになる。でも、仕組みを2ステップに分けて、最初は粗く検索して次は詳細、とするとそれだけで高速になる。発想の転換で仕組みを変えたんです。こういうのが昼間の仕事中、パッとひらめいたりして。そうなると、急いで家に帰りたくて(笑)。

 ある程度できると公開して、それなりにフィードバックを得るようになってきたんです。オープンソースの世界で知られるようになると、雑誌に記事なども書かせてもらうようになりました。昼間の仕事もあって、言ってみれば二足の草鞋。ほとんど寝ない日もありましたね。でも、面白くてしょうがなかった。遊ばないから、お金も貯まって(笑)。今から考えると、いわゆる下積み時代も楽しんでましたね。

IPA未踏ソフトウェア創造事業が転機に

 入社5年目のとき、たまたまホームページで、まだ無名のプログラマーを支援していく制度があるのを知りました。それが、未踏ソフトウェア創造事業でした。せっかくだから、モノは試しと思って、開発していた全文検索システムを完成させたい、と応募してみたら、予想外に受かってしまって(笑)。でも、企画書では開発活動に必要な工数を書く欄があって、1日8時間、と。そうなると休職の必要がある。会社には事前に応募の話はしてありましたが、まさか受かるとは思っていなかったんでしょう。でも、ありがたいことに6カ月の休職を認めてくれたんです。

 二足の草鞋(わらじ)じゃない人生は、こんなにラクか、と思いました(笑)。この半年は、まさに開発漬け。データベースの構造から考えて、圧縮したり、保存を考えたり、ディスクのスキマができないようインデックスから作ったり。新しい工夫を入れると、すぐにパフォーマンステスト。何度も何度も、です。それこそ寝ても覚めてもテスト(笑)。テストの間の時間だけ寝たりして。それで起きてチェックする。

 そんな日々で、着々と成果がよくなっていきました。オープンソースへのリリースもどんどんやりました。フィードバックがあると、すぐに再リリースする。たくさん意見をもらいましたね。おかげで週4回、リリースしたこともあります。そしてソフトをパッケージソフトとして作り込んだら、使ってくれる人が現れて。商業利用サイトや製品に組み込まれていったんです。24時間プログラマー生活はこんなに楽しいのかと、実感した時期でしたね。

1秒間に100アクセスの要求が来ても落ちないシステム

 もともと未踏ソフトウェア創造事業は、起業独立の支援の意味合いも大きかったようでした。実際、僕もちょっと考えてみたんですが、会社経営って大変なんだとちょっと本を読んだだけでもわかって。これじゃ、プログラムが書けないじゃないか、と(笑)。でも、半年後に会社に復帰すると、もう24時間コーディングする深夜体質からなかなか抜け出せない(笑)。そしてこの頃から、創造事業の受賞のニュースで名前を知られたのか、あちこちからお誘いの声をいただくことができるようになりました。社長から直にメールをくださったケースも。実際、ミクシィがそうだったんです。

 もともとユーザーでしたが、検索システムを開発する人間として『mixi』を眺めてみると、改めて面白いと思いました。人同士がつながっていて、コミュニティに合っているかどうかという尺度でも解析が求められる。検索エンジンだけなら、早いか遅いかという観点でしか見られないけれど、もっと知的な観点から検索システムを提供できる可能性があると思ったんです。これは『mixi』しかできない、と。

 僕に期待されたのは、新しい検索エンジンを作ること。ところが、ここから波瀾万丈でして(笑)。正直なところ、タカをくくっていたところがあった。まずはプロトタイプを作って、既存の検索エンジンがある中で、僕のシステムをアドインして使ってみたら、僕のシステムは5分で落ちてしまったんです。あまりのトラフィックの多さに悲鳴をあげてしまった。これで、いきなり途方に暮れてしまいました。今の考え方じゃダメなんだ、と改めて自分に言い聞かせて。

二足の草鞋よりプログラムに打ち込める幸せ

 もともと考えていたのは、数台に分散させること。でも、大規模な分散が必要だと思いました。ただ、そのためには分散のノウハウが必要。早い検索はもちろん、1秒間に100アクセスもの要求が来ても、絶対に落ちないシステムにしないといけない。仮に落ちたとしても、すぐに裏のバックアップ系統が動いて、すぐに復旧できる仕組みを考えないといけない。でも、急成長してきた『mixi』はもう何度もこういう経験をしていました。社内に分散技術のエキスパートがいたんです。彼らと相談し、アドバイスも受けて改めて自分なりにも考え、改良に改良を重ねてシステムを作っていきました。

 入社後、いついつまでに全文検索システムを自社製のものに置き換えます、という宣言をしていました。だから会社も、既存の検索エンジンのライセンスを切る通知をすでに済ませていて。ところが、こんな調子でのスタートでしたから、かなり青ざめた時期もありましたね(笑)。でも、僕にも検索システムの専門家としてのプライドがある。それこそ死ぬ気でやりました(笑)。二足の草鞋じゃなくて、プログラムだけですから幸せじゃないか、と思いながら。

 置き換えはとどこおりなく成功しましたが、これで完璧というわけではありません。現状のシステムのままだと、データ量に対応してマシンを増やさないといけませんから、コストが上がる。数年以内に新しいテクノロジーを導入した新しいシステムを入れなければなりません。自分が作ったものを、さらに乗り越えるものを作らないといけない。しかし、検索エンジンというのは、早くて当たり前なので、今以上早くしても誰も気づいてくれないんですよね(笑)。ちょっと寂しいですが、話題にならないことが誇りなんだと自分に言い聞かせています。

 いずれにしても、とんでもない数のユーザーが、自分の作ったシステムを使ってくれる会社。これはもうエンジニア冥利に尽きます。しかも、かなり自由に仕事ができる。想像以上に楽しいですね。


▼データマイニングの世界で持っているとんでもない潜在力とは?

>> mixiの検索システムを開発する29歳スーパークリエータ

記事提供:一歩先が見えてくる エンジニアライフ応援サイト【 Tech総研 】

         

プロフィール

他の人の年収って結構興味あるでしょ?年収の話、そして税金の話。サラリーマン法人作った話とか。サラリーマン法人は、年収800万円以上の人は、あんまり効果なくなっちゃいましたよね。いろんなプロフィールを、、、

関連エントリー

mixiの検索システムを開発する29歳スーパークリエータ 会話するのは三日ぶり 情報収集が先か、決断が先か 第5回 失敗を恐れたら前に進めない 『社内公募を利用したいのですが・・・』(30代男性) 第40回 キャリアに人生に欲張りに生きた20代 「弁当の買い出し」でPCの面白さに目覚めた――あとで行く・石原淳也さん アイデンティティはオープンソースプログラマ 運命の出会い、華麗に転身 現場で仕事することにこだわりたい〜アドビシステムズ ディレクター マーケティング本部長 伊藤 かつら氏(1) 透明性の錯覚から気付いたこと 田口元の「ひとりで作るネットサービス」探訪:「住みたいところに住む」ためのネットサービス――やわなん・りもじろうさん サラリーマン法人、作っちゃいました。 ワールドカップ見てますか? 税金200万円 普通のSEっていうけど、どんなSEなの? 実際年収いくらなの?