7年間のCTO人生を振り返ってみる

2015年8月、株式会社ビズリーチにおいてCTOから事業責任者へと職務が変わり、もうすぐ半年が経過しようとしているところですが、一度、7年弱に渡るCTO人生を振り返ってみようかと思います。

CTOとは何をする人ぞ

CTOとはChief Technology Officerの略。最高技術責任者とも言われます。AWSさんや、TechCrunchさんなどが主催する、CTOを集めるイベントに参加させて貰うと、たくさんのCTOの方とお話する機会もあり、時々、CTOの役割って何なんでしょうね?なんていう話になることがあります。お話を聞くと千差万別、まだ役割が完全に決まっていないくらい、歴史の浅い役割であるということと、結局はトップの一人なので、最終的にはその人ができる限界値が役割になっているのだと思うのですが、ひとつのケーススタディということで、僕がやってきたことを綴ってみようと思います。

サービスの立ち上げ時期(2008年〜2009年)

最初はとにかく「作る」。作るために必要なことは全部やる。もちろん、助けてくれる人がいれば、そこは任せてあと全部。そうやって残った仕事はなんだったかな?というのをつらつら書いてみると

今だとGithubやCIサービス、TwitterのBootstrapなどもあって、色々はしょれると思いますが、この当時はOSSも含めて選べるほどは無かったので、そこのお手製が何より大変だった印象が残ってます。今は本当に便利で素晴らしい世の中だと思います。

何せ2ヶ月で総画面数150(求職者側、企業側、管理側と3アプリケーション必要だったため)にも上る開発作業で、かつOSSもIaaSもまだリッチじゃない状況だったので、基盤を作るのに1ヶ月、アプリケーションを作るのに1ヶ月、という時間配分でやっていました。この頃、僕自身はJavaとPHPが比較的得意な言語だったので、将来このサービスがエンタープライズ的な発展を見せる可能性があることと、日本における採用容易性(この時すでにPHPやRubyのエンジニアの平均給与額が高騰していた、Javaエンジニアの数は日本においてかなり多かった)を考えて、Javaを選びました。もう少し時間があれば、この時AWSや、Ruby on Railsを採用してみたかったな、というエンジニア的な「やってみたい欲」はありましたが、現実を見て判断し、結局、言語はJava、インフラはさくらインターネットさんの専用サーバを借りてスタートを切りました。

僕のようなスタートを切ったCTOにおいて、今振り返って大切だったなと思うスキルはこんな感じでしょうか

心技体、そして経営者と対等のスピードで会話が成り立てばバッチリな気がします。他にもユーザー視点とか、センスとか、あれば良いものは色々ありそうですが、場合によっては他の人で代替が出来る可能性もあるので、最初のエンジニアとして必要なのは、このあたりの力だったのかな?と思います。

会社が100人くらいまで成長する過程(2010年〜2013年)

人が増えて行く時に絶対的に必要になるのがマネジメント力。人間というのは感情で動いてしまう生き物なので、人が増えると、とにかくヒューマンマネージが必要になってきます。開発チームが大きくなるとプロジェクトマネジメントも求められます。CTOが積極的に事業やP/Lに関与する場合はプロダクトマネジメントも要求されます。このタイミングは、最初に要求されたCTO像と全く異なるのがなんとも言えないところで、様々なベンチャー企業のお話を伺っていると、ここで大きな壁にぶつかっている方も多くいらっしゃるようです。実際、そりゃそうだと思うくらい求められるものが違うので、しょうがないですよね。

どんな天才エンジニアでも、一人でPDCAを回しながら開発出来る量には限界があります。結構腕のあるエンジニア10人を束ねて開発していったほうが、やはりサービスの改善スピードは上がります。

では、そうやって成長するまでの過程にどんな壁があったか、昔を思い出しながらつらつら書いてみたいと思います。

こんなところでしょうか。一番辛いところは、どうしてもコードを書き続けることが難しくなってきます。これはサービスの成長というよりも、組織が大きくなればなるほど難しくなるのだと思っていて、少人数でそれなりに大きなサービスをやっている場合、同じ問題にはぶつからないかもしれません。しかし、組織の成長を考えると、自分がやっていた楽しい仕事を誰かに受け渡し、あんまりやりたく無かったけど、やることで会社が成長できることを手にとっていかなければならないというのは、てっぺんにいる人間の使命でもあるので、自分自身がCTOではありましたが、気持ちは常に代表取締役社長のつもりで何をすべきか、は考えていたように思います。

もう一つの難しさは、今まで基本ロジックに従順なプログラミングという世界で生きていたので、ロジックよりも感情が先に立つ人間を扱うという仕事は思考回路的にも真反対を向きます。不慣れでもあります。僕は、マネジメントに関する勉強もしましたが、何より、哲学、宗教学、脳神経科学を勉強することで、人というものを知る努力をしました。対人が苦手なエンジニアは多いと思いますが、人間というものを一度勉強してみると面白いと思います。自己評価で恐縮ですが、僕はこの期間を通して、僕自身、より人間らしくなれたのではないかと思っています。

会社が300人くらいまで成長する過程(2013年〜2014年)

組織が200–300人くらいのフェーズを迎えると、取締役、部長、マネージャー、スタッフくらいの4階層以上に分かれて来ます。そうならなければ一人一人をケアすることはもう不可能なレベルに達します。こうなると、取締役CTOというポジションの人間は、スタッフからはかなり遠い存在になります。スタッフから見た時、マネージャーはよく接するでしょうし、ちょっと大きな問題があったら部長に話す機会はあるでしょう。しかし、その上ともなるとよっぽどのことが無い限り、仕事で業務を共にする機会が無いスタッフの方が圧倒的多数になります。

こうなると、何気なく言った一言、ちょっとした振る舞い、色々なもので人間性の全てを判断されていくことになります。そして、ひとつひとつの言動に対しての重みが増してしまうが故に、下手に現場を混乱させてしまう事件も発生します。

このフェーズで特に意識したことはこんなことでした。

特に、組織の断絶が起こらないように気をつけたのは、今でも良かったなと思います。大きな組織になっていく中で、営業組織と開発組織は断絶しやすいというのは、色々な会社を見てきて思うところにあります。お互いが理解し辛いということだったり、大切にしているものが違ったり、そういうもので表面的に離れやすく、対立しやすい組織でもあると思いますが、深くお互いを知ることで、防げる部分も多くあると思います。ここは、今でも組織を任せた仲間に、大切にして欲しい部分でもあります。

会社がさらに大きくなる時期(2015年以降)

300人以上は心持ち的に大きく変わる部分はありませんが、僕自身の経験上今気をつけていることも含めて、異なる部分を少し書いてみたいと思います。

最後はもはやCTOとか関係無くなってますが、事業を任せる立場になっていくと、数字と状況を見て大きな判断をする方が役割としては大切になってきます。

今までも、ここから先も、自分の器以上には大きなコトは成し得ないし、大きな組織も率いることは出来ないと思っています。今の自分の限界が今の組織と事業であり、この限界を超えた時に、少し大きな組織と事業になっていると信じて、これからも自己研鑽をし続けて参ります。

CTOでは無くなりましたが、CTOの魂を持って、さらに前へ進んで参りたいと思いますので、今後ともよろしくお願い致します。

http://www.facebook.com/shin.takeuchi