「CTOとは何か」を問うシリーズ企画。今回いよいよ、はてなの登場である。「エンジニアのポートフォリオを組むことが、CTOの重要な役割の1つ」と語る、はてなCTO田中慎司氏。そこには、数多くのサービスとエンジニアを有する組織ならではの理由がある。
CTOという言葉は広く認知されるようになったものの、その役割や仕事については、まだまだ明確とはいえない。「CTOとは何者か」という問いの答えを見つけるべく、数々のCTOにインタビューを行なっているCAREER HACK。今回はいよいよ、はてなの登場である。
伊藤直也氏の後を引き継ぎ、2010年に はてなCTOに就任した田中慎司氏。そのプロフィールについて、まずは簡単に触れておこう。
京都大学大学院修了後、NTTネットワークサービスシステム研究所に入り、OS言語環境まわりの研究に約6年間従事する。その後エンジニアとして、はてなに入社。半年後にはシリコンバレーのHatena Inc.に渡り、1年半ほどインフラまわりに関わる。2008年に日本に帰国、2010年9月より「はてな執行役員 最高技術責任者」に。情報学の博士号を持つ、業界では稀有なCTOである。
数々のWEBサービスを10年以上にわたって提供し続けてきたはてな。そんな“業界の雄”である企業のCTOとは、一体どんな存在なのだろうか。
― 田中さんの考えるCTOとは。どんな役割・存在だと思われますか?
CTOが何をやる人なのか、については、企業規模やサービス内容、カルチャー、他の経営陣が技術をどれだけ分かるか、といった条件によってかなり異なってくるものだと思います。
そんな前置きをした上で、はてなのCTOとして私が考えるのは、エンジニアのポートフォリオをどのように組んでいくかが重要な役割の一つである、ということです。
はてなが10年以上にわたりサービスを作ってきた中で実感しているのは、技術の重要性は当然ながら、その変化が非常に激しいという現実です。10年前にやっていたことと5年前にやっていたこと、そして今やっていることでは、要求される技術レベルも全然違います。
例えば、はてな創業当時は、WEB系のようなスピード感が必要とされる開発で使える言語というと、ほぼPerl一択でした。ですが2005、6年くらいから状況が変わり、今では様々な言語の選択肢がある。
またミドルウェアでも、例えばはてなはずっとMySQLを軸にやっていますが、2~3年前にKVSの波がきた。
こうした状況に際して、何を選択してどこを技術的に突っ込んでいくのか。トレンドをキャッチアップするのはもちろんですが、それが一過性のものなのか、先々に向けてチョイスすべきものなのかをキチンと見極めて方向付けしていくことが、CTOとしての重要な役割だと思います。
それがサービスの方向付けになるだけでなく、エンジニア1人ひとりのキャリアパスにも直結していきます。先ほど言った「エンジニアのポートフォリオを組む」というのはそういう意味合いです。
― 開発の方向性を決めることが、キャリアの方向付けにもなると。言われてみれば確かにそうですね。その“ポートフォリオを組む”というのは、すべてCTOである田中さんが行なうんですか?
新しくサービスをつくるにあたり、エンジニアが好き勝手に言語やミドルウェアを選ぶ会社もあれば、きっちり決められた形でやる会社もあると思います。
はてなの場合は、言語と基本的なミドルウェアは決めて、アーキテクチャとかフレームワークとかは適宜新しくしていきましょうという、いわば中間的なスタイルですね。サービス数が多いこともあり、ある程度の裁量は各サービスチームが持っています。
私としてはその中で、たとえばサービスをつくるためのコンポーネントをどれくらい密結合にするか疎結合にするかといったアーキテクチャの方針を、ガッチリとではなく「こっちのほうがいいよね」という感じで方向付けしていく役割ですね。
スマホアプリの波がきた当時には、ネイティブアプリとHTML5アプリとの論争もありましたけれども、そういったものも、流行とか短期的な面白さだけで判断せず、ちゃんと皆で議論して決めています。
また、はてなもある程度は大きな組織になってきたとはいえ、エンジニアリソースがそこまで潤沢というわけではないので、取捨選択することで無駄を省きたい、という狙いもあります。
― 複数のサービスチームがあるということは、エンジニアのキャリアやポテンシャルを伸ばすために意図的に配置転換するといったこともなさるんですか?
ええ、そういったこともあります。この人にはスマホもやってほしいなと思えば、そういうチームに配属したりもするし、もう少しアルゴリズムとか機械学習とか、サーバーサイドの深い技術を身につけてほしいと思えば、そういうチームに行ってもらったりもします。各サービスチームのディレクターやプロデューサーたちと相談しながら、「こういう期待を込めているのでこの人を預けます」とかやってますね。
― 多くのサービスを開発し続ける、はてな ならではと感じます。そうしたCTOの役割は、最初から明示的に存在していたのでしょうか。それとも、はてなの成長に合せて徐々に変化してきた?
私の前任の伊藤直也がCTOだった頃は、CTOがサービスの顔となって技術を引っ張っていく、という傾向が強かったと思います。
ただ彼の得意なことと私の得意なことが違っていること、また、組織規模の変化もあって、CTOの役割も自然と変わってきた感じですね。
東京に出てきた当初はエンジニアは全部で6~7人くらいで、そのときはやっぱり、技術的に先頭を走って引っ張っていくやり方がフィットしたんだと思うんです。
今はエンジニアだけで30名ぐらいになり、サービス数も増え、あらゆる分野でCTOがトップを走るのは困難になってきた。それよりも、各分野を掘り下げていくのは現場の若手に頑張ってもらって、CTOは全体を取りまとめたり方向付けをしたりと、足りないところを補完するような形にシフトしていっています。その中で、ポートフォリオというものも意識するようになってきたと。
もっとも、これからさらにエンジニアが増えて、50人、100人といった規模になったらまた変わっていくのかなと思いますけどね。
― CTOに求められる資質・素養とはなんでしょう?
1つには技術的な軸があること。分野はなんでもいいですが、「トップクラス」といえる部分を1つは持っているべきだと思います。
エンジニアたちを納得させなければならない機会が多い中で、何らかの実績がないと、言うことを聞いてもらえないですから。
加えて、その他の分野に関してもある程度のことは分かっていること。細かいテクニックは分からなくても、基礎的なレベルでは理解しているべきだと思います。
それこそ“最高技術責任者”というぐらいですから、ある程度知っておかないことには、責任もとれないですよね(笑)
― 確かにそうですね(笑)技術以外の面ではどうですか?スタートアップの場合は経営に対するコミットが自ずと大きくなると思いますが、はてなのように組織規模が大きくなると、CTOと経営との関わりはどう変わるものなのか。
企業ごとに社長のタイプなども違うので一概には言えませんが、理想的なのは新しいビジネスモデルなり既存ビジネスを大きくするようなサービスを作り出して、それに必要なエンジニアを揃えていくという関わり方かなと思っています。
はてなの場合は、経営陣に技術畑の人間はあまりいなくて、社長が少し分かるといった環境なんですね。そこで私の役割としては、現場のエンジニアの気持ちを代弁することと、その逆に、経営陣の期待をエンジニアに伝えていくことだと思っています。
ここでいう“エンジニアの気持ち”というのは、たとえば「専門職なので集中する時間や環境が必要」だとか、「情報収集などを目的に、同業他社のエンジニアともある程度自由にコミュニケーションを取りたい」だとか、そういうWEB系のエンジニアのカルチャーのこと。それを経営者にキチンと理解してもらって、大切に扱ってもらうことです。
一方、経営陣の期待をエンジニアに伝えるというのは、なぜそういう期待があるのかを背景からきちんと説明することですね。職業柄なのか、エンジニアはロジックとか仕組みを知りたがる傾向にあるので(笑)「なんでそうなったのか」という因果関係はきちんと説明するように意識しています。
(つづく)▼はてなCTO田中慎司氏へのインタビュー第2弾
組織で働くからこそ手にできる、エンジニアとしての強み―はてなCTO田中慎司氏に訊く
[取材] 梁取義宣 [文] 重久夏樹 [撮影] 上田恭平
編集 = CAREER HACK
4月から新社会人となるみなさんに、仕事にとって大切なこと、役立つ体験談などをお届けします。どんなに活躍している人もはじめはみんな新人。新たなスタートラインに立つ時、壁にぶつかったとき、ぜひこれらの記事を参考にしてみてください!
経営者たちの「現在に至るまでの困難=ハードシングス」をテーマにした連載特集。HARD THINGS STORY(リーダーたちの迷いと決断)と題し、経営者たちが経験したさまざまな壁、困難、そして試練に迫ります。
Notionナシでは生きられない!そんなNotionを愛する人々、チームのケースをお届け。