『事業をエンジニアリングする技術者たち』
https://gyazo.com/eea82b71f1c45009795f2afb503ec088
2022/8/8
第1章 fluct ― 広告配信の舞台裏の技術者たち
インタビューのメンバー
あじよし
広告配信サーバー書いてる
元々オンプレでやってたが途中でクラウドに移行した
devとopsも一緒にし、SREチームも作らない
なんか具体的な技術の変遷のような話が多いな
「事業をエンジニアリングする」というタイトルだから、もっとエンジニアがビジネスに首を突っ込んでいく、みたいな話を期待していたがちょっと違いそうmrsekut.icon
途中で入ったすずけんさんが、コードの汚さにびっくりし、カッとなってパッチを投げまくった
良い話だ
自分の問題意識としては、現状のコードだと新卒で入ってくる人に仕事を任せられないな、というのもありました。だから、まずは新卒を配属できるきれいさのコードにしようと。 p.26
気づいたらGoに
それから
第2章 Zucks ― フルサイクル開発者の文化
アドネットワークとしてのZucks
DSP開始
Zucksのエンジニア文化
ドキュメントがまったく存在しないシステム
新しくジョインしたら初日に機能をリリースする
重要なのは切り戻しできるかどうか
チームの文化はスケールできるのか
広告業界の変化に向き合う
それから
第3章 VOYAGE MARKETING ― 20年級大規模レガシーシステムとの戦い
VOYAGE MARKETINGとECナビ
2015年、レガシーシステムと戦う決意をする
まず淡々と現状把握
現状把握から、レガシー攻略の大戦略を立てる
オンプレ前提で組まれたシステムをクラウドに移行するには
葬りで、問題の分母を減らす
本丸の業務アプリケーションを攻略
レガシーシステムといい感じに付き合うスキル
それから
第4章 VOYAGE Lighthouse Studio ― 数十万記事のメディアをゼロから立ち上げる
競合が多い「ゲーム攻略」のウェブメディア
ユーザーを待たせないため、静的サイトジェネレータから作る
丁寧な記事が成長の最初のきっかけ
増加したビルド負荷緩和としてのMarkdownエディタ開発
予測して準備できないトラフィック
ビルド負荷問題、再燃
動的なコンテンツに対応する
APIサーバーはGAEとGoで開発
開発即戦力の参加
業界最大手へ向けたアーキテクチャの見直し
システムがもたらす制約をいかに減らすか
それから
第5章 サポーターズ ― 事業の成長を止めない手段としてのシステム刷新
BtoBとBtoCの両面をもつ事業を支えるシステム
既存システムを修正するべきか、ゼロから作り直すべきか
ビジネスと開発の距離を縮める
小さく作り出す
ゼロから作り直すという判断をめぐって
新システムを育てていく
システムだけじゃなくて組織も再定義した
オフィス統合がもたらしたさらなる変化
組織としてもサポーターズに合流
「全員、やればできる」体制
依存ライブラリは週一で上げる
事業の成長スピードを止めないシステムへ
それから
第6章 データサイエンス ― エンジニアによるビジネスのための機械学習
なぜアドテクでデータサイエンスをやるか
データサイエンスのきっかけ(エンジニアとして)
データサイエンスのきっかけ(Zucksとして)
データを活用できるようにし続ける
広告配信で機械学習は「やっていて当たり前」
アドネットワークでクリック率を予測してもうれしくなかった
DSPの開始でもたらされた機械学習のビジネスインパクト
データサイエンスからビジネスのやり方を変える提案が生まれる
ファーストプライスオークションとセカンドプライスオークション
データサイエンスの面白さ
理論だけではうまくいかない
エンジニアがデータサイエンスをやる強み
これから
それから
第7章 テレシー ― テレビCMをDXする
「何か新しい事業を始めよう」
取捨選択をして、やらなくていい作業はやらない
リモートの新規プロジェクトをどう進めたか
レポートで困る
データサイエンティスト参戦
締切月をどう乗り越えたか
軌道にのせる
第8章 基幹システム統合プロジェクト ― ICT本部
2つの会社、2つの基幹システム
2つの会社、2つのキャラクター
ポテンヒットを拾う人がいなかった
2つの会社、2つの文化
新しい文化を作っていくタイミングが今
補足解説
アドテクノロジーの変遷
オンプレミスかクラウドか
VOYAGE GROUPの「グレード」と「技術力評価会」
インプレッションとそのカウント方式
SREに対する考え方
リファクタリングと作り直しの違い
オブザーバビリティ
広告におけるプライバシーの課題
アドテクノロジー業界でよく使われる用語
MVP(Minimum Viable Product)
フルサイクル開発者とは
Zucksのシステム構成
XPとケント・ベック
2025年の崖
リバースエンジニアリングが「お花畑」に
技術的負債とレガシーシステム
IaC(Infrastructure as Code)
PHP OPcacheによる葬り無双
葬り無双の効果
SEO(Search Engine Optimization、検索エンジン最適化)
静的サイトジェネレータによる構成
CMSと静的サイトジェネレータ
AWS CodeBuild による記事の並列ビルド
静的サイトジェネレータで動的なコンテンツをどう実現するか
BtoB であると同時にBtoC なサービスを支えるシステムを作る
データベース設計の意図をたどれるようにする
実装から距離をとってテストを書くことで独立性を保つ
統計的機械学習と予測
ファーストプライスオークションで入札額を決めるアルゴリズムの概要
枠評価とは