ストーリー
ある日、CTOの 佐藤CTO があなたをミーティングルームに呼びました。
佐藤CTOは頷いたあと、ホワイトボードに大きな図を描き始めました。フロントエンド、API Gateway、マイクロサービス群、メッセージキュー、データベース、CDN — システム全体の構成図です。
こうして、あなたの L3 — システムアーキテクト への旅が始まります。
L2からL3へ:何が変わるのか
L2では「コンポーネントの設計力」を鍛えました。L3では「システム全体の設計力」を身につけます。
| 観点 | L2(設計者) | L3(アーキテクト) |
|---|---|---|
| 設計対象 | クラス・モジュール・コンポーネント | システム全体・サービス間連携 |
| 判断基準 | 「この設計は保守しやすいか」 | 「このアーキテクチャはビジネスを支えられるか」 |
| 視野 | コードベース内部 | インフラ・運用・コスト・組織構造を含む全体 |
| スキル | SOLID、パターン、リファクタリング | NFR分析、トレードオフ判断、技術選定 |
| 影響範囲 | 自分のモジュール | チーム全体・プロダクト全体 |
| 思考法 | 「正解を選ぶ」 | 「トレードオフの中で最善を選ぶ」 |
// L2の視点:コンポーネント内部の設計
class OrderService {
constructor(
private readonly orderRepo: OrderRepository,
private readonly paymentGateway: PaymentGateway,
) {}
async createOrder(dto: CreateOrderDto): Promise<Order> {
// ドメインロジック、依存性の注入、テスト容易性...
}
}
// L3の視点:システム全体の設計
// - OrderService はどのサービスに属するか?
// - PaymentGateway との通信は同期か非同期か?
// - 注文データはどのDBに保存するか? RDB? NoSQL?
// - 障害時のフォールバック戦略は?
// - 10倍のトラフィックに耐えるスケーリング戦略は?
L3全体の10ヶ月ロードマップ
佐藤CTOが、L3の全体像を示しました。
| Month | テーマ | 主なスキル |
|---|---|---|
| 1 | システム全体のアーキテクチャを設計しよう | アーキテクチャ設計、NFR分析、トレードオフ |
| 2 | スケーラブルなシステムを構築しよう | 水平スケーリング、負荷分散、キャパシティプランニング |
| 3 | データアーキテクチャを設計しよう | データモデリング、CQRS、イベントソーシング |
| 4 | クラウドネイティブを実践しよう | コンテナ、Kubernetes、IaC |
| 5 | マイクロサービスを設計しよう | サービス分割、API設計、サービスメッシュ |
| 6 | 信頼性エンジニアリングを実践しよう | SRE、カオスエンジニアリング、インシデント対応 |
| 7 | セキュリティアーキテクチャを設計しよう | ゼロトラスト、脅威モデリング、暗号化戦略 |
| 8 | パフォーマンスエンジニアリングを極めよう | プロファイリング、チューニング、負荷テスト |
| 9 | 技術戦略とリーダーシップを発揮しよう | 技術選定、ADR、チーム設計 |
| 10 | 総合設計プロジェクト | システム設計面接、ポートフォリオ |
「10ヶ月後、君にはチームの技術的な意思決定をリードできるエンジニアになってもらう。それがL3の到達点だ」 — 佐藤CTO
Month 1 の3つの柱
この最初の1ヶ月では、アーキテクチャ設計の土台となる3つの柱を学びます。
柱1:アーキテクチャ設計の基礎
「そもそもアーキテクチャとは何か」を正確に理解します。アーキテクチャと詳細設計の境界、アーキテクトの役割、コンウェイの法則など、設計の前提知識を固めます。
柱2:非機能要件(NFR)の分析
「速い」「安全」「落ちない」— こうした曖昧な要件を、品質属性シナリオとして定量化する技術を学びます。ISO 25010の品質モデルを道具として使いこなします。
柱3:トレードオフ判断
完璧なアーキテクチャは存在しません。すべてはトレードオフです。要件からアーキテクチャへの変換プロセスと、判断の根拠を明確にする方法を身につけます。
// Month 1 で身につける思考プロセス
interface ArchitectureDesignProcess {
step1: "ビジネス要件を分析する";
step2: "品質属性を特定し、優先順位をつける";
step3: "アーキテクチャドライバーを決定する";
step4: "トレードオフを評価し、アーキテクチャを選定する";
step5: "判断理由を記録する(ADR)";
}
学習の進め方
各ステップは以下の流れで進みます:
- LESSON — 概念と理論を学ぶ
- EXERCISE — 手を動かして実践する
- QUIZ — 理解度を確認する
佐藤CTOが要所でアドバイスをくれます。L2の高橋アーキテクトが「コードの美学」を教えてくれたように、佐藤CTOは「システム設計の哲学」を教えてくれます。
「アーキテクチャに正解はない。でも、“なぜその判断をしたのか”を説明できるかどうかで、プロとアマチュアの差が決まる」 — 佐藤CTO
まとめ
| ポイント | 内容 |
|---|---|
| L3の目標 | コンポーネント設計からシステム全体の設計へ |
| 視点の変化 | 「正解を選ぶ」から「トレードオフの中で最善を選ぶ」へ |
| Month 1の柱 | アーキテクチャ基礎、NFR分析、トレードオフ判断 |
| メンター | 佐藤CTOが導く |
チェックリスト
- L2とL3の違いを理解した
- L3全体の10ヶ月ロードマップを把握した
- Month 1で学ぶ3つの柱を理解した
次のステップへ
次は「アーキテクチャの役割と重要性」を学びます。そもそもソフトウェアアーキテクチャとは何か、なぜ重要なのか、アーキテクトは何をする人なのか — L3の出発点となる基本概念を深掘りしましょう。
推定読了時間: 15分