連載 :
  インタビュー

スタートアップのCTOってどんな仕事をしているの? Retty樽石さんのケース

2015年11月17日(火)
柏木 恵子
グローバル展開に向けてロードマップを描き、チームを引っ張るグルメサイトRettyの新しいCTOは元グーグルエンジニア

2010年に起業したグルメ系口コミサービスのRettyは、2014年に強力なCTOを迎え、ユーザー数を大きく伸ばしている。スタートアップ企業のCTOにはどのようなスキルが求められ、どのような仕事をしているのか、Retty株式会社CTOの樽石将人氏に伺った。

さまざまな経験がCTOという立場に役立っている

——初めに、Rettyに入る前に何をしていたのか教えてください。

樽石●小学校低学年の時からコンピュータを触っていました。1985年あたり、データを保存するのはカセットテープという時代です。それで大学では情報の学部に入り、コンパイラの研究を大学院までやりました。その時に、インターネット上でLinuxのオープンソースコミュニティに出会って、コミュニティ活動をするようになりました。その縁で、雑誌に連載記事を書いたり、本の出版に関わったりしました。

すき焼き担当の樽石さん(Rettyには名刺に担当テーマが記載されている)

ずっとLinuxに関わっていたこともあり、新卒でレッドハットの日本法人に入社し、組み込みLinuxの開発をやり始めました。ところが、米国の企業は体制が突然大きく変わることがあって、入って3カ月くらいでその部署がなくなってしまいました。どうしても開発の仕事をしたかったので、半年くらいでVA Linuxという会社に移り、ディレクトリサービスというミドルウェアの研究開発をやりました。後にレッドハットでもディレクトリサービスを扱うようになったので、レッドハットに戻りました。

レッドハットに戻った時は営業部に入りました。セールスエンジニアという立場で、レッドハットのディレクトリサーバを日本やアジア太平洋地域に売っていくための業務です。その時、マーケティングのようなことにも少し関わりました。実は、この時に開発以外の経験をしたことが、今のCTOという立場に役立っています。

2009年に、縁があってグーグルに転職しました。それまではずっとBtoBの仕事をしてきましたが、BtoCの領域で開発をすることになりました。グーグルに入って感じたのは、凄い人がたくさんいるということです。もうひとつは、規模の大きさです。計算資源にしろ、ユーザー数にしろ、サポートしている地域の数にしろ、あらゆるものが想像を絶する規模です。自分の開発したものをちょっと試そうと思ったら、何千個というCPUコアをすぐに使えます。エンジニアにとっては、開発したくてもリソース不足でできないということがない、制約のない環境です。もちろん、CPUが潤沢にあってもユーザー数も多いので、1ユーザー当たりにかけられる処理時間をマイクロ秒単位で最適化するなど、別の意味での制約はあります。だから、効率の悪い実装やアルゴリズムは許されません。

グーグルでは、最初はガラケーの検索システム関連の開発をしていました。転機になったのは東日本大震災です。グーグルは、大規模災害時に正確な情報を提供するためのGoogleクライシスレスポンスというサービスを立ち上げましたが、その機能開発にたずさわり、ガラケー向けのパーソンファインダーを開発しました。しかしその時、罪悪感のようなものも感じていました。グーグルという、世界でも有数のインターネットを推進する会社にいるが、インターネットは電気をたくさん使う。実は祖母が福島県に住んでいて、原発事故のために避難しなければならないなどとても苦労していました。そこで、日本に直接社会貢献をしたい、そのためには日本の会社で世界に出て行こうとしているような会社で仕事をしようと思ったのです。

知り合いがいたり、東北に野球チームがあったりしたので楽天に移り、PaaSの開発をしました。楽天では、日本企業の文化を知ることができました。それまでは外資系企業ばかりだったので、会計基準にしても日本とは違っています。楽天を経験せずにいきなりRettyでCTOになったとしたら、今よりもっと混乱したと思います。もうひとつ役に立っているのが、ドメスティックのビジネスで大きくなった楽天が、その基盤を活かして海外進出しようとしていたところだったということです。海外に出て行く際の課題や産みの苦しみを目の当たりにすることができたので、Rettyが海外進出する上で気をつけておくべきエンジニアリング課題を、ある程度描くことができるようになっていると思います。

ビジネスとエンジニアリングのバランスをとる

——Rettyにはどのような経緯でジョインされたのですか。

樽石●楽天に入って半年くらい経った頃でしたが、FacebookにCEOの武田から突然メッセージが送られてきました。面識はなく、共通の友達もいなかったので、その他フォルダに入っていました。それをたまたま見たら、「CTOを探しています」と書いてありました。ユーザーが増え始めて、これからサービスをどんどん大きくするためにCTOを必要としていますということでした。その時は楽天に入ったばかりというのもあって特に興味を持たなかったのですが、よくよく住所を見ると当時の自宅から徒歩3分くらいの所に事務所があることがわかりました。それで少し親近感をもって、遊びに行くくらいなら良いかなと思い、ベンチャーを起業するような人は何かしら大きな夢を持っているのだろうと考えて、「夢を語りましょう」と返事をして遊びに行きました。話してみると目標に対してまっすぐなCEOで好印象でした。そして、技術的に困っているようだったので、土曜日に遊びに行ってアドバイスをするようになりました。

