『ソフトウェアアーキテクチャの基礎』を読みました。今年読んだ技術書の中でもトップクラスに刺さった本でしたので、感想を書きます。
読み初めの動機
本書を読み始めた動機はこちら。
最近の技術的な興味として、インフラ構成を含めたソフトウェアアーキテクチャ面への興味が強く、また現時点では知見が少ない分野でもあります。
感想
まず、複数のソフトウェアアーキテクチャを学べたのが良かったです。特に、
アーキテクトは、すべての選択の良し悪しを冷静に評価しなくてはならない。決まったものをいつでも選べばよいといった、都合の良い話は現実世界には存在しない。すべてはトレードオフだ。
とあるように、どのアーキテクチャにもメリット、デメリットがあり、ユースケースごとに適したアーキテクチャが異なる、というのが刺さりました。 私はこれまで、ベストプラクティスを知って満足してしまう傾向がありました。本書をきっかけに、「この方法は一見良くない手法に見えるが、メリットもあるのではないか?」と自問するようになり、洞察力が深くなってきているように感じています。
さらに、アーキテクトしてのマインドセット、振る舞い方についても多くを知れました。
学習の必要性やステークホルダーとの調整の方法など、アーキテクトとならずとも、いちエンジニアとして今後の振る舞い方に参考になる点が多かったです。
構成として、最後に本書の内容の理解度を評価するためのチェックリストといて、「自己評価のためのチェックリスト」が用意されているのが良いですね。
参考として、訳者の方のスライドは本書の予習・復習として、コンパクトにまとまっていてよかったです。
今後
今後は、アーキテクチャ選定の実践やより具体について知っていきたいと考えています。インプット面では、同じ著者の方々の続編『ソフトウェアアーキテクチャ・ハードパーツ』や以前読んだ『データ指向アプリケーションデザイン』の読み直しをしつつ、アウトプットとして業務に活かしていきたいです。