CTOが語るCookpadの企業文化
エンジニアの行動規範「Beyond the Boundaries」の大切さを説く

Beyond the Boundaries

Cookpad TechConf 2018
に開催
2018年2月10日、恵比寿ガーデンプレイスザ・ガーデンホールにて、「Cookpad TechConf 2018」が開催されました。Cookpadのエンジニアやデザイナーがどのようにサービス開発に取り組んでいるのか、またその過程で得た技術的知見について公開します。続いて登場したのは成田一生氏。「Beyond the Boundaries」と題して、

CTO成田氏とクックパッドの最初の出会い

成田一生氏(以下、成田):みなさんこんにちは。成田です。本日最後の発表となります。どうぞ最後までお付き合いください。

僕がこの基調講演を任されるにあたっていろいろ考えたんですけれど、僕とクックパッドの出会いって何なんだろう、というのをすごく考えたんですね。僕とクックパッドの出会いは、遡ってみると2002年のことでした。

2002年というのは今から16年前で、何のときなのかというと、このとき僕シェアハウスをしていました。これはシェアハウスの図です。

僕は当時高専生だったんですけど、家から学校が遠いので友達の家にシェアハウスさせてもらっていました。

その友達というのがなかなか偏食家で、毎日肉食ってるんですよ。近くに外食するお店がいくつかあったので、そこで彼は毎日ステーキを食べるか、ケンタッキーを食べるか、トンカツを食べる、という生活をしていました。

さすがにこれは、一緒に生活するうえで見過ごせないと思いました。ちゃんと健康的な食生活をこいつに送らせてあげないとやばいと僕は思ったんですよね。

そうすると料理するしかない。料理するしかないと決意したんですけれども、僕は料理したことなかったんです。したことなかったんだけど、とりあえず肉ばっか食ってるし、魚も食べさせてあげたほうがいいだろうと思った。

「俺魚買ってくるから、料理できたら食う?」と言ったら、「料理してくれるなら食うよ」と言ってくれたんですよ。じゃあチャレンジしてみようとなりました。

魚なんて買ってきて焼けばいいんでしょ、と思ったんですね。魚買ってきて、焼いたんですよ。何も見ずに。ノールックでノー知識で焼くとどうなるかというと、完全な炭を得ることになりました(笑)。

(会場笑)

「あ、これ見れば料理できるじゃん!」

炭になるとどうなるかというと、表面をめくって食べればいいのかというレベルではなくて本当に中までカチコチになってしまった。本当にショックでした。せっかくドヤ顔で買ってきた魚が完全なゴミになって、結局トンカツを食べに行くはめになって。

(会場笑)

「これはだいぶハードルが高いな。料理ってすげぇ大変なのでは!?」 と思ったんですね。当時2002年というと、もう16年前でまだスマホもなくて、ガラケーはあるけどインターネットをガラケーでする人はあんまりいない、くらいの時代だったんです。

当時もうクックパッドってあったんですね。これはインターネットアーカイブから探してきたんですけど、ありました。

すごく懐かしい画面です。僕はそのときにパソコンがあったのでインターネットでレシピを検索したんです。

そうするとクックパッドというサービスが出てきて、ここを見ると魚の焼き方から野菜炒めの作り方からいろいろ見つかったんです。「あ、これ見れば料理できるじゃん!」と思いました。

それで僕はレシピを見ながら勉強して料理ができるようになっていったんです。料理ができるようになっていくとけっこうおいしいものが作れるし、材料も安くすむし、健康で過ごせるし、友達もおいしいと言ってくれる。

「これ楽しいな」と思いました。料理がだんだん楽しくなってくるんですよ。最初は炭を発生させるためにやってたんだけど、すごく楽しくなってくる。

16年経った今、当時ただの学生だった僕が、今こうしてクックパッドを代表する技術の責任者としてここにいる。これはすごく幸せなことだと思っています。僕自身料理をすごく楽しんでいて、週末は必ず料理をしてますし、こうしてクックパッドにレシピをアップロードすることもやっています。

