CTO の成田(@mirakui)です。 クックパッドはいま、2017年からの10年間を投資フェーズとして位置づけていて、ミッションである「毎日の料理を楽しみにする」を実現するため、長期的に成長していけるための事業づくり、組織づくりに投資をしています。
クックパッドは価値のあるプロダクトをユーザに届け続けることが事業の中心にあり、そのためにはエンジニアの活躍が不可欠です。クックパッドにおけるエンジニアというのは、単なる「実装担当」ではなく、自発的に課題を発見し、一人ひとりの専門性や創意工夫をもって開発をしていくことが求められます。強い個人が集まって、それぞれの能力のうちの高い部分をお互いに引き立て合って、一人ひとりでは解決できないような大きな課題に取り組めるようになる。私は CTO として、クックパッドのエンジニア組織をそのように強化していきたいと考えてきました。
エンジニアリングにおいては、エンジニアの人数を増やしていくことが組織の生産性をあげるかというと、私はそうではありません。エンジニア10人の組織と100人の組織とでは、プロダクトの品質という意味では差が出てくるかとは思いますが、突破できる事業課題の大きさにはあまり人数は関係ないのではないかと考えています。それよりも一人ひとりが重要な課題に取り組めているかどうかが重要です。平均的な100人よりは精鋭の10人の組織でありたいですし、少数精鋭の10人が集まった100人の組織でありたいと考えています。そういったエンジニア組織を目指すため、チームワークによる生産性を目指すよりも先に、個々人の能力、リーダーシップを高めることを重要視しています。
私は今年、一人ひとりが自律的で卓越したエンジニアの集団を目指すために、クックパッドのエンジニアとしてのあるべき考え方・文化を言語化した「エンジニアリングマニフェスト」を制定しました。実はマニフェスト自体は以前から存在していたのですが、これからの成長を見据えて、新しい言葉で置き換えることにしました。それぞれ日本語と英語の表記を用意し、これを日本だけでなく海外のエンジニア組織も含めて統一しています。
クックパッドのエンジニアリングマニフェストは、次の3項目からなります。
- 境界を越える (Beyond boundaries): 私たちは一人ひとりが高いリーダーシップを持った個人になるために、自分の能力の限界や、責任範囲に対する思い込みを乗り越えて成長していくエンジニアを目指します。
- 技術を楽しむことに責任を持つ (Responsible for enjoying technology): 私たちは一人ひとりが技術を楽しむ集団であることを目指します。困難な状況であっても、常に技術的な挑戦の機会を諦めません。一人ひとりに技術を楽しんでいる自分を目指す責任があります。
- 作ったもので語る (Speak with what you make): 私たちは動くものをすばやく生み出せる存在として価値を発揮します。また、作ったものを実際に触れることで得られる気づきを尊重します。
以下、それぞれについて解説します。
1. 境界を越える (Beyond boundaries)
「境界を越える」は最もクックパッドのエンジニアらしさを表す言葉だと考えています。これは、知らず知らずのうちに自ら作り出している「境界」を見つけ出し、それを乗り越えていこう、ということを意味しています。境界は、例えば自分の能力の限界や、所属している部署の役割、自分の役職に与えられている裁量だったりします。
たとえばエンジニアが一人しかいないスタートアップであれば、その人はコーディングだけでなくさまざまな領域をカバーしなければなりません。しかし組織が大きくなると役割は細分化され、自分の限られた領域の仕事をしていれば済むようになります。その場合たとえ組織の人数が増えても、ただ役割を細分化していくのでは、本当の意味で課題に立ち向かう人数は増えていないということになりかねません。 自分の役割にとらわれずに、スタートアップの一人エンジニアのような責任感や柔軟さ、視座をもって立ち回れることは、クックパッドのエンジニアとしての大きな強みになると考えています。
2. 技術を楽しむことに責任を持つ (Responsible for enjoying technology)
二つ目として、私のエンジニアとしてのスタンスを最も表した言葉を選びました。
私たちの会社のミッションは「毎日の料理を楽しみにする」であり、「楽しみ」というものが生み出すエネルギーの大きさを信じています。世の中の技術は常に新しくなっていきます。新しい技術が登場してはコモディティ化し、エンジニアに求められる知識も日々変化しています。エンジニアの仕事というのは、そのような時代の流れのなかで常に技術の引き出しを新しくしながら磨いていく必要があります。どんなことでも、頼まれた仕事だから仕方なくやってる人は、楽しくて仕方が無いからやっている人には勝てません。
技術の学習についても同じで、これはどうやって動いてるんだろう、とか、この仕組みをもっと知りたい、とか。こんなことを出来る技術はあるのかな、とか。クックパッドのエンジニアには、こういった好奇心、技術的興味といったものを膨らませて、技術を楽しんで欲しい。
私はさらにこれを「楽しむことに責任を持つ」という強い言葉で結びました。これは、楽しんでいないのだとしたら、楽しんでる自分に持っていくことをそれぞれの責任でやってほしいという願いが込められています。誰かにそうしてもらうのではなく。
私はクックパッドで十年以上勤めてきたなかで、多くの卓越したエンジニアの方々と働く機会に恵まれました。卓越したエンジニアは、特にこの「技術を楽しむ」ということに長けています。忙しい業務のなかでも技術的なチャレンジをうまく入れ込んできます。日々の開発や技術の研鑽を「仕事だからやっている」から「楽しいからやっている」になれたとき、エンジニアとして次のレベルに成長できると考えています。
3. 作ったもので語る (Speak with what you make)
プロダクト開発では、初手から完成品を作るのではなく、まずは小さく価値を表現できる MVP を開発して検証する、というのはすでに世の中の当たり前になってきています。動くものを作り出せるというのは、エンジニアの強みどころか、存在理由でさえあると私は考えています。だからこそ、エンジニアがアイデアを表現する手段は、言葉よりもコードであってほしい。「こういうものがあったら良いよね」ではなく、「こういうものを作ってみたんだけどどうかな」という会話であるべきです。
私はクックパッドで働いてきて、サービス開発のプロセスは探索的であり、10個作って10個捨てることの繰り返しであると学びました。本当に優れたプロダクトを目指しているとき、比類無き一手を生み出せないくらいなら、一手も進めない方がマシだからです。打席に立つ回数や質を上げていくには、エンジニア一人ひとりが「作ったもので語る」ことが当たり前な文化があれば、より確度の高い一手に近づくことができるはずで、それによって未来を変えていけると私は信じています。
おわりに
クックパッドのエンジニア組織は、一人ひとりが卓越したエンジニアとなり、個人の能力の掛け合わせによって大きな事業課題を解決していくことを目指します。そのために重要と考える3つの要素を「エンジニアリングマニフェスト」として言語化し、これからのクックパッドのエンジニア文化としていきます。