壁に飾られた同社のビジョン

自分が小学生の頃は、パソコンを触っているのは変わり者でした。それからずっと30年くらいITに関わってきて、グーグルでいろいろやらせてもらったことで、ある種の達成感のようなものがありました。今ではもう誰でも普通にスマホでインターネットを使っているし、それによって便利になった。自分が求めていた世界が実現した。地震もあったし、これからどうしようと迷っていたところでもありました。その時に、Rettyのやっている「食」の領域は、普遍的なものだなと思いました。それで、半年くらいして正式にCTOとして参加することにしました。

実のところ、大手からベンチャーに異動することに関して迷いもあったのですが、楽天CEOの起業理由が阪神大震災であったという記事をみたことで決断することができました。

——CTOは、どのような仕事をしているのですか。

樽石●Rettyの開発体制は現場主導で、チームができたらそこに任せ、ほとんど入らないようにしています。エンジニアは主体的に行動して物を作りますが、CTOの立場になると個々のサービスではなく、チームの最大化を考えなければなりません。個々のエンジニアの特性を活かすためのマネージメントも仕事になります。目の前の開発を見るのではなく、ビジョンを実現するために大きな視点で見て、最終的に目指したい場所にチーム全体を導くのがCTOの役割です。

——もうご自身でコードは書いていないのですか。

樽石●プロジェクトが存在して、そこにエンジニアがいる物に関しては書いていません。ただ、ふわふわしたアイデア段階の物を作らなければならない時には、CEO/CTO直轄プロジェクトを特設してやることがあります。あとは、いろいろなエンジニアとコミュニケーションをとっていく中で、数カ月後に必要になりそうだなという物をこっそり作っておくこともあります。例えば、これからデータ分析が必要になりそうだなとTreasure Dataを使った分析基盤をこっそり作っておいたところ、ある時データが必要だと言う人が現れました。今では、そういうデータがあることが社内に口コミで広まって、いろいろな所で利用されています。

難しいなと思うのは、ビジネス上の課題解決のためにプロジェクトチームが作ろうとしている物と、エンジニアリング的に必要だから用意する物との方向性が、一致しないことがあります。ビジネス上は「この方法でいいからすぐに作ってくれ」と言うが、エンジニア側は「それをやると、後で大変になる」という場合ですね。不具合があったり、ユーザーが増えたらうまく動かない、メンテナンスしにくい、他の人は触れないなどの問題が起きないように、エンジニアとしては前段階のアーキテクチャ設計からきちんとしたい。でもそれをやると数カ月かかるから、ビジネス側ではそんなに待てない。そういう場合に、テクノロジーロードマップとビジネス上の必要性をうまく調整するのが難しいです。

理想はDevOps+Ops

——技術選定の際に心がけていることはありますか。

樽石●今は、何を使うかは現場の人が決めています。最初はRettyというひとつのサービスでしたが、機能を追加するうちにすごく大きくなり、メンテナンスもしにくくなってしまっていました。そこで今は個々の機能をリニューアルという形で切り出して、それぞれに適した言語やフレームワークに切り替えています。例えば、APIは仕様がしっかり定められるJavaベースで作り、HTMLをどんどん生成するのはPHPで処理するといった感じです。

ツールの選択は、プロジェクトの目標に合うようなものが外部サービスで提供されていればそれを使います。担当しているエンジニアの経験が浅ければ、外部サービスを使うことでいろいろなノウハウを得ることもできます。逆に、経験豊富でノウハウをたくさん持っているエンジニアの場合は、社内でツールを作ることもあります。最終的には、運用負荷がどうなるかで決めます。

今は開発と運用の部署が分かれていて、それを統合しようとしているところです。ただ、いったんマージした後で、しばらくして最終的には運用のプロフェッショナルチームを作ることになるかなと思っています。

——会社の成長段階によって、適している体制があるということでしょうか。

樽石●開発・運用のチーム(DevOps)と運用のプロフェッショナルチーム(Ops)が両方いる状態が理想ですね。運用は独特のノウハウがあります。F1チームのピットクルーが、タイヤを数秒で交換する技のようなものです。F1カーを設計する人はタイヤの交換はできるでしょうが、それを数秒でやる必要はありません。だから、開発の際に必要なノウハウと運用のノウハウは全然違います。サービスがそれほど大きくないうちは、DevOpsで十分でしょう。ChefやAnsibleなどの構成管理ツールを使えばシステムの新規導入や想定内保守は機械化できます。しかし、運用というのはそれだけではありません。障害が発生したときに応急処置をいかにすばやくやるのかという視点が一番大事で、そして障害のレベル感もサービス拡大に応じて変わってきます。例えばPower Outageの時にどのようにサービスを提供しますか? 海外から想像を越える量のリクエストのスパイクがあった場合はどうすれば良いでしょうか? これは現在のRettyの規模ではあまり考える必要はありませんが、大規模になったら検討しないといけない領域です。そういうことを考慮すると運用の要件レベルが大きくなってきた段階でOpsを立ち上げるのがいいだろうなと思っています。

