独学で学びAPI作成プログラマーへ──KOSHIAN・船木さん田口元の「ひとりで作るネットサービス」探訪

購読しているフィードを解析するRSSリーダー「ReadOne」。文章を解析するAPIサービス「KOSHIAN」「TSUBUAN」──。数々のネットサービスを開発してきた若きエンジニアの目指す道は。

» 2007年07月23日 00時00分 公開
[田口元,ITmedia]

 「ひとりで作るネットサービス」第14回は、指定した文章から特徴語や本文部分を抜き出すためのAPIを開発してきた船木信宏さん(20代)にお話を伺った。「最初のPCはブロードバンドからスタートしました──」と話す若手エンジニアは、どのようなネットサービスを目指しているのだろうか。

フィードを解析してリコメンドするReadOneが出発点

 「答えは分かりません。でも最終的には個々人にカスタマイズされた、いわゆるパーソナライズドサービスを作りたいのです」。船木さんは将来作りたいネットサービスについてそう話す。

 最初に作った「パーソナライズドサービス」は、ReadOneというRSSリーダーだった。購読しているフィードを解析し、自動でお勧めのフィードを提示してくれるという画期的なサービスだ。

 ReadOneは、船木さんがSFC(慶應義塾大学 湘南藤沢キャンパス)に在学中に友人と3人で作ったものだ。2003年のことだった。画期的なRSSリーダーは注目を集めるが、その後、開発チームは解散してしまう。「今思えば当時はまだまだ技術力がありませんでした。サーバの費用も、トラフィックの負荷についても本当にどうしたらいいか分からなかった。もちろんそれをビジネスにするやり方もわかりませんでした」

 その後、一緒に始めた友人たちと方向性が違ったという理由もあり、船木さんはレッドクルーズの創業メンバーの1人となる。レッドクルーズではティッカー型のRSSリーダーを開発する。肩書きはCTO。テクノロジー全般を請け負い、ReadOne時代に苦労したバックエンドの技術を学びながら商品を開発するという経験を積んだ。

 現在はレッドクルーズから独立し、フリーのエンジニアとして活躍している船木さん。コンピュータとの出会い、そしてエンジニアになるまでの道のりはどういったものだったのだろうか。

ブロードバンド環境からスタートした新世代のエンジニア

 船木さんは東京都出身。中高生のころは将棋にはまっていた。「いまは鈍っているかもしれませんが、素人には絶対に負けませんよ」。笑いながらそう言う船木さんとコンピュータの出会いは高校も終わろうしていた頃だった。

 インターネットは最初からブロードバンドだった。親にNECのPC「VALUESTAR」を買ってもらったとき、一緒にケーブルテレビに加入。「ぴーひゃらら、というダイアルアップは経験したことがありませんね……」

 ゲームにはあまり興味がなかった一方で、ネットサーフィンにはまっていく。「おそるおそるYahoo!JAPANをのぞいていましたね」という彼は、はまっていた将棋のWebページなどを読みふけるようになる。

 その後「なんとなくホームページを作りたいな」と、近所の図書館でHTMLに関する書籍を借り、FrontPage Expressで将棋部のホームページを作った。次第にWeb技術の標準について興味を持つようになる。HTMLやCSSを読み解きながら、Webのユーザビリティはどうあるべきか、と考えをめぐらせ始める。

 大学についてはまずは慶應大学SFCのAO入試にチャレンジしてみたいと思っていた。小論文と面接、それから自分をアピールできる作品だけで受験できたからだ。正直、受験したくなかった、という思いもあった。テーマには当時興味のあったWebのユーザビリティを選び、見事合格を果たす。

 合格したはいいが、同級生はまだ受験勉強の真っ最中。「みんなより半年ほど早く受かっていたので周りからは白い目で見られていましたよ」と話す船木さん。漠然と何かやることを見つけなくては、と思っていた。そうしたときに出会ったのがチームラボという会社だった。

独学でPHP──アドバイスは「viがいいよ」

 チームラボは高校の先輩が起業した会社だった。独特の技術を持ち、さまざまな企業からシステム開発を請け負っていた。その会社にいる先輩から「ちょっと遊びに来なよ」と誘われたのが付き合いの始まり。顔を出しているうちにインターンをすることになる。興味があったWebのユーザビリティも学べるのでは、という期待もあった。

 しかしそこで任されたのは、ユーザビリティやデザインではなかった。どさっと渡されたのがPHPのコード。あるレビューサイトのプログラムだった。そのリニューアル作業を任されることになった。

 HTMLは多少分かっていても、船木さんにはプログラムの知識は全くなかった。手取り足取り教えてもらえるかな──という期待は、忙しい先輩を見ているうちに泡と消えた。唯一もらったアドバイスは「viがいいよ」だけだ。

 そこから船木さんのプログラミング修行が始まる。図書館で関係がありそうな本を借りてきては勉強した。リニューアルの仕事を終える頃には、プログラミングが多少なりとも分かるようになっていた。

 大学に進学してからも1年生のころはチームラボによく顔を出した。いくつか仕事も請け負った。2年生になるとデータベースに関する研究室に入り、その研究室の先輩に「RSSというものがあるらしいよ」と教わる。「じゃあ、RSSリーダー作ろうよ」と、友人と盛り上がったのがReadOne誕生の第一歩だった。

 その後、ReadOneが解散し、レッドクルーズに就職したあともRSSを手がけることになる。一方で、「RSSばかりやっていてはだめだ。もっと新しいことにチャレンジしなくては」とも思い始める。そのころから仕事が終わった後や休日にプログラミングをするようになった。そうしてでき上がったのがKOSHIANとTSUBUANだ。

