加藤氏が考える、CTOの役割とは
段階によってCTOの役割は変わる
CTOといっても、かなり広い意味の職種だと思っていて、例えば2人で立ち上げた小さなベンチャーから、300人、400人、1000人以上の企業のCTOではそれぞれ役割が違うと思うんですよね。
前者のCTOはどちらかというと自分で手を動かしてプログラミングをしていって、サービスをつくっていくというかたちなので、サービスの意識がありつつ、実際にプログラミングの部分ができなければいけないというスキルが必要になってきます。
10人以上の会社であれば、そこからまた人が増えていって、マネジメントという観点も必要になってくるので、そのサービスの観点とプログラミングのスキルに加えて、マネジメントのところも必要になってきます。
100名以上になってくるとまた状況が変わってきて、今度はプログラミングが徐々にできないような体制になってくると思います。なので、どちらかというとマネジメントの部分に重きを置くようなCTOというところで、人も組織の作り方だったり、あとは開発の方向性を決めるようなことがスキルとして求められるのではないかと感じています。
私が入社したタイミングでは300名弱だったため、プログラミングのスキルが必要というよりは開発全体のところのディレクションを決めるというところと、組織作りやマネジメントのところに重きを置いたCTOが求められていました。
印象深いエピソード
1つ困ったエピソードとしてあるのは、ジョインする前には開発の優先順位を決めるということができていなかったことです。
求められたシステムをつくっていくということは非常によくできていたんですが、本当に必要なものをつくって、必要ないものを後回しにするということはできていなかったので、そこに対しての解決策として開発の優先順位を社員だれでも見えるように透明性を持たせることにしました。
優先順位もROI(return on investment)をベースに誰もが納得感のある優先順位にしていって、開発者が優先順位の高いものから順番にやっていけば間違いないんだという状況を作ったので、開発を依頼する側も、開発を受ける側も、気持ちよく仕事ができるような環境を作っていきました。
1つはROIというものもあるんですが、事業によってはROIのその規模は違います。
既存のビジネスはやはりROIが大きなものになって、新規のビジネスというのはROIが小さくなってしまいがちなので、そこはテーマごとにどのくらいの割合で開発リソースを分けていくのかを意識してやっています。
CTOに興味がある方へ
とにかく、やる気がないとできないと思っています。
CTOというのはその会社でたった1人のポジションなので、責任をもってやり切れるというところと、自分でビジョンを作っていかなければいけないので、そのビジョンを作れる経験をエンジニアのうちに作っていくのが大事だと思っています。
あとは、サービスを見ていかなければいけないので、絶対的にエンジニアリングだけをやり続けるのではなくて、多方面の視野を手に入れるためにエンジニア以外の仕事をぜひやってみてほしいです。
スターフェスティバル・加藤彰宏CTOが語る、デリバリー型社員食堂「シャショクル」が生まれた背景【前編】はこちら
<PR>その税理士報酬適正ですか?何人でも税理士無料紹介「税理士ドットコム」