システム設計は、コーディングと違って「小さなループで学習」しにくい分野だ。フレームワークのチュートリアルをやり切ったところで設計は身につかないし、現場でレビューを浴びるだけでも体系化されない。本記事では、ジュニアからシニアへと階段を上るための4段階ロードマップを、推奨書籍・OSSの読み方・実務での鍛え方とセットで示す。
前提:なぜ「設計」は学びにくいのか
設計は「トレードオフの判断」が本質で、正解が1つに定まらない。同じ要件でも、チーム規模・データ量・ビジネスの成長速度・運用体制によって適切な答えが変わる。だからこそ、判断の引き出しの数と、それぞれの得失を言語化できる力が重要になる。引き出しを増やすには、書籍で基礎を固め、OSSで本物の設計を読み、実務で手を動かす3つを並行するのが最短ルートだ。
ステップ1:基礎パターンの吸収(入社〜2年目)
最初の到達点は、オブジェクト指向/関数型/データモデリングの基礎パターンを手癖にすること。具体的には、SOLID原則、デザインパターン(全部覚える必要はない)、REST/RPCの違い、RDBの正規化と非正規化、トランザクションの分離レベル、キャッシュの基本戦略。
推奨書籍は『リーダブルコード』『達人プログラマー』『データ指向アプリケーションデザイン』の第1〜3章まで。いきなり分厚いアーキテクチャ本に手を出すより、まずはコードレベルの設計判断が「説明できる」状態を目指すのが良い。この段階でマイクロサービスの話に飛びつくと、土台がスカスカのまま設計を語ることになり、現場で痛い目を見る。
ステップ2:分散システムの基礎と非機能要件(2〜4年目)
モノリスの中での設計判断に慣れたら、次はネットワーク越しの設計に進む。CAP定理、結果整合性、冪等性、Saga、イベント駆動、キューとストリームの使い分け、SLO設計、可観測性(ログ・メトリクス・トレース)。ここからが本格的な「システム設計」の入り口だ。
推奨書籍は『データ指向アプリケーションデザイン』(全編)、『マイクロサービスアーキテクチャ』(Sam Newman)、『SRE サイトリライアビリティエンジニアリング』。加えて、System Design Primer のようなオープンな教材で、Twitter・URL短縮・決済などの定番お題を自分で設計してみるのがおすすめ。
ステップ3:OSSの設計を読む(3〜5年目)
書籍だけでは「実在の設計がどう揺らぎながら進化してきたか」は見えない。ここで効くのがOSSのアーキテクチャドキュメントとADR(Architecture Decision Record)を読むこと。おすすめは、Kafka、Kubernetes、Elasticsearch、Prometheus、Temporal、CockroachDBあたり。
読み方のコツは、コードから入らないこと。まず公式ドキュメントの「Architecture」「Design」セクション、次に大きめのRFCやADR、最後に必要な箇所のコードという順番が効率が良い。「なぜその構造を選んだか」「どんな代替案を捨てたか」が言語化されているOSSは、設計の教材として桁違いに価値がある。
並行して、自社の既存システムについて「自分だったらどう再設計するか」を1枚の図にまとめる練習を繰り返す。この段階で、設計の引き出しが目に見えて増えてくるはずだ。
ステップ4:設計レビューを主導する(5年目〜)
最終ステップは、他人の設計を良くする立場に回ること。設計レビューで、仕様書の行間に隠れた非機能要件を引き出し、トレードオフを言語化し、代替案を最低2つ提示できるようになれば、それがシニアの入り口だ。
このフェーズでは、書く練習よりも読んで質問する練習が効く。設計書を読んでいて違和感がある部分に、「この要件だと◯◯のときに問題が出そうだが、その場合はどう想定しているか?」と聞けるか。違和感を言語化する力は、ステップ1〜3の土台があって初めて発揮できる。
シニア以降のキャリアでは、設計力がそのまま年収交渉力になる。ITエンジニア特化の転職サービスでも、アーキテクトやテックリード帯の求人は非公開案件として扱われることが多く、10,000件以上の求人を抱えるサービスなら設計志向のポジションに出会える確率が上がる。
やってはいけない学び方
最後に、よくある失敗パターンを3つ挙げておく。(1) 一気にマイクロサービスから入る:モノリスの設計判断が甘いまま分散に行っても、分散システム特有の難しさが上乗せされるだけ。(2) 書籍だけで満足する:読んだだけでは手が動かない。必ず自社や学習プロジェクトで図を書き、トレードオフを言語化するアウトプットに繋げる。(3) 設計「のみ」の人になろうとする:コードから完全に離れると、現場の信頼を失う。実装者としての感覚は持ち続ける。
まとめ
- システム設計の学習は「基礎パターン→分散基礎→OSS読解→レビュー主導」の4段階で進めるのが現実的
- 書籍・OSS・実務の3つを並行で回すのが最短ルート
- ステップを飛ばさない。モノリスの設計判断が甘いまま分散に行くと必ず崩れる
- シニアの入り口は「他人の設計を良くする立場」に回れるかどうか
(本記事は一般的な市場情報をもとにした編集部の見解です)