——ロードマップがかなり明確ですね。

樽石●いままでさまざまなITサービスに関わってきたなかで、開発と運用の仕組みがすごく上手くいっていた成功事例を見ていたということが大きいですね。特に新しい話ではないと思うのでタイミングに応じて粛々と進めればよいと思います。失敗もたくさんしていて、そこと成功しているものはどこなのかということを考えると、何が必要か見えてきます。

課題を解決するだけでなく、持続可能で拡張可能なように考える

——CTOに必要なスキルは何だと思いますか。

樽石●エンジニアは作っている物が完成すればミッションクリアで満足感もあります。しかしCTOの場合は、そういうエンジニアの価値観や考え方以外に、会社経営の視点でものごとを考える必要があります。事業計画を推進する上でエンジニアリングに関するすべての課題に対してさまざまな方法を用いて解決策を見出し、実行しなければいけません。そして、ものによっては全くエンジニアリングでないこともあります。

自ら開発を行ったり、またあるときは各エンジニアが成長するために巧みにチームを構成したり、人材の採用にも力をいれたりしなければいけないでしょう。大きな物を作るには、いろいろな個性のエンジニアの強みがそれぞれ活かされるようにプロジェクトを回すことが必要です。グーグルにはエンジニアリングマネージャーという職種がありましたが、Rettyの規模ではそのような人はいないので、それもCTOの仕事になります。

そして、スタートアップのCTOはやるべきことがどんどん変わっていきますので、それらをタイミングに応じて臨機応変にこなさなければなりません。1年前のRettyはサービスが急激に増えるので、負荷に耐えるシステムに作り替えることが求められました。これは急を要するものだったので設計・開発・導入・運用を自ら進めましたが、今は収益化を始めて、人も増えている。それぞれの人のシナジーがきちんと起きるような枠組み作りや調整といった仕事が多くなりました。急成長しているスタートアップ企業のCTOには、やることがどんどん変わっても対応できるということが大事です。

——今後はどのようなことを目指していますか。

樽石●Rettyのビジョンは、「食を通じて世界中の人をHappyに」です。どんどん海外展開して世界中の人に価値を与えるサービスにするには、現状の社員エンジニア15人ではできません。Rettyのビジョンに共感してくれるエンジニアにどんどん来ていただいて、チームRettyエンジニアを大きくし、ビジョンに邁進していく集団を作りたいです。

取材当日は月に一度の食事会の日でした

——目標としている企業はありますか。

樽石●日本発で海外で成功しているITの会社はほとんどないと思います。なぜかというと、ITテクノロジーオリエンテッドな起業をする場合は、日本でやる必然性があまりないからです。テクノロジーで勝負するなら、シリコンバレーでやる方が優秀なエンジニアもたくさんいるし、ベンチャーキャピタルもたくさんある。ユーザーもITサービスの課題感が高く、良いものはすぐに使ってくれます。そこでRettyは、テクノロジーだけではなく、食という領域を活かして、世界に価値あるサービスを提供しようとしています。食の面では、日本はかなり先進国です。例えばミシュランの3つ星の数が一番多い都市は東京です。そういう場所でユーザーにもまれて支持されたサービスや、そこで得たノウハウを駆使すれば、海外でも成功するのではないか。そういう期待を持っています。

——ありがとうございました。

連載バックナンバー

AI・人工知能インタビュー

Red HatがAIに関するブリーフィングを実施。オープンソースのAIが優れている理由とは

2024/4/19
来日したRed HatのAI部門の責任者らにインタビューを実施。オープンソースのAIが優れている理由などを訊いた。
クラウドインタビュー

CloudflareのデベロッパーリレーションのVPが来日、デベロッパーアドボケイトのKPIを解説

2024/3/26
CloudflareのVP来日に合わせてインタビューを実施した。デベロッパーアドボケイトのKPIやAIのためのゲートウェイについて訊いた。
設計/手法/テストインタビュー

生成AIはソフトウェアテストをどのように変えるのか 〜mablに聞く、テスト自動化におけるLLM活用の展望と課題

2024/3/1
2024年2月22日、E2E(End-to-End)テスト自動化ソリューションを提供するmablは、Co-Founderの1人であるDan Belcher氏の来日に合わせミートアップを開催した。日本市場に力を入れるmablは、生成AI活用に向けてどのような展望を描いているのか。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています