プラットフォームエンジニア スキルガイド
CNCF 2024 Annual Surveyによれば、96%の組織がKubernetesを使用中または評価中ですが [1]、効果的に運用できるプラットフォームエンジニアリングの人材が十分にいると回答した組織はわずか34%にとどまっています。スキルギャップは表面的なツールの知識ではなく、コンテナオーケストレーション、インフラ自動化、オブザーバビリティアーキテクチャ、開発者体験設計を一つのまとまったInternal Developer Platformに統合する能力にあります。本ガイドでは、単にYAMLファイルを設定するだけの人材と、プロダクショングレードのInternal Developer Platformを構築するプラットフォームエンジニアを分ける具体的なハードスキル・ソフトスキルを体系化します。
重要ポイント
- ハードスキルは4つのドメインに集約されます。コンテナオーケストレーション、IaC、オブザーバビリティ、開発者プラットフォームツーリング
- Kubernetes(CKAレベルの深さ)とTerraformが最も普遍的に必要とされる2つの技術スキルです
- プロダクト思考、チーム横断コミュニケーション、ドキュメンテーションのソフトスキルは、シニアレベルでは技術的な深さと同等に重要です
- CKA、CKS、クラウドアーキテクト資格がキャリア加速の測定可能な手段を提供します
- スキル開発は「操作→自動化→設計→プロダクト化」の段階に従うべきです
ハードスキル
1. Kubernetesの管理とアーキテクチャ
Kubernetesは現代のプラットフォームエンジニアリングの基盤です。プロダクションレベルの知識とは、コントロールプレーン(kube-apiserver、etcd、scheduler、controller-manager)、ワーカーノードのコンポーネント(kubelet、kube-proxy、コンテナランタイム)、ネットワーキングモデル(Calico、Cilium、FlannelなどのCNIプラグイン)を理解していることを意味します。RBACポリシー、リソースクォータ、リミットレンジ、ネットワークポリシー、Podセキュリティ基準の設定が求められます。上級スキルには、Operator SDKによるカスタムオペレーターの作成、CRD(Custom Resource Definition)の定義、Admission Webhookの設定、LoftのvClusterやAdmiraltyを用いたマルチクラスター連携の管理が含まれます。
2. Infrastructure as Code(Terraform、Pulumi、Crossplane)
IaCは必須スキルです。HashiCorp 2024 State of Cloud Strategy調査によれば、Terraformが65%の市場シェアで支配的です [2]。プラットフォームエンジニアは、適切な状態管理(リモートバックエンド、状態ロック)、マルチ環境デプロイのためのワークスペース戦略、モジュール構成パターンを備えたプロダクション品質のモジュールを記述する必要があります。上級実践者はKubernetesネイティブのインフラプロビジョニングにCrossplaneを、汎用プログラミング言語によるIaCにPulumiを使用します。Terraformプロバイダーモデル、ドリフト検出、インポートワークフロー、CI/CD統合(Atlantis、Spacelift、Terraform Cloud)の理解が、中級者とシニアを分けます。
3. CI/CDパイプラインアーキテクチャ
プラットフォームエンジニアは個々のジョブではなく、デプロイメントパイプライン全体を設計します。GitOpsベースのKubernetesデプロイにはArgoCD、ビルド自動化にはGitHub ActionsまたはGitLab CI、セルフサービスのデプロイ設定を可能にするpipeline-as-codeパターンを活用します。上級コンピテンシーには、プログレッシブデリバリー(カナリア、ブルーグリーン、A/Bデプロイ)の実装、パイプラインへのセキュリティスキャン統合(SAST、DAST、コンテナスキャン)、アーティファクトレジストリ(Harbor、ECR、GCR)の管理、開発・ステージング・本番環境をまたぐマルチステージプロモーションワークフローの設計が含まれます。
4. オブザーバビリティとモニタリング
プラットフォームにオブザーバビリティを最初から組み込むことは、インシデント後に付け足すのではなく、プラットフォームエンジニアリングのコア機能です。3つの柱の実装スキルが必要です。メトリクス(Prometheus、長期保存にThanos)、ログ(Loki、ELK Stack、Fluentd/Fluent Bit)、トレース(Jaeger、Tempo、OpenTelemetry)。ノイズの多いしきい値アラートをエラーバジェット駆動の通知に置き換える、SLOベースのアラート設計を行います。上級スキルには、OpenTelemetryの自動計装、カスタムメトリクスエクスポーター、開発者セルフサービス向けGrafanaダッシュボード設計、RED(Rate、Errors、Duration)およびUSE(Utilization、Saturation、Errors)方法論の実装が含まれます。
5. クラウドプラットフォームの専門知識(AWS、GCP、Azure)
少なくとも1つの主要クラウドプロバイダーの深い知識と、2番目のプロバイダーの実務的な理解が必要です。AWS:EKS、IAM、VPCネットワーキング、S3、Lambda、CloudWatch、Secrets Manager、コスト管理ツール。GCP:GKE、Cloud IAM、VPC、Cloud Run、Cloud Monitoring、Workload Identity。クラウドネットワーキング(VPN、Direct Connect/Interconnect、Transit Gateway)、ID連携、クラウドネイティブセキュリティサービスの理解が求められます。CrossplaneやTerraformモジュールを用いた複数プロバイダー対応のマルチクラウド抽象化も、評価されるケースが増えています。
6. サービスメッシュとネットワーキング
サービスメッシュ技術(Istio、Linkerd、Cilium Service Mesh)はmTLS、トラフィック管理、ネットワーク層でのオブザーバビリティを提供します。Ingressコントローラー(NGINX、Traefik、Envoy Gateway)の設定、カナリアデプロイ向けのトラフィック分割、証明書ローテーションの管理、サービス間認証ポリシーの設計が求められます。サイドカーのオーバーヘッドなしにkube-proxyを置き換えネットワークポリシーを適用するeBPFベースのネットワーキング(Cilium)の理解が、重要性を増しています。
7. セキュリティとコンプライアンスの自動化
プラットフォームセキュリティは、サプライチェーンセキュリティ(SLSAフレームワーク、Sigstoreによるアーティファクト署名、SyftによるSBOM生成)、ランタイムセキュリティ(Falco、seccompプロファイル、AppArmor)、Policy-as-Code(OPA/Gatekeeper、Kyverno)にわたります。シークレット管理(HashiCorp Vault、External Secrets Operator)、コンテナイメージスキャン(Trivy、Grype)、SOC 2、HIPAA、PCI-DSSフレームワークのコンプライアンス自動化を実装します。ゼロトラストネットワーキングの原則を理解し、サービスメッシュとネットワークポリシーで実装することが、シニアレベルでは不可欠です。
8. 開発者プラットフォームツーリング
Internal Developer Platformの構築には、開発者ポータルフレームワーク(SpotifyのBackstage、Port、Cortex、OpsLevel)、サービスカタログ設計、ゴールデンパステンプレート作成、APIファーストアーキテクチャへの習熟が必要です。セルフサービスワークフロー(Backstage scaffolder、リソースプロビジョニング用カスタムKubernetesオペレーター)の設計、内部ドキュメンテーションシステムの構築、プラットフォームコンポーネントの統合による一貫した開発者体験の実現が求められます。
9. GitOpsとコンフィギュレーション管理
GitOpsの原則――宣言的なインフラ、バージョン管理された望ましい状態、自動的な差分解消――はプラットフォームエンジニアリングの基盤です。ArgoCD(ApplicationSets、App of Appsパターン、マルチクラスター管理)またはFlux(Kustomizationコントローラー、Helmコントローラー、イメージオートメーション)の深い知識が必要です。インフラ向けのgitブランチ戦略(トランクベース開発 vs 環境ブランチ)、Kustomizeオーバーレイパターン、Helmチャート開発がこのスキル領域を完成させます。
10. スクリプティングと自動化
プラットフォームエンジニアはかなりの量の自動化コードを記述します。主にPython、Go、Bashを使用します。GoはKubernetesエコシステムの言語です。カスタムコントローラー、オペレーター、CLIツールの記述にはGo習熟が必要です。Pythonは自動化スクリプト、データ処理、ツーリング統合を担います。Bashスクリプティングは運用自動化とパイプラインのステップをカバーします。プラットフォームサービス構築のためのAPI設計(REST、gRPC)や、内部ツーリング利用者向けのSDK開発の理解も、期待されるケースが増えています。
ソフトスキル
1. プロダクト思考
プラットフォームエンジニアリングは内部プロダクト開発です。プラットフォームロードマップの定義、開発者サーベイの実施、導入指標の分析、開発者インパクトに基づく機能の優先順位付け(技術的興味ではなく)、ビルド vs バイの判断が、シニアプラットフォームエンジニアとインフラオペレーターを区別します。プロダクトブリーフの作成、内部開発者へのユーザーインタビュー、プラットフォームKPI(DORAメトリクス、開発者満足度スコア、セルフサービス導入率)のトラッキングが含まれます。
2. テクニカルコミュニケーションとドキュメンテーション
プラットフォームエンジニアは他のエンジニアのために構築します。明確なドキュメンテーション――ADR(Architecture Decision Record)、ランブック、APIドキュメント、オンボーディングガイド、ゴールデンパスチュートリアル――はプラットフォームの価値を直接倍増させます。組織的な合意を獲得するRFCの作成、エンジニアリングリーダーシップへの技術戦略のプレゼンテーション、内部研修資料の作成が、中級以上では不可欠です。
3. チーム横断の協業
プラットフォームは異なる優先事項を持つ複数のチームにサービスを提供します。プロダクトチームとの要件交渉、セキュリティチームとのコンプライアンス要件の調整、SREとの信頼性基準の連携、ファイナンスへのインフラコストの説明が求められます。ステークホルダー管理、コンフリクト解決、プラットフォームの完全性を損なうリクエストに対して「No」と言える能力が必要です。
4. システム思考
プラットフォームの1つのコンポーネントへの変更がシステム全体にどう影響するかを理解することが不可欠です。依存関係のモデリング、障害のカスケードの予測、グレースフルデグラデーションの設計、複雑な分散アーキテクチャのメンタルモデルの維持が含まれます。システム思考者は症状を治療するのではなく、根本原因を特定します。
5. インシデント管理とコミュニケーション
プラットフォームエンジニアは本番障害時にテクニカルリードを務めることが多いです。構造化されたインシデントコマンド(PagerDutyのインシデント対応方法論などのフレームワークに従う)、プレッシャー下での明確なコミュニケーション、ブレームレスなポストインシデントレビューのファシリテーション、アクションアイテムに焦点を当てたポストモーテムの作成が求められます。
6. メンタリングとナレッジシェアリング
シニアプラットフォームエンジニアは、他者を育てることでインパクトを倍増させます。ジュニアエンジニアとのペアプログラミング、アーキテクチャレビューの実施、社内テックトークでのプレゼンテーション、セルフペース学習教材の作成が含まれます。企業はシニア候補者を、個人のアウトプットだけでなく、チームの能力を引き上げる力で評価するケースが増えています。
資格
| 資格 | プロバイダー | フォーカス | 難易度 | インパクト |
|---|---|---|---|---|
| CKA(Certified Kubernetes Administrator) | CNCF/Linux Foundation | クラスター管理、トラブルシューティング | 中~難 | 高――最も需要の高い資格 |
| CKS(Certified Kubernetes Security Specialist) | CNCF/Linux Foundation | サプライチェーン、ランタイム、ネットワークセキュリティ | 難 | 高――セキュリティの差別化要因 |
| CKAD(Certified Kubernetes Application Developer) | CNCF/Linux Foundation | アプリデプロイ、設定 | 中 | 中――開発者寄りのプラットフォーム職向け |
| HashiCorp Terraform Associate | HashiCorp | IaCの基礎 | 易~中 | 中――良い基盤資格 |
| AWS Solutions Architect Professional | AWS | クラウドアーキテクチャ | 難 | 高――設計スキルを認定 |
| GCP Professional Cloud Architect | Google Cloud | クラウドアーキテクチャ | 難 | 高――GCP中心の職種向け |
| FinOps Certified Practitioner | FinOps Foundation | クラウドコスト管理 | 中 | 成長中――FinOps専門化 |
資格のROI: CKAが最も高いリターンを提供します。Lightcastのデータによれば、CKA保有者はプラットフォームエンジニアリング職で8%高い給与オファーを受けています [3]。AWS SA ProとGCP PCAも同様のプレミアムがあります。CKA+クラウドアーキテクト資格1つのスタッキングが、最も効率的な資格戦略です。
スキル開発パスウェイ
フェーズ1:基盤(0~1年)
- CKAの準備と試験合格
- 個人用Kubernetesクラスターの構築(k3s、minikube、またはkind)
- AWSまたはGCPインフラ向けTerraformモジュールの作成
- GitHub ActionsでKubernetesにデプロイするCI/CDパイプラインの実装
- Linuxネットワーキングの基礎(iptables、DNS、TCP/IP)の学習
フェーズ2:プロダクションスキル(1~3年)
- プロダクションKubernetesクラスターの大規模運用
- 複数サービスにわたるArgoCD GitOpsの実装
- オブザーバビリティスタック(Prometheus、Grafana、OpenTelemetry)の構築
- Terraformモジュールライブラリの設計とドキュメント化
- CKSまたはクラウドアーキテクト資格の取得
フェーズ3:アーキテクチャ(3~5年)
- マルチクラスターまたはマルチリージョンKubernetesアーキテクチャの設計
- 開発者セルフサービスツーリング(Backstageまたはカスタムポータル)の構築
- プロダクションでのサービスメッシュ(IstioまたはLinkerd)の実装
- プラットフォームセキュリティの取り組みをリード(サプライチェーン、ランタイム、ポリシー)
- ADRとプラットフォーム戦略文書の作成
フェーズ4:リーダーシップ(5年以上)
- 組織向けプラットフォームロードマップとKPIの定義
- 開発者体験リサーチの実施とプラットフォーム導入の測定
- プラットフォームコンポーネントのビルド vs バイ判断
- シニアエンジニアの指導とアーキテクチャレビューのリード
- カンファレンスでの登壇(KubeCon、HashiConf、社内テックサミット)
スキルギャップの特定と解消
セルフアセスメントのアプローチ: 転職先として希望する企業の求人情報と、現在のスキルをマッピングします。自身に不足している最頻出スキル3つを特定し、ニッチな専門化を追求する前にそのギャップの解消を優先しましょう。
スキルタイプ別のギャップ解消戦略:
- コンテナオーケストレーションのギャップ: ローカルにプロダクションに近いクラスターをデプロイし、意図的に壊して、トラブルシューティングを練習しましょう。CKA試験準備がこの規律を強制します。
- IaCのギャップ: Terraformモジュールレジストリに貢献するか、既存のインフラをコードで再構築しましょう。ClickOpsをTerraformに変換する作業が、実践的なスキルを身につけます。
- オブザーバビリティのギャップ: 個人プロジェクトにOpenTelemetryを組み込み、Grafanaダッシュボードを構築し、障害シナリオをシミュレートしてアラートを検証しましょう。
- プロダクト思考のギャップ: プロダクトマネージャーに1スプリント同行しましょう。Marty Caganの「Inspired」を読みましょう。問題提起、提案するソリューション、成功指標を含む内部プラットフォームRFCの作成を練習しましょう。
- コミュニケーションのギャップ: インフラの意思決定についてブログを書き、社内テックトークで発表し、複雑なシステムを非技術者に説明する練習をしましょう。
まとめ
プラットフォームエンジニアリングにはT字型のスキルプロファイルが求められます。KubernetesとIaCの深い専門性(縦の棒)に、オブザーバビリティ、セキュリティ、CI/CD、クラウドプラットフォーム、開発者体験にわたる幅広さ(横の棒)を組み合わせたものです。ジュニア・ミッドレベルでは縦の技術的深さが最も重要です。シニア・Staffレベルでは、横の棒――特にプロダクト思考、コミュニケーション、組織的影響力――がキャリアの軌跡を決定します。両方の次元に意図的に投資し、資格(まずCKA、次にクラウドアーキテクト)を使って成長を検証しましょう。
よくある質問
プラットフォームエンジニアはどのプログラミング言語を学ぶべきですか?
GoとPythonが最も価値があります。GoはKubernetesエコシステムの言語であり、すべてのCNCFツール(Kubernetes、Prometheus、ArgoCD、Terraformプロバイダー)はGoで書かれています。カスタムKubernetesオペレーター、CLIツール、プラットフォームサービスの作成にはGoの習熟が必要です。Pythonは自動化スクリプト、データ処理、ラピッドプロトタイピングに優れています。Bashは運用スクリプトとCI/CDパイプラインステップに不可欠です。Backstage(React/TypeScriptを使用)で開発者ポータルを構築する場合は、TypeScriptも有用です。
どのスキルから学ぶべきですか?
優先順位は以下の通りです。(1)Kubernetesの基礎(CKAレベル)、(2)Terraform/IaC、(3)少なくとも1つのGitOpsツールを含むCI/CD、(4)オブザーバビリティの基礎(Prometheus/Grafana)、(5)クラウドプロバイダーの深い知識、(6)サービスメッシュとネットワーキング、(7)セキュリティとコンプライアンス、(8)開発者プラットフォームツーリング。この順序は、プラットフォームエンジニアリングの業務構造と一致しています。セルフサービスポータルを構築するには、まずそれがプロビジョニングするインフラを理解していなければなりません。
クラウド固有のスキルとクラウド非依存スキル、どちらが価値がありますか?
どちらも重要です。1つのクラウドプロバイダー(AWSまたはGCP)の深い専門知識はプロダクション運用に不可欠です。クラウド非依存スキル(Terraform、Kubernetes、Crossplane)はポータビリティを提供し、マルチクラウド戦略を持つ企業で評価が高まっています。実用的なアプローチは、1つのクラウドに深くなり(AWSが最大の雇用市場)、KubernetesとTerraformをプロバイダー横断で使えるレベルまで学ぶことです。この組み合わせがプラットフォームエンジニアリング職の90%以上の要件をカバーします。
プラットフォームエンジニアにとって、プログラミング能力とシステム知識のどちらが重要ですか?
どちらも基本要件ですが、バランスは経験年数で変化します。ジュニアレベルではシステム知識(Linux、ネットワーキング、Kubernetesの内部構造)がより重要です。プロダクションの問題をトラブルシュートする必要があるためです。シニアレベルではプログラミング能力が同等に重要になります。プラットフォームツール、オペレーター、サービスを構築するためです。GoでKubernetesオペレーターを書けない、またはTerraformプロバイダーを書けないプラットフォームエンジニアは、既存ツールの組み立てに限定され、カスタムプラットフォームソリューションを構築する能力が制限されます。
引用: [1] CNCF, "2024 Annual Survey," cncf.io/reports/cncf-annual-survey-2024, 2024. [2] HashiCorp, "2024 State of Cloud Strategy Survey," hashicorp.com, 2024. [3] Lightcast, "IT Certification Impact on Hiring Outcomes," lightcast.io, 2025.