「ソフトウェアアーキテクチャの基礎」を読んで感じた、地図の大切さと現在地の確認の大切さ
ひょんなことから、こちらの書籍をご恵贈いただいた。
タイトルから興味を惹かれていたので、このような機会をいただけたこと、非常に感謝しております。
島田さん、 O'Reilly Japan さん、そして繋いでくださった矢部さん、ありがとうございます。
O'Reilly Japan - ソフトウェアアーキテクチャの基礎
ちなみにこの本は 3/8 発売らしいので、興味を持った人は忘れずに EC で予約するなり、発売日に書店に行くなりすると良いだろう。
(ところで Amazon のページを見たらお届け日が明日になってるんだけど、本当に発売日前に届けてくれるんですかね?)
全部で400ページ弱の内容を、1週間ほどかけてじっくり読み進めたので、ここには自分の感想であったり、自分の周りのどういう人に読んでもらいたいか、といったことを書き記しておこうと思う。
どんな内容か
「ソフトウェアアーキテクチャの 基礎」と題されていることから、初学者向けの内容だと思われる方もいるかもしれないが、おそらくそうではない。
主な内容は以下のようなものだ。
(もちろんこれで全てではなく、代表的な一部分を記載している)
- ソフトウェアアーキテクチャの構築、運用について考えるときにどのような観点が重要か
- 歴史的に多くのケースで採用されてきたメジャなアーキテクチャの種類と特徴の説明
- アーキテクチャをどう選択、決定し、それを組織の中でどう実現していくか
「はじめに」で言及されているように、この本は変化の速いソフトウェア業界において急速に陳腐化していく理論やプラクティスを整理しながら、それらをメタ的な視点でまとめることで将来に渡って活用できるエッセンスを抽出している。
どういった人に勧められるか
おそらくエンジニアとしてのキャリアを歩み始めたばかりの人が読んでも、あまり実感を持って理解できないのではないか、と考える。
そういったエンジニアには、プログラミング言語やフレームワークの本、あるいはきれいなコードの書き方やテストコードの実装、チーム開発におけるレビューのテクニックについて記載されている本の方がお勧めできる。
エンジニアとして数年の経験があれば、この本に書かれている様々な悩みやその解決方法に共感や学びを得られるのではないだろうか。
さらにその先で、技術選定に関わったりチーム開発のパフォーマンス向上に悩んでいる人にも、得られるものがたくさんあるのではないかと思う。
本の中で出てくる言葉を使うならば、アーキテクトと呼ばれる役割の人をメインターゲットにした本だと感じるが、アーキテクトという役割の定義は場所によって異なると思うので、「自分はアーキテクトに含まれるかも」と思った人は読んでみると良いと思う。
昨今だとテックリードやエンジニアリングマネージャという肩書きを持つ人たちにも刺さる部分が多いように思う。
個人としての感想
僕のバックグラウンドを知らない人には意味はないかもしれないけど、僕が読んだ感想として、どこが印象的だったか、というのを記しておく。
この本は3部構成となっており、I部ではソフトウェアアーキテクチャの基礎を整理し、II部では様々なアーキテクチャスタイルを解説している。そしてIII部でアーキテクトとしてよりよい仕事をするためのテクニックや求められるスキルについて言及している。
I部は知らないことばかりではなかったものの、自分の中で体系だった知識として整理できていない部分や感覚的に理解していた部分が、非常に綺麗に整理されていることに感心させられた。
II部はアーキテクチャスタイルについて詳しく扱っており、こちらも知識の整理として有用だとは思ったが、未知の部分が多くはなかったこともあり、自分の理解を確認しながら読み進める感じになった。
III部はおそらく僕が今仕事をしている中で一番弱い部分について書かれており、耳の痛い内容だと思いながらも最も楽しく読み進めることができた。
この本にまとめられている内容はかなり網羅的であるように思うし、自分がどの部分を詳しく知っていて、どの部分に対する認識が浅いのかを知る一助になったと思う。
また、自分が仕事で関わっているシステムはどういう立ち位置にあって、どういうメリット・デメリットがあるのか、そこからどのような方向に転じていくのが良いのかを考える上で標となるような内容もあった。
言うなれば、この本はソフトウェアアーキテクチャの世界で既に開拓されている範囲についてしっかり書き込まれた地図のようなものとして捉えられる。
そして、自分や自分の関わっているシステムが地図上のどこにあり、どこに向かっていくべきなのか、考えるためのヒントを与えてくれているように思う。
全体的に面白く読み進められた一方、ざっと最後まで読み切ってしまったので、明日からの自分のために書き記したメモを整理して自分のためのリストみたいな形にまとめておきたいと考えている。
ちなみに「どこが一番印象に残っているか」でいえば、(本の中の最後の方ということもあるが)図23-4には痛烈な皮肉が込められていて非常に印象深かった、というか笑ってしまった。
図23-4がどんなものであるかは、実際にこの書籍を手にとって確認してもらえると嬉しい。