kenju's blog

About Programming and Mathematics

『Cookpad の広告配信を支えるアーキテクチャ』という題でLOB Tech Night 第2弾にて話してきました

LOB Tech Night - 管理画面の裏側ぶっちゃけます ( https://lob.connpass.com/event/100491/ ) というイベントで、『Cookpad の広告配信を支えるアーキテクチャ』というタイトルで話してきました。

LOB の中の人から依頼があり、フロント寄りで話をしてほしいということだったので、弊社で開発している広告配信用の JavaScript SDK だったり、管理画面を開発する裏側のドメインロジックや設計について話しました。今回作った資料は、Cookpad における広告の入稿から配信までの基礎中の基礎を学べるドキュメントに仕上がったと思ったので、自分の広告チームの Onboarding 資料の一部にも追加しました。

また、「レガシーアーキテクチャとの戦い方」と「その中でも技術的チャレンジを盛り込んでいくための工夫」についても話しました。最近若手メンバーが増えてきたこともあって、彼ら・彼女たちへの一種メッセージを込めた気持ちもあります。

レガシーアーキテクチャは、誰もわからない謎の Modules が存在したり、思いもよらない所に依存関係があってちょっとした変更が仇となったりと大変なことばかりかもしれませんが、実は志願して Cookpad の広告配信を任せてもらっています。というのも、リアーキテクチャリファクタリングには様々な技法が存在し、レガシーアーキテクチャに対して、開発速度と品質を落とさずに、技術的チャレンジを盛り込んでいきながら、更にサービスを成長させていくという営みは、非常に野心的で、工夫や広い知識体系とコードリーディング力が求められるからです。

(ちなみに、広告配信の全サービスがレガシーなわけではなく、リアルタイムログ基盤や新しい配信アルゴリズムなど最近作ってきたものもあるので、新規開発とバランスよく開発できています)

したがって、メンバーには前向きに日々の開発にあたってもらいたいので、この一年で自分が心がけてきたスタンスや工夫について盛り込んだということです。