テクノロジーで、世界中の人たちの料理を楽しく

2018年、周りを見てみるとクックパッドは全世界を含めると約9000万人ほどのユーザーさんが毎月使ってくれています。これだけいると、僕がかつて経験したように、料理はぜんぜんできなかったけどクックパッドを経験してすごく料理が楽しくなったという人が、こうして僕が発表しているこの瞬間にも世界のどこかにいるんじゃないのかなと思うんです。

そういう体験をもっと世の中に増やしていきたいなというのが僕の想いです。僕は技術の責任者として、ちゃんと責任を持ってテクノロジーで料理の課題をもっと解決していかなきゃなと思っています。

クックパッドがそうやって世界中の人たちの料理を楽しみにしていくことができるようになってきているのはインターネットという技術があるからなんですね。

インターネットがないと、今までレシピというものは専門家が書いたレシピを本にして、それを一般の人が買って読んで料理をするとか、あとは親から引き継いだレシピをレシピカードにして子供が見るとか。

そういう限られたサイクルしかなかったのにクックパッドがその流れを変えて、インターネットで一般の人がアップロードしたレシピを見ることが、この20年で世の中にとって普通のことになった。それは本当に大きなことだと思っています。

インターネットの特性を理解して、これはレシピを公開するのにすごくいいフォーマットだということに気付いて、ちゃんと技術を駆使してきたことが今のクックパッドを築いているんだなぁと思っています。

そんなふうに今世の中にある技術をしっかり理解して、それを普通に使うというのが大事だなと思っています。普通に使うとは何なのかと言うと、技術を使っている状態が当たり前、最新の技術をあたかもあって当然のように使うということです。

技術って裏方なので、プロダクトがユーザーの課題を解決するところが主戦場なんですが、その裏側は技術が裏方として存在しているので、最前線で戦うためにはその裏方を完璧に使いこなすことが本当に必要だ、と理解しています。

2018年、クックパッドの技術スタッフの現状は?

2018年、クックパッドが今どういう技術スタッフで動いているかというのを、ご紹介したいと思います。みなさんご存知の方も多いかもしれませんが、2008年ごろから、もう10年くらい経ってるのか、我々はRuby on Railsを採用してサーバーサイドのアプリケーションを書いています。

それに加えて最近はGolangやRustといった言語をサーバーサイドのソフトウェア開発に用いるようになってきました。

とくにRustのほうは小林の発表にもあったかと思いますが、かなりハイパフォーマンスが要求されるようなものを安全に書くということに非常に向いているので、最近はこのRustに非常に注目しています。

それからスマートフォンアプリのNative開発では、去年、KotlinをGoogleが公式サポートするという発表を知ってすぐに意思決定をして、AndroidのNativeアプリの開発にはKotlinをメインに採用することを決めました。

クックパッドのAndroidアプリは、今はAndroid Javaで書いてあるんですけれど、それをKotlinに置き換えていくという意思決定です。なので順次Kotlinに置き換えていこうと考えています。

それからNativeアプリをReact Nativeを使って開発するという事例も最近増えてきていて。これは主にプロトタイピング向けですね。うちの会社はプロトタイピングを非常に重要視しています。

まず小さなプロダクトを作って、それをユーザーさんに使ってみてもらい、そのフィードバックを反映させてまた改善していく、というサイクルをいかに早く回すかがプロダクト開発の中では非常に重要です。

それを始めるためにReact Nativeは非常に向いていると考えています。加えて村本の発表にあったようにサーバレスアーキテクチャを実践するためにFirebaseを採用するケースも出てきています。

我々のサーバーサイドの話ですけれど、最近はサーバーサイドのソフトウェアは全部Dockerで動かすようにしていて。DockerはAWSのECSというマネージドなDockerサービスを使っています。

そのDockerのデプロイには我々が開発しているHakoというデプロイメントツールを使っていて、本番も開発環境も同じようにこのHakoというデプロイメントツールでセットアップしています。

