Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち

Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち

通常価格 ¥1,800(税込¥1,980) 特別価格

ウェブシステム=ソフトウェア技術+ビジネス

ともすれば、互いに相反する関心を追っているとさえ捉えられる「ビジネス」と「ソフトウェアエンジニアリング」。しかし現実のウェブシステムで事業を成り立たせるためには、両者を分け隔てることなく、技術力と洞察力と調整力をもって課題に取り組む必要があります。

本書は、和田卓人氏による株式会社VOYAGE GROUPのソフトウェア技術者11人へのインタビューに補足解説を添えて、1冊の書籍としてまとめたものです。ビジネスとエンジニアリングを両輪にしながら多様な事業のウェブシステムを開発、運用するフルサイクルエンジニアたちの当事者意識、意思決定のスピード感、そして創意工夫の数々を和田卓人氏が引き出します。

本書の制作にあたっては、株式会社VOYAGE GROUPから制作費を出資いただいています。

本書の対象読者

  • インターネット上で事業を営んでいる企業に属しているエンジニア
  • 受託開発を行っているエンジニア
  • ウェブをはじめとするITシステムによりビジネスを営んでいる方々
  • 特にVOYAGE GROUPやそのエンジニアに興味がある方々

読者の声

アフターDXの働き方がここにある。非エンジニア必見、コードで金を稼ぐ世界のリアル。DXは達成することが大切なのではない、DXされた環境を維持していくことが大切なのである。本書はそのリアルな世界を垣間見させてくれる。企業のDX担当者には必携の一冊」

@tokoroten

執筆者紹介

株式会社VOYAGE GROUP(監修者)

1999年10月創業。インターネット領域で人を軸にして事業を生み出し続け成長してきた事業開発会社。20年間で100以上の事業に挑戦し、現在は広告プラットフォーム事業やメディア事業を中心としながら、20以上の事業やサービスを運営している。2014年7月、東京証券取引所マザーズ市場へ上場し、2015年9月に一部に鞍替えした。2019年1月には、株式会社サイバー・コミュニケーションズと経営統合し、株式会社CARTA HOLDINGSを発足。CARTA HOLDINGSの一翼として、エンジニアリングの力を駆使しながら、様々な領域で起こるデジタルトランスフォーメーションに対し積極的に取り組んでいこうとしている。

和田卓人(編者)

プログラマ、テスト駆動開発者。タワーズ・クエスト株式会社取締役社長。学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。『プログラマが知るべき97 のこと』(オライリージャパン、2010)監修。『SQL アンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。

目次

第1章 fluct ― 広告配信の舞台裏の技術者たち
  広告配信システムひとめぐり
  「2010年に広告配信システムを作る」ということ
  とりあえず使ってみる文化
  クラウドとの向き合い方
  インフラと開発は最初から分離しない方針だった
  技術的負債との闘い
  オブザーバビリティ
  これからのfluct

第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の開始でもたらされた機械学習のビジネスインパクト
  データサイエンスからビジネスのやり方を変える提案が生まれる
  ファーストプライスオークションとセカンドプライスオークション
  データサイエンスの面白さ
  理論だけではうまくいかない
  エンジニアがデータサイエンスをやる強み
  これから

補足解説
  アドテクノロジーの変遷
  オンプレミスかクラウドか
  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 なサービスを支えるシステムを作る
  データベース設計の意図をたどれるようにする
  実装から距離をとってテストを書くことで独立性を保つ
  統計的機械学習と予測
  ファーストプライスオークションで入札額を決めるアルゴリズムの概要