エンジニアの生存戦略

第4回浜本階生―SmartNewsを作ったエンジニアのキャリア

先を歩むエンジニアへのインタビューを通してエンジニアのキャリアについて考える本連載、今回はSmartNewsの開発者で、スマートニュース株式会社の代表取締役社長/共同CEOの浜本階生さんにお話を伺いました。

画像
[撮影:平野正樹]

ゲームがきっかけで始めたプログラミング

─⁠─浜本さんがプログラミングに興味を持ったきっかけをお聞かせください。

浜本:小学校のころ、ファミコン[1]がどう動いているのかにすごく興味がありました。小学校3年生のときに先生が画面の中を丸が動くプログラムを見せてくれたのですが、それで、ファミコンもきっとこうやって動いているんだと思ったんですよね。その後中学校の技術家庭科の教科書にプログラムを書こうというコーナーがあって、簡単なゲームプログラミングをしたのが始まりですね。中学校のPCはNECの古いPC-9801だったのですが、放課後に内蔵のBASIC言語で記述していました。家に帰るときにはメモリから全部消えてしまうので、毎日ゼロから打ち込み直して少しずつプログラミングしていました(笑⁠⁠。

─⁠─そしてのめり込んでいったのですね。

浜本:はい、本当におもしろくて「プログラミングしかしていなかった」と言ってよいぐらい中学校や高校時代は熱中しました。最初はBASICで、次がC、そしてアセンブリと学んでいきました。そのころは主にゲームを作っていました。ゲームはプログラミングの総合芸術のようなもので、音楽を再生するためにハードウェア割り込みを行うライブラリを作ったり、グラフィックのエディタを作ったり、ゲーム内言語を作ったりと、あらゆる要素の組み合わせで成り立つんですよね。中学校の文化祭で自分の作ったゲームで大会を開いたら何十人という人が遊んでくれて、すごく興奮してさらにのめり込んでいきました。

─⁠─今はサービス作りをしていますけど、ものを作る原点はゲームにあったんですね。

浜本:そうですね。あとは当時「マイコンBASICマガジン」という雑誌に読者が投稿したプログラムを編集部が採点するコーナーがあって、2回応募して2回とも載せてもらえたんですよ。プログラムをとにかく形にして、人に遊んでもらうなり、雑誌に投稿するなりといったアウトプットをけっこう行っていました。

単なるネットユーザだった大学時代

─⁠─大学は東京工業大学で情報工学を学ばれたんですね。

浜本:自然言語処理の研究室に所属していたのですが、中学校や高校のときのような圧倒的にプログラミングだけに集中している感じではなく、普通にサークル活動などをしていました。当時どんどんインターネットが普及してきて、それまでソフトウェアと言うとWindows上で動くものがほとんどだったのに、インターネットを通して使われるように変わり始めました。大学を卒業する2005年には完全にWeb中心になっていました。でもその大きな変化に僕はあまり目を向けず、単なるインターネットユーザとして時間を過ごしてしまいました。この時期にもっとネットの中でものを作れば良かったと後悔しています。

Seasarプロジェクトとの出会い

─⁠─そのあと大学院に行かれたんですか?

浜本:周りの人はほぼ大学院に進学したのですが、当時プログラミングのアルバイトをしていた会社の社長さんから「ぜひ来てほしい」と言われ、就職しました。すごく小さい会社で、技術をやっているのは僕だけでした。

舘野祐一 氏
舘野祐一 氏

─⁠─浜本さんは2007年ごろからいくつもWebサービスを作り出していたことが印象的なのですが、そこに至るまでにどんな経緯があったのでしょうか?

浜本:仕事でプログラミングをするようになって、インターネットの世界に自分がまったくついていけていないことに遅ればせながら気づいたんですよね。はてなダイアリーやはてなブックマークが出てきて、Web 2.0と呼ばれるサービスだとかがたくさん登場してきたときに、自分はWebの知識がほとんどゼロだったんです。でも会社にほかのエンジニアはおらず、教えてくれる人もいませんでした。これにたいへんな危機感を覚えました。会社にはJavaプログラマとして採用されていたので、日本でJavaのWebの最先端ってなんだろうと必死にググって、Seasarプロジェクトに行き着きました。

─⁠─どうやってWebを学んでいったんですか?

浜本:たぶんこれを追いかければよいはずだと思って、当時あったいくつものSeasarのオープンソースプロダクトのソースコードを読んでいきました。また年2回ほどSeasarのカンファレンスが開かれていたので、すごく勇気をふりしぼって参加しました。当時はWebのコミュニティに属していなかったので、カンファレンスを単に聴講しに行くだけでもものすごく勇気が必要でした(笑⁠⁠。参加してみるとみなさんすごくフレンドリーで、コミッタの方々とも話をさせてもらえて、Seasarにくっつきながら一層Javaの勉強を続けました。

Webサービス開発時代

─⁠─そして、TopHatenar[2]Blogopolis[3]などを生み出していったんですね。

浜本:はい、Web技術を学んでいくうちにアウトプットをしたいと思い始めました。たまたま2006年末に『価格.com WEBサービスコンテスト』が開催していて、応募したところレストラン検索サービスのEatSpotが最優秀賞をいただいて、以降は1人でものを作ってはどこかに応募したり公開したりすることが趣味になってしまいました(笑⁠⁠。

─⁠─Web関係のスキルはSeasarを追いかけているうちにどんどん身についたと思うのですが、そこでまたあらためてサービスを作りたいと思ったのはなぜでしょうか?

浜本:自分の原点に立ち返ると、やはりゲームを作りたいとか、雑誌に投稿する作品を作りたいといった、プロダクトを作ることなんですよね。あと自分自身が何か特定のスキルを極めようと思っても、二流にしかなれない人間だと思ったんですよね。中学・高校のときに出身の栃木県でプログラミングコンテストがあって、意気揚々と絶対優勝できると思って応募して、ことごとく2位だったんですよ。1位には毎回なれなかったんです。

─⁠─2位でも十分すごいと思いますけど(笑⁠⁠。

浜本階生 氏
浜本階生 氏

浜本:ちなみにいつも優勝していたのが、中学・高校で僕にアセンブラなどを教えてくれた先輩で、今スマートニュースで技術顧問に迎えている、東北大学大学院・情報科学研究科の准教授の岡崎直観氏です(笑⁠⁠。学生のありあまる時間とエネルギーをつぎ込んで「今年こそ絶対に優勝できる」と応募しても必ず負けるんですよ。そのときに、自分は何か1つのことだけで勝負しても勝てないんだなとなんとなく悟りました。であればEatSpotのように、サーバサイドでもクライアントサイドでも複合的にあらゆる部分をカバーして、総合的なプロダクトとして作ったときのクオリティなら、自分はまだ勝負できるかもしれないと思ったんですよね。そういう方針でプロダクトを作ったら、コンテストでも賞をいただけるようになりました。

─⁠─なるほど、ナンバーワンにはなれない徹底的な経験があったからこその今なんですね。

起業の経緯

─⁠─当時は社会人として普通に働かれていて、その傍らでいろいろなサービスを作られていたんですか?

浜本:そうですね。休日はほとんどずっとプログラムを書いていました。

─⁠─それまでは個人で作られていましたが、SmartNewsの前身にあたるCrowsnest[4]を作ったときは、法人化されていましたよね。

浜本: Crowsnestの基盤を作り始めたときは、会社を辞めた直後で、まだフリーランスでした。ちゃんとしたサービスにしようと決めたときに法人化したので、個人で作っていた時期と、会社として作っていた時期の両方があります。

─⁠─会社員を辞めて、Crowsnestに集中しようと思ったのはなぜでしょうか?

浜本: Blogopolisがいろいろなところで取り上げられた時期に、クックパッドのイベントに呼んでいただいたんです。イベントのあと、当時クックパッドの社長だった佐野陽光さんがにゅるっと顔を出して、⁠どういうの作っているの? ちょっと見せてよ」と言ってきて、やりたいことを話していたら佐野さんがノッてきて、⁠いやー、おもしろいね。君はこういうことだけやったほうが良いよ。今日中に辞表を書こう」と言ってきました。⁠何を言っているんだこの人は……」と思ったんですがまったく逃してくれないんですよ。とにかく「君はおもしろいことをやるべきだから、今の会社は辞めよう!」と押し切られて、⁠はい」と言っちゃって、その日のうちに本当に社長にメールで「会社を辞めたいと思います」と書いちゃったんですよ。23時58分ぐらいに送信したのを今でも覚えています(笑⁠⁠。

─⁠─なるほど、佐野さんらしい(笑⁠⁠。これをきっかけに、サービス作りに集中する方向に振り切ったんですね。

浜本:もともといつかは自分で起業してみたい気持ちはあったんですよね。背中を押してくれたのが佐野さんです。ただすぐにビジネスのアイデアがあったわけじゃないので、BlogopolisのようなWeb上にある大量の情報を収拾、整理、可視化するしくみの延長線上に何かあるんじゃないかと思って、まずはその基盤技術を作り出しました。クローラを書いてデータをひたすらため込んで、データ活用のためのリアルタイムインデックスを構築し、いろいろなクエリで抽出できるしくみを作りました。そのとき、のちにスマートニュース共同創業者となる鈴木健とディスカッションをし、⁠ニュースをパーソナライズして配信できるよね」と気づいてCrowsnestを作りました。

─⁠─最初は明確な作りたいサービスがあったわけではなく、どんなことができるかということを技術で作り上げたあとに、Crowsnestを作り出したんですね。Crowsnestでいくつか賞も獲得していましたよね。

浜本:実際のところ、賞を取ってもユーザの獲得や認知という意味ではほとんど関係ありませんでした。Crowsnestは、いかに多くのユーザに価値を感じて使ってもらえるかというところが完全に失敗しました。自分が便利なものを作るという原則でずっと作り続けていたんですけど、広くは受け入れられませんでした。

失敗から生まれたSmartNews

─⁠─SmartNewsは2012年のリリース当初から大ヒットしましたが、生み出せたのはなぜなのでしょう?

浜本:まずはCrowsnestで一度徹底的に失敗したことでしょうか。生々しさを伴う体験というか、本当にお金がなくなったんです。次にサーバ代が引き落とされたら銀行の残高がゼロになってしまう状況にまでなって、量が多くてカロリーが高い100円のパンで食べてしのぎました。真剣に危機を感じて、本当に路頭に迷いそうになりました(笑⁠⁠。そのときに自分の視点で徹底的に便利なものを作ってもダメだということを、体のレベルで実感してピボットすることにしたんです。中途半端にピボットしてもダメだと感じました。SmartNewsを作るにあたって、ニュースのアグリゲーションサービスは当然Web側の側面も持っているので、Webとアプリの両方が必要だと最初は考えていたのですが、鈴木健から「絶対アプリだけにしよう。捨てるものは徹底的に捨てて集中しないとまた失敗する」と言われ、僕は当初は強固に反対したのですが、だんだん理解していって、結果的にパーソナライズでもない、Webでもないものを作ったんです。Crowsnestとは真逆ですよね。

─⁠─今まで得意とされてきた、⁠PCのブラウザでさくさくとパーソナライズされた情報を見られる」というコンセプトとは逆ですね。ご自身が得意な部分も捨てるのは大変だったのではないでしょうか。

浜本:そうですね、2005年ぐらいからずっと追いかけてきたWebサービスを作る技術に適応できたと思ったら、今後はモバイルアプリを作らなくてはならないということで、大変ではありました。ただ、中学・高校時代にのめり込んでいたユーザの端末で動くプログラム、いわゆるGUIプログラミングの経験が、回り回って意外と役立ちました。

エンジニアの経営者

─⁠─今は社長という立場で経営をされていると思うのですが、エンジニアの経営者としてどのようなことをなさっていますか?

浜本:会社の成長のためにしっかり目標を設定し、エンジニアリングの観点からどれだけ付加価値を付けられるかが自分の存在意義だと思っています。プロダクトのクオリティやエンジニアのこだわりといった大切にしなければならない部分、数値目標だけでない部分も判断していくことが役目です。また、コードを書く頻度はすごく減ってしまったのですが、自分も手を動かせるオプションをいつも持っていて、何かあったときに率先して動けるように意識しています。直接的ではないにしろ、プロダクトに近いところで動き続けることが自分にできることだと思っています。

優秀なエンジニアとは

─⁠─浜本さんが思う優秀なエンジニアはどんな人でしょうか?

浜本:「アルゴリズムとデータ構造がわかること」でしょうか。コミュニケーション力とか先を見通す力とか、そういうことももちろん大事ではあるものの、やはりエンジニアリングができるからこそのエンジニアです。その根本を大事にすることで、あらゆる場面に対応できる力が身につくと考えています。

─⁠─たとえばSmartNewsは最初iOS版を作られたと思いますが、Objective-Cの経験が浜本さんにはなかったわけで、それであそこまでさくさく動くアプリを作れたのは、基礎がわかっていたからなのでしょうか?

浜本:サーバサイドもクライアントサイドもパフォーマンスが命のところはたくさんあって、そのためにはデータ構造と処理の流れを理解してコードを書くことが大切です。ですので基礎を理解していれば言語が変わってもスムーズに入り込むことができます。ソートやハッシュテーブル、技術の原理原則といった普遍性を持ったところを学んで自分の力にしていくことがすごく大事だと思います。

─⁠─本日は貴重なお話、ありがとうございました。

画像

おすすめ記事

記事・ニュース一覧