自分たちの使用言語を持続可能にするのは企業の責任

クックパッドはRubyという言語自体にもコントリビュートをしています。去年遠藤さんが新しくフルタイムのRuby開発者としてクックパッドにジョインしてくださいました。これでクックパッドでフルタイムのRubyコミッターは2人目となります。

笹田さんに聞いてみたら、「フルタイムのRubyコミッターが席を2つ並べて開発しているのは世界で初めてです」と言ってたのでたぶん本当だと思うんですけど(笑)。そういう状況になっています。

去年リリースされたRuby2.5にもこの2人の貢献が非常に大きく入っています。それから次の大きなRubyのマイルストーンであるRuby3にもこの2人が非常に重要な部分の実装に携わっています。

このように自分たちでヘビーに使っているRubyという言語を、今後も持続可能にしていくことは、企業の責任としてやらなくちゃいけないと考えています。

例えばRubyが今後誰も開発しない、アップデートされないような言語になっていってしまうと、今Rubyの上で動いているクックパッドという大きなサービスを維持していくのが難しくなっていくんですね。

Rubyはオープンソースで無料で使えるんですけれど、無料で使えるからといってただ使うわけじゃなくて、ちゃんとコミュニティに還元をするということを心がけています。

Beyond the Boundaries(境界を超える)

次にクックパッドのエンジニアの企業文化についてお話したいと思います。ここでキーノートのタイトルにもありますBeyond the Boundariesというキーワードを挙げます。去年2017年から、クックパッドのエンジニアたちの行動規範をBeyond the Boundariesという名前で掲げています。

Boundariesというのが何かというと、知らず知らずのうちにエンジニアの働き方の中で「自分にはそれはできないよな」とか「これって自分の仕事じゃないからやらなくていいよね」とか、そういう意識が芽生えてしまう。そういうものを境界(Boundaries)と呼んでいて、これをちゃんと認識して超えていこうね、ということを行動規範にしています。

これは去年から言い始めたことで、自分の役割をもっと広く捉えることで自分が何をすべきかをちゃんと広く捉えて、組織全体がうまく動くようにしていこう、ということをこの言葉にしています。

こういうことを言い始めたきっかけは、我々は新卒採用とか中途採用を積極的にやっていて、新しい人がどんどん入ってきているんですね。そうやっていくなかで会社が大きくなっていくとどうしても起こるんですけど、役割がどんどん特化していくんです。

例えば僕が入社したときは2010年なんですが、当時エンジニアが15、16人くらいしかいなくて、1人でやらなきゃいけないことがすごくたくさんあるんですよ。サーバーも見なきゃいけないし、Railsのコードも書かなきゃいけないし、サポートの問い合わせの担当もしなくちゃいけない。

(それらを)全部やらなきゃいけなかったんですけど、これだけ採用が進んでプロダクトもどんどん成長してくると、例えば機械学習のエンジニアとかSREのエンジニアとか、そういう役割に特化した働き方ができるようになってくる。

それによって役割がだいぶ細分化していって、自分の隣の役割については「正直あんまりやらなくても会社って回っていくよな」と言ってしまうんですね。

僕は会社の成長をずっと見てきて、その流れになんとか逆行したいなと思っていました。もっとみんな流動的に働くような、役割を飛び越えてもっとおせっかいに働くような組織にしていきたいと考えていたんです。これが若いエンジニアの育成にとって本当に重要だなと考えています。

新卒エンジニアが成長して活躍する環境をつくる

若者の話が出たと思うんですけど、今日の発表者を振り返ってみると新卒1年目が3人、新卒2年目が1人なんですね。

Twitterの反応とかを見てると「新卒なのにみんなしっかりしてる」みたいなことを会場のみなさんが言ってくださっているのを見てすごく安心したんですけれど、こいつらは本当にしっかりしてる(笑)。