APIサービス──KOSHIAN&TSUBUAN

 KOSHIANは指定した文章から特徴語の抽出を行うAPIサービス、TSUBUANはURLを与えるとそのページから本文らしき部分を抽出するAPIサービスである。船木さんが将来的に目指しているのはパーソナライズドされたネットサービス。そのサービスが最終的にどういうものになるにせよ、文章を解析する際の精度を上げる必要がある。そのためにいずれ必要ではないか、と思いついて作ったものだ。

KOSHIANを使ってBiz.ID記事の1つを読み込ませた結果のXML

 作る際には自分へのチャレンジを課した。まず、KOSHIANはApacheのモジュールとして開発することにした。慣れ親しんでいるPHPではなくて、速度を出すために初めてC++で書いた。速度を出すためにできるところまでやろう、と決めて開発した。APIの開発も初めてだった。しかし入力と出力を作るだけなので「意外と作りやすかった」とも。

 開発を始める際には、Google Scholarなどで学術論文を読み込むという。SFCにいるころから、何かを作るときはまずは論文をあたる──という習慣が付いているからだ。学術論文そのままのアルゴリズムが役立つことは稀だが、開発する際に大きな刺激になる。

 「マッシュアップのように簡単に作れるサービスならまだいいですが、検索エンジンのように難しいことをやろうと思うと、やはり優れたアルゴリズムによって実現可能性が大きく違ってきます。アルゴリズムが違うだけで現存するコンピュータで動かない、ということもあると思います」

 論文をよく読むのは、普段から仲良くしている大学院生の友人と話をしたいからだとも言う。「自分はビジネスも好きですが、研究も好きです。どちらの言葉も分かるようになりたいのです。研究者と事業家の両方の言葉が分かればもっとすごいことができるようになると思っています」

情報発信でプログラマーの裾野を広げる

 個人でサービス開発する傍ら、いくつかのブログを運営している。「using API;」では国内外のAPIのニュースを取り上げて紹介している。また「ホリデープログラミング入門」ではプログラミング初心者のために開発の勘所を紹介している。

 「自分はオープンソースのソフトウェアにお世話になっていますが、自分ではモジュールを作ったりといった貢献ができていません。でも、情報発信してプログラマーの裾野を広げることができればそれはそれで1つの貢献かな、と思っています」

 また「初心者だった自分を忘れたくないから」とも言う。最終的には自分の母親にも使ってもらえるサービスを作りたい、そのためにはPCをうまく扱えなかった自分の感覚を常に持っていたい、と考えている。

メモは裏紙──「供給が絶えることがありませんからね」

PCはThinkPad X60。学生時代からThinkPadだったという。スケジュールは手帳に、そしてメモとしての裏紙

 よく使うツールは「紙copi」というメモ帳アプリ。保存という動作をしなくても自動で保存されていくのが心地いいという。またWebのフォームやWordに書くよりも気軽に書き込める感覚が気に入っているという。

 開発は常にサーバに接続して行う。使っているターミナルは「Putty」。エディタはチームラボ時代から使っている「vi」だ。ブラウザはメインでFirefoxを使っている。

 RSSリーダーは「livedoor Reader」と自作のRSSリーダーを使っている。自作のRSSリーダーはBloglinesのAPIを使い、毎日読みたいフィードだけを表示させるというものだ。一度読んだものは表示されないように工夫している。Livedoor Readerの方は時間が空いたときに読むフィードを入れ、ざっと流し読みしている。

 また大量の裏紙を持ち歩いている。まっさらな紙よりも気軽に書き込める点が好きだという。手伝っている会社の社員に断って譲ってもらっているものだ。「裏紙は供給が絶えることがありませんからね」

 いまはフリーのエンジニアをしているが、資金が貯まったら自分の会社を興してもっと大きなことにチャレンジしたいと話す。「結果がどうあれ、バットを振るなら大きく振りたいですからね」。笑いながらそう語る船木さんの次の動きに注目したい。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