本が発売された頃から気になっていたが秋葉原の書泉ブックタワーに行った際に、書籍で売っているのを見かけたので衝動買いをした。
本書は特定の技術や分野について書かれているわけではなく、VOYAGE GROUP にある 5 つの事業会社それぞれの事業を支えるシステムの開発、運用、改善といった内容について在籍するエンジニアへのインタビュー形式でのまとめになっている。
本書の目次は以下
第1章 fluct - 広告配信の舞台裏の技術者たち
第2章 Zucks - フルサイクル開発者の文化
第3章 VOYAGE MARKETING - 20年級大規模レガシーシステムとの戦い
第4章 VOYAGE Lighthouse Studio - 数十万記事のメディアをゼロから立ち上げる
第5章 サポーターズ - 事業の成長を止めない手段としてのシステム刷新
第6章 データサイエンス - エンジニアによるビジネスのための機械学習
事業の内容も開発時期も違うため、それぞれの事業で求められているものも目標も異なっている。本書ではそれぞれの現場でビジネスを発展させていくために、システム開発における意思決定と施策をどのように行ってきたかが成功だけではなく試行錯誤している姿も合わせて書かれている。
新規サービスを何を使って作るかワクワク考えるような内容があったり、昔からの技術負債と向き合わなくてはならなくなり試行錯誤する場面もでてくる。エンジニア歴の長さに関わらずこれなと頷く部分は沢山あると思う。
共通になっているなと思うことはエンジニアとビジネスの人たちの距離がとても近いことだった。ビジネスの人たちが開発速度が遅くなってないかとエンジニアたちが困っていることに気がつく場面があったり、エンジニアの人たちが自分たちが考えたサイコウのシステムを提供するわけではなくビジネスと話し合い、求められている機能、解決すべき課題を順々に実装をすすめていた。これが本書の副題になっている「事業をエンジニアリングする」という意味なのだろうか。
システムを作っていると自分たちが作っているものは良いものだ、自分たちがやりやすければユーザも使ってくれるんだと思ってしまう時があると思う*1。しかし正論を通したところで、お金が稼げない、誰も使ってくれない、使っている人が文句しか言ってないというものを作っても意味が無いのだ。
この辺りの感覚については社内の横断基盤の開発・運用を行っていてずっと思っている。自分たちのサイコウを詰め込んだところでつかわれなかったらただのお荷物になってしまう。そのようなことが起きないように、ビジネス側や仕様者と密接につながって開発を行っている本書を真似できればなと思った。
また、それ以外にもエンジニアにとって大切なサービスが止まらないために何をやるべきか考えていることも真似したいと思った。なんでも新しくするだけを考えるのではなく、止めないとめにどうすればよいかを考えることはとても重要だなと思った。そのためには古いシステムの延命も検討するなどエンジニアの中での優先度がしっかり定まっているのだろうなと思いながら読んだ。そしてそれらを実行するための腕力も身につけていきたい。
まとめ
- 現場でどのように考えたかがわかりやすく書いてあるのでなりきった気分で読んでみるのが面白い
- 自分たちのシステムってなんで開発・運用しているんだけって考える事が増えた
- システム・サービスに関わる人皆と仲良くエンジニアリングしていきたい
*1:皆さんはどうか思わないが僕には思ってた時期があった