この場を新卒の教育に使おうとか、若者にどんどん発表させようとか、そういう目論見で若者だけを選んだわけじゃなくて、2017年に成果を出した人や、外に言えるような大きな開発をした人をどんどんピックアップしていくと自然とこういうラインナップになりました。

というように、若くて優秀な人がどんどん入ってきて、どんどん成長できる環境を作れてきているんじゃないかなと思っています。

発表者だけじゃなくて、例えば去年はAmazon Echoが日本でローンチされたと思うんですけど、ローンチ時にクックパッドのAlexaスキルというものがリリースされてます。これは新卒2年目の山田というエンジニアが1人で開発してリリースしています。

このような新卒エンジニアでもどんどんプロダクトを作って企業に貢献できるような状況を作っている裏側として、テックリード制度というものをご紹介したいと思います。

テックリード制度も去年始めたんですけど、エンジニアは今国内だけで100人くらいいるんですね。100人くらいいて、僕はCTOとして全エンジニアに目をかけていたいんです。

だけど100人を一人ひとり面談してたら1年終わっちゃうので、無理なんですね。無理なのでどうするのかを考えたときに、僕のような人をいっぱい増やせばいいなと思ったんです。

それがこのテックリードで、各部署ごとにミニCTO的にテックリードというエンジニアを配置します。責任範囲を決めて、テックリードに任命されたエンジニアが、その部署の中の技術やメンバーの成長に責任を持つ。

CTOとしてはテックリードたちとコミュニケーションを取って、組織をどうしていくべきか、技術をどうしていくか、ということができればいいなと考えています。去年このテックリード制度を始めて、かなり状況が改善したと僕は考えています。本当にこれはやってよかった。

ハッカソンで技術の境界を超える

さっき話したとおり、役割が細分化していくんですね。役割が細分化していくと、自分が触ったことのない技術がどんどん増えていきます。例えばMLのエンジニアはAWSをそんなに触らなくてもよくなったりする。自動化が進んで触らなくてよくなった領域が、どんどん増えてくるんです。

そうすると、昔はもっといろんなものに触れる機会があったのに、その機会がなくなっていくという危惧があって。僕はそれが本当に心配なので、最近Hackaradeという、全エンジニアが参加するハッカソンを社内で始めています。

去年3回やったんですけど、1回目はRubyインタプリタ開発をやりました。うちは偶然Rubyのコミッターがいっぱいいるので、RubyのコミッターたちにRubyのコミットの仕方を教えてもらう。Rubyを書くんじゃなくて、C言語なんですけど。

Rubyのインタプリタのバグ修正とかを拾ってもらって、みんなでわけもわからずとにかくやる(笑)。そんな感じで、まったく自分の専門外の難しいことを1日かけて必死でやろうという企画です。

第2回は全員でディープラーニングをやってみようとなりました。触ったことのない人も、「うちのエンジニアは全員ディープラーニングやったことあります」という状態にする。3回目は社内でチームを組んで、社内ISUCONをやりました。これはかなり評判がいい。

料理動画投稿者の3本目の手、cookpad studio登場

クックパッドは毎日の料理を楽しみにするというミッションを掲げていて、僕もそれをテクノロジーでサポートするところに責任を持っています。

「毎日の料理を楽しみにする」という言葉は、料理が楽しみでない人を楽しみにするという意味合いがけっこう強いんですが、もう1つの役割として、今料理を楽しんでいる人がもっと料理に対してエキサイティングになれるようなことをクックパッドで実現したいなと考えています。

そのうちの1つが去年リリースできたものなんですけれども。(動画を流す)これを見ていただくと、これは一見普通の料理動画なんですけど、よく見てください。

わかりますか? これ僕の手なんですね。

(会場笑)

わかるか! って感じですよね(笑)。これは実は僕のレシピなんですよ。僕が上げた山椒たっぷり麻婆豆腐。

「花椒じゃねぇのか」と思った人はちょっと黙っててください。

(会場笑)

山椒なら誰でも買えるので。僕のこのレシピを見ると、この料理動画が埋まってるんですよ。これは僕が撮影したものです。

