こんにちは。Tomoyuki(@tomoyuki65)です。
Goエンジニアに限りませんが、これからの生成AI時代においては、実装よりも設計力の方が価値が出てくるのが避けられません。
コードは「人が書くもの」から「AIに書かせるもの」へと急速に移行し、開発の重心は「実装」から「設計」へと移ります。
それによって要件の切り出しや構造の分解、曖昧さの排除といった設計の質が、そのまま成果物の質を決定づけるからです。
私も将来的なことを鑑みて、設計力を向上させるためにいくつか技術書を購入して読むことにしました。
ということでこの記事では、生成AI時代に必須の設計に関して、私が読んだおすすめの技術書についてご紹介します。
Goエンジニア向け|生成AI時代に必須の設計力とは?おすすめ技術書まとめ【DB設計・DDD・アーキテクチャ・クラウド設計】
DB設計を学ぶ「達人に学ぶDB設計徹底指南書 第2版」

DB設計について体系的に学ぶなら「達人に学ぶDB設計徹底指南書 第2版」がおすすめです。
これは主にリレーショナルデータベース(RDB)に関する設計の技術書になりますが、DB設計について必要なこと、考え方、アンチパターンや実践ノウハウについて体系的に学べます。
個人的に良かった点としては、インデックスやそれ以外のパフォーマンスチューニングについて知識を深められたところです。
私の場合は過去にOracle DBなどの実務経験があったのでサクサク読み進められましたが、経験が無かったり、まだ浅い場合はちょっと難しいかもしれません。
その場合は入門や初級者向けの本(DBやSQL)を読んでからこの本を読むといいかなと思います。
クラウド設計を学ぶ「AWSクラウド設計完全ガイド」

実務でよく使われているAWSについての設計を学ぶなら「AWSクラウド設計完全ガイド」がおすすめです。
これはシステムを作る際のソフトウェアアーキテクチャにおいて、AWSを使う場合を想定してどう設計するかについてを学べます。
私の場合はこれまでの経験等を踏まえて全体の6〜7割ぐらいは理解があり、比較的サクサク読み進められましたが、経験が少ないとちょっと読むのが難しい内容になっています。
一度読んで終わりというよりかは、必要な時に必要な部分を読み返して活かすような使い方をするのに使える本かなと思います。
DDD(Domain-Driven Design)を学ぶ「ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法」

Go言語の仕事で求められることが多いドメイン駆動設計(DDD)について学ぶなら「ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法」がおすすめです。
この本を読むことにより、ドメイン駆動設計とはなんなのかを理解でき、かつこういった知識が無いままドメイン駆動設計をやろうとしても失敗するのがよくわかるようになります。
私がこの本を読んで思ったこととしては、ソフトウェアを開発するエンジニアの仕事をしているなら、一度は読んだ方がいい内容だなと思ったので、ぜひ一度読んでみて下さい!
※本の内容は難しいため、わからないところは適宜AIツールに質問して解説してもらいながら学んでいくと理解を深められます。
アーキテクチャを学ぶ「ソフトウェアアーキテクチャの基礎 第2版 ―エンジニアリングに基づく体系的アプローチ」

システム開発では、システム設計の土台となる意思決定としてソフトウェアアーキテクチャの選択が必要になりますが、それについて学ぶなら「ソフトウェアアーキテクチャの基礎 第2版 ―エンジニアリングに基づく体系的アプローチ」がおすすめです。
結論としては「すべて場合による」、そして「すべてトレードオフ」ということで、様々な制約の中で最も合理的な選択をするのがソフトウェアアーキテクチャであるということが学べます。
全体通して抽象的な内容が多く、好き嫌いが分かれる本なのかなと思いますが、ソフトウェアアーキテクチャというのはそういうものなんだというのを理解したい人にはまとまっていていい本です。
読む順番について
私は以下の順で読みましたが、これは「経験→具体設計→抽象設計→理論体系化」の流れで読むことで既存の経験と知識を結び付けることができ、それによって理解が深まりやすく、実務にも直結するからです。
2. AWSクラウド設計完全ガイド
3. ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法
4. ソフトウェアアーキテクチャの基礎 第2版 ―エンジニアリングに基づく体系的アプローチ
ただ経験が少ない人だとこの順番で読むのは難しいので、その場合は「抽象概念→基本設計→設計手法→応用・体系化」の流れで読んだ方が理解しやすいと思います。
2. 達人に学ぶDB設計徹底指南書 第2版
3. ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法
4. AWSクラウド設計完全ガイド
※「達人に学ぶDB設計徹底指南書 第2版」や「AWSクラウド設計完全ガイド」は周辺知識が無いと読むのが難しいため、そういう方は事前に初級者向けの本などで学んでから読むようにして下さい。
最後に
今回は生成AI時代に必須の設計に関して、私が読んだおすすめの技術書についてご紹介しました。
今はインターネットで簡単に情報が得られる時代ではありますが、体系的に学ぶにはまだまだ技術書の価値が高いなというのが、今回本を読んでいて改めて思ったので、興味がある方はぜひ参考にしてみて下さい!
ちなみに、今回読んで一番良かった本は「ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法」です!


コメント