「クックパッドの開発の裏側見せます in 京都 vol.2(4/17)」レポート、というかメモ

クックパッドの開発の裏側見せます in 京都 vol.2(4/17)」に行ってきました。

http://atnd.org/events/3992

ハッシュタグ: #urapad
フォロー: @techlifecookpad


一番驚いたのは negipo さんにお会いできたことです。
ネットでしか知らない人ですが、お会いできるものなんですね。
(ちなみに、negipo さんを知っていた経緯が id:gamella さんのブログ経由という、ちょっと斜め方向からなんですけどねw)


以下それぞれの発表についてのメモです。

アグレッシブな社内ツールの作り方 (根岸義輝さん)

この話でのターゲットは、非エンジニアの使う社内ツールの話でした。


社内ツールを作る目的は、無駄な作業で人が死なないようにするということだそうです。
(「人が死ぬ」とは、忙しくて精神的に参るという意味だと思われます)


方法は2つ

(こういう議論で忘れがちなのがリテラシーなのかもしれません。リテラシーはあるように思っていて実はないもののような気がしました)


リテラシーの底上げは、教育。
具体的な方針は聞きませんでしたが、例を聞いた感じでは、教育は、気づいたはしから注意して、必要ならその情報を周知するというもののようです。


ツールを整えるというのは、ここではアドオンとか firebug のことを具体的に話していました。
まあ、人が死にやすくなるのはなにかトラブルがあったときなので、そのときの調査手法を確立しておくということなのだと思います。
(と書いていて気づいたのですが、これについてはうちの会社でも十分検討の余地がありますね。。トラブル調査はかなり人の能力に依存している状態です。)


そうしてリテラシーもツールもある程度揃うと、特に困らなくなってくるのだが、そこからは要注意らしいです。
困らないので誰にも相談することがなくなるため、実は効率が悪いということが表面に出なくなる。
そうすると、PDCAが回らず、技術が衰退する。


ちなみに、ツール開発で使う開発プロセス

  1. ペーパープロトタイプ(数時間)
  2. それに対して要望を上げてもらう
  3. 要望をまとめて、ツールを作る

というものだそうです。


おそらく、「数時間で評価可能なプロトタイプを作る」というスピードがミソなのだと思います。
技術者の技術力は発揮されるのはここなのだと思いました。


具体的な業務改善

  • 40h/manthの削減(など)

アグレッシブなクラウドの使い方(勝間亮さん)

クラウドを使っているところは、ログ解析のところ。
クックパッドでは、お客様の本当に求めているものを知るために、日頃の様々なアクセス履歴を参照している。
そのログの量は膨大なので、年間7000時間分もある。
(1日20時間分ということだから、これではログから得られる情報をフィードバックする余裕は無いということになる)
よって分散処理をすることを考えたということだそうです。


アクセス解析として、Google Analyticsを当初使っていたそうですが、一定以上のアクセスがある場合正しく動かなくなるそうで、自前で解析するようにしたとのことです。


あとの技術的な内容は、すみません、、私の知識不足でほとんど理解できませんでした。


ちなみに、EC2を使っているということですが、なぜ自社サーバーを使わないか?
(EC2は決して安くはないので、このような質問があった)
→自社でサーバーを増やすのに使う人件費の方が高いという試算があったからだそうだ。
ちなみに、初期は3台くらいで自社サーバーでHadoopなどを実験していたらしい。


Hadoopについては、ほとんどカスタマイズせず使っているそうです。(これも設定コスト削減のためなのかもしれません)
EC2の起動台数は最大で500台くらいだそうです。

新入社員からみたクックパッド(濱崎健吾さん)

入社して17日目の人が出て話すということでしたが、17日目とは思えないほどの技術力が垣間見えました。
さすがアグレッシヴに採用されただけのことはあると思いました。


インフラの話ですが、基本的に「サーバー/インフラを支える技術」という本に忠実は設計になっているそうです。

井原正博技術部長

開発をしたくてクックパッドへ転職したが、結局今やっていることは、オフィス作り、環境づくりなのだそうです。


今まで1フロアでやってきたが、今後フロアを増床して、エンジニアだけ集めるそうです。
社内では勉強会も盛んで、イベントもよく実施するそうです。


と、聞くと、なんだか結構うちの会社に似ていますね。
これから、どう成長していくのか気になります。


ちなみに、全員 MacBookPro を使っている理由は、「一番手に入れやすい、最高のUnix環境」だからだそうです。
なるほど、と思いました。

懇親会

negipoさんとお話しました。


お話では非エンジニア向けのツールの話だけでしたが、エンジニア向けのツールとかの話はないのでしょうか?
という質問をしたところ、ライブラリとか作っているとのことでした。
ただ、それは普通のことなので、発表では非エンジニア向けのツールの話をしたのだと思います。


非エンジニア向けの社内ツールというのも、全体最適化のためには考えるということですね。
参考になります。


社内ポータルサイトとしては、GoogleAppsを使っているとのことです。
そして、Wikiは使っていないそうです。
共有する情報というのは、共有することが目的のため、誰が見ているか分からない書き方ができてしまうWikiの形式はあまり望まれていないということなのかもしれません。
ちなみに、今はやっていないそうですが、はてなブックマークのスターみたいな仕組みはよさそうで、検討中なのだそうです。
というのも、そのスターの仕組みは、各メンバーが読んだかどうかを判断するのに使えるそうです。


あと、バグトラッキングのために Redmine など専用のツールを使うというあたりはうちの会社と似ていますね。


最後に。
色々参考にさせていただくことも多く、お話も面白く、楽しませていただきました。
クックパッドの皆様、セミナー開催ありがとうございました。