どういう仕組みなのかというと、これです。cookpad studioというものを去年オープンしました。代官山に第1店舗目があるんですけども、今後も順次展開していきます。

料理動画を撮ったことある人ってあんまりいないと思うんですけど、フライパン持つじゃないですか。おたま持つじゃないですか。カメラ持てないんですね。料理動画撮るのって、手がもう1本いるんですよ。というのが深刻な問題としてありました。

やっぱりクックパッドってレシピを投稿する場所なんですね。レシピを投稿する場所なので、料理動画のプラットフォームとしても投稿型の料理動画をやりたいんです。だけど手が1本足りないんです。最後の1本の手を我々はスタジオというかたちで実装しました。

これをやることによって本当に簡単に撮れる。僕も行って自分で撮ってみて、本当に簡単だしやってみるとすごく楽しいんですよ。「こんなにきれいに簡単に撮れるんだ。だったらもう1回やりたい」となれるすごくおもしろい場です。これはレシピ投稿者なら誰でも無料で利用できるので、みなさんもぜひご利用ください。

去年我々はグローバル展開の新しい拠点としてBristolオフィスをオープンしました。Bristolってどこ? ここです。ロンドンの西のほうですね。

Bristolの写真を送ってくれとBristolのスタッフに言って送ってもらったので、こういう感じです。

キッチンがあって、家みたいな箱があってこの中で開発ができたりとか。こういうダイバーシティな環境でみなさん働いています。

すでに渡辺の発表であったと思うんですけれども、クックパッドの海外向けアプリはこのBristolを拠点として開発しています。 Bristolのオフィスには今だいたい40人から50人くらいのスタッフがいて、そこでこのように開発をしています。

クックパッドは食と料理の問題に立ち向かう

クックパッドはレシピを検索するサービスというイメージが強いかもしれませんが、レシピの検索で解決できる一番大きな問題は、「今日何作ろう?」なんですね。冷蔵庫にもやしがあるんだけど、家帰って何作ろうか。もやしで検索してみるか、ということでレシピを検索する、というものには応えられていると思います。

もっと広く考えると、僕ら毎日の料理を楽しみにしたい。社会問題として思考を広く考えてみると、食と料理の課題ってすごくたくさん根深い問題があるんですね。

そもそも料理する人って世の中に増えてると思いますか? どんどん減っていってるんじゃないかなと思うし、実際減っていってるんですよ。なんで減っているのかを一つひとつ言語化していって、我々はこのように分析しています。

そもそもやる機会がなぜないのか? 「外で簡単に食べれるじゃん」とか「時間ないんですよ」とか、「やる方法わかんないんですよ」とか。というのを分析していくとすごくある。すごくあって…….

すごくある。

これは以前僕らがマップした、食と料理にまつわる社会課題マップです。まだ未解決の食の問題はめちゃくちゃあるし、ほっとくと世の中はもっとダメになっていく。

クックパッドはなんとかここに立ち向かいたい。だけど、まだ僕らはプロダクトでここに立ち向かえている領域って本当にちょっとしかない。なのでもっと開発したい。

我々はエンジニアとデザイナーを本当に積極的に募集していて、食と料理の課題解決に立ち向かう人、本当に興味がある方はぜひ応募していただけると助かります。

本日はご来場どうもありがとうございました。

(会場拍手)

Occurred on , Published at

ブックマークして続きの記事の通知を受け取ろう!

この話をシェアしよう!

このログの連載記事

1 CTOが語るCookpadの企業文化 エンジニアの行動規範「Beyond the Boundaries」の大切さを説く

スピーカーをフォローして通知を受け取ろう!

関連タグ

人気ログ

ピックアップ

編集部のオススメ

ログミーTechをフォローして最新情報をチェックしよう!

人気ログ

ピックアップ

編集部のオススメ

そのイベント、ログしないなんて
もったいない!

苦労して企画や集客したイベント「その場限りに」になっていませんか?