0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

エンジニアのキャリアラダー設計実践ガイド:5軸評価とIC/EMトラックで組織を強くする

0
Last updated at Posted at 2026-05-05

エンジニアのキャリアラダー設計実践ガイド:5軸評価とIC/EMトラックで組織を強くする

この記事でわかること

  • キャリアラダーの構造設計(等級数・評価軸・コンピテンシー定義)の具体的な手順
  • IC(Individual Contributor)トラックとEM(Engineering Manager)トラック の並行設計パターン
  • 5軸評価フレームワーク(Technology / System / People / Process / Influence)の導入方法
  • 導入時に陥りやすい10個のアンチパターンとその回避策
  • AI時代に求められるスキル定義の再設計アプローチ

対象読者

  • 想定読者: エンジニアリングマネージャー、VPoE、テックリード、人事担当者
  • 必要な前提知識:
    • ソフトウェア開発チームの運営経験(1年以上)
    • 1on1やピープルマネジメントの基本概念
    • エンジニアの技術力評価に関する課題意識

MLEの方へ: この記事はエンジニア組織のマネジメント領域を扱います。AI/MLの専門知識は前提としませんが、「自分が評価される側として制度を理解したい」「将来マネジメントに関わりたい」という方にも役立つ内容です。キャリアラダーとは、エンジニアが段階的にステップアップしていくためのキャリア開発制度で、各段階(等級)ごとに期待される行動・スキル・成果が定義されています。

結論・成果

キャリアラダーを適切に設計・運用している企業では、エンジニアの離職率が改善し、昇進プロセスの透明性が向上すると報告されています。たとえばANDPADでは、エンジニア専用のキャリアラダーを約200項目のGrading Definitionとして再設計することで、「全社統一制度ではエンジニア特有の多様なキャリアパスを表現しきれない」という課題を解消しました(ANDPAD Tech Blog)。

この記事では、等級設計の基本構造から5軸評価フレームワーク、アンチパターンの回避策、そしてAI時代のスキル再定義まで、キャリアラダー設計の全体像を実践的に解説します。

等級構造を設計する

キャリアラダー設計の第一歩は、何段階の等級を設けるか各等級で何を期待するかを明確にすることです。ここでは業界で広く参照されている等級構造のパターンと、その設計手順を見ていきます。

等級数と影響範囲の対応関係

等級設計で最も重要な概念は**「影響範囲(Scope of Impact)」**です。等級が上がるにつれて、エンジニアが影響を与える範囲が個人のタスクからチーム、組織、会社全体へと広がっていきます。

以下の表は、FAANG企業やprogression.fyiで公開されている複数のフレームワークを参考に整理した、一般的な等級構造です。

等級 一般的な呼称 影響範囲 期待される行動の例
L1 Junior Engineer タスク単位 指示されたタスクを完了する。コードレビューを受けて学ぶ
L2 Engineer 機能単位 1つの機能を設計から実装まで担当する。チーム内で質問に答える
L3 Senior Engineer チーム単位 技術的意思決定をリードする。メンバーのメンタリングを行う
L4 Staff Engineer 複数チーム チーム横断の技術課題を解決する。アーキテクチャの方向性を示す
L5 Principal Engineer 部門・組織 組織全体の技術戦略に影響を与える。業界水準の設計を推進する
L6 Distinguished Engineer 会社全体・業界 会社の技術ビジョンを定義する。業界標準に貢献する

注意: この等級数はあくまで参考です。Engineering Laddersのフレームワークでは7段階、メルカリでは6グレード(CodeZine)、ANDPADでは5段階と、企業規模や文化によって最適な等級数は異なります。50人以下の組織で6段階以上を設けると各等級の差別化が難しくなるため、組織の規模に応じて4〜7段階の範囲で設計することが推奨されています。

各等級の期待値を定義する手順

等級の期待値を定義する際は、次の3ステップが有効です。

ステップ1: 既存メンバーの行動観察

まず、現在のチームメンバーが実際にどのような行動をとっているかを観察します。「シニアエンジニアらしい行動」とは何かを具体的に言語化することが出発点です。

# 等級定義ドキュメントの構造例(YAML形式)
levels:
  L3_senior_engineer:
    title: "Senior Engineer"
    scope: "チーム単位"
    years_experience: "目安: 5年以上(ただし年数は参考値)"
    competencies:
      technology:
        description: "担当技術領域で深い専門知識を持つ"
        examples:
          - "技術選定時に代替案を比較検討し、トレードオフを説明できる"
          - "パフォーマンスボトルネックを特定し、改善策を実装できる"
          - "新しい技術の導入判断において、チームに根拠を示せる"
      system:
        description: "担当システムの設計と品質に責任を持つ"
        examples:
          - "既存システムの技術的負債を特定し、改善計画を立案する"
          - "障害時にシステム全体を俯瞰して原因を特定できる"
      people:
        description: "チームメンバーの成長を支援する"
        examples:
          - "ジュニアメンバーのコードレビューで建設的なフィードバックを提供する"
          - "技術的な意思決定にメンバーを巻き込み、合意形成をリードする"
      process:
        description: "開発プロセスの改善を提案・実行する"
        examples:
          - "CI/CDパイプラインの改善やテスト戦略の見直しを主導する"
          - "障害対応のポストモーテムを実施し、再発防止策を定義する"
      influence:
        description: "チーム内の技術的方向性に影響を与える"
        examples:
          - "技術ブログの執筆や社内勉強会の主催"
          - "採用面接での技術評価を担当する"

ステップ2: コンピテンシーの言語化ワークショップ

ANDPADの事例では、複数のエンジニアによるオープンディスカッションを経て必要なコンピテンシーを言語化し、会社のバリューとひも付けて体系化する方法が採られています(ANDPAD Tech Blog)。具体的には、各等級に対して「この等級のエンジニアが絶対にやるべきこと」「この等級では期待しないこと」を明確に分けます。

ステップ3: 試験運用と反復的な改善

最初から完璧な制度を目指す必要はありません。まずは一部のチームで試験運用を行い、フィードバックを集めてから全社展開するアプローチが推奨されています(HR大学)。

よくある間違い: 最初から全等級・全項目を詳細に定義しようとすると、策定に半年以上かかり、完成前にメンバーが離職するケースがあります。まずはL1〜L3の3段階から始め、Staff以上は組織の成熟に合わせて追加する段階的アプローチが現実的です。

5軸評価フレームワークを導入する

等級構造が決まったら、次は何を基準に評価するかを定義します。ここではEngineering Laddersで提唱されている5軸評価フレームワークを中心に、実践的な導入方法を解説します。

5軸の定義と評価段階

5軸評価フレームワークでは、エンジニアの能力を**Technology(技術力)、System(システム設計力)、People(対人スキル)、Process(プロセス改善力)、Influence(影響力)**の5つの軸で評価します。

各軸には5段階の成熟度レベルが設定されています。たとえばTechnology軸では、既存技術を採用する(Adopts)段階から、新しい技術を創造する(Creates)段階まで進みます。

レベル1 レベル2 レベル3 レベル4 レベル5
Technology Adopts(採用) Specializes(専門化) Evangelizes(普及) Masters(熟達) Creates(創造)
System Enhances(改善) Designs(設計) Owns(所有) Evolves(進化) Leads(主導)
People Learns(学習) Supports(支援) Mentors(指導) Coordinates(調整) Manages(管理)
Process Follows(遵守) Enforces(実施) Challenges(挑戦) Adjusts(調整) Defines(定義)
Influence Subsystem Team Multiple Teams Company Community

5軸をレーダーチャートで可視化する

5軸評価の強みは、エンジニアの強みと成長領域を視覚的に把握できる点です。各軸のスコアをレーダーチャートに描くと、1on1でのキャリア対話が格段にスムーズになります。

# レーダーチャート生成スクリプト
# Python 3.12 + matplotlib 3.9 で動作確認
import matplotlib.pyplot as plt
import numpy as np
from dataclasses import dataclass

@dataclass
class EngineerProfile:
    name: str
    level: str
    scores: dict[str, int]  # 各軸のスコア(1-5)

def plot_radar_chart(profile: EngineerProfile) -> None:
    axes = list(profile.scores.keys())
    values = list(profile.scores.values())
    values += values[:1]  # レーダーチャートを閉じるために先頭値を追加

    angles = np.linspace(0, 2 * np.pi, len(axes), endpoint=False).tolist()
    angles += angles[:1]

    fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
    ax.fill(angles, values, alpha=0.25)
    ax.plot(angles, values, linewidth=2)
    ax.set_xticks(angles[:-1])
    ax.set_xticklabels(axes, fontsize=10)
    ax.set_ylim(0, 5)
    ax.set_yticks([1, 2, 3, 4, 5])
    ax.set_title(f"{profile.name} ({profile.level})", fontsize=14, pad=20)
    plt.tight_layout()
    plt.savefig(f"radar_{profile.name}.png", dpi=150)
    plt.close()

# 使用例: Senior Engineer のプロファイル
senior = EngineerProfile(
    name="Tanaka",
    level="L3 Senior Engineer",
    scores={
        "Technology": 4,
        "System": 3,
        "People": 3,
        "Process": 2,
        "Influence": 2,
    },
)
plot_radar_chart(senior)
print(f"レーダーチャートを保存しました: radar_{senior.name}.png")

なぜ5軸評価を選んだか:

  • 単一軸(技術力のみ)の限界: 技術力だけで評価すると、「コードは書けるが人に教えられない」「設計は得意だがプロセス改善に無関心」というスキルの偏りを検出できません
  • 多すぎる軸のリスク: 10軸以上を設定すると、評価者の負荷が高く、軸間の境界が曖昧になります。CircleCIのブログでは、コンピテンシーファミリーを5〜8つに絞ることが推奨されています

制約条件: 5軸評価は万能ではありません。ドメイン固有の専門性(セキュリティ、ML、SRE等)を評価するには、追加の専門軸が必要になる場合があります。自社の職種構成に応じてカスタマイズしてください。

メルカリの2軸評価アプローチ

5軸評価とは異なるアプローチとして、メルカリでは**「成果評価」と「バリュー評価」の2軸**で評価を実施しています(CodeZine)。

「事業貢献ができているということは、その事業貢献をするための能力が発揮できているということ」という考え方に基づき、バリュー評価を通じて能力を間接的に測定しています。OKRは目標管理ツールとして使用しますが、OKRの達成度を直接的に人事評価に連動させない運用を取っています。

この方法は、評価項目が少ないため運用コストが低いというメリットがある一方、具体的な技術スキルの成長方向性が見えにくいというトレードオフがあります。

IC/EMデュアルトラックを設計する

キャリアラダー設計で最も重要な判断の1つが、ICトラックとEMトラックの設計です。「マネージャーにならなければ昇進できない」という制度は、優秀なIC人材の流出につながります。

デュアルトラックの基本構造

ICトラックとEMトラックは、Senior Engineer(L3)レベルで分岐するのが一般的です。分岐以降、ICは技術的深さと影響範囲の拡大で昇進し、EMはチーム運営と人材育成で昇進します。

トラック間の等価性を保証する

ICトラックとEMトラックの間で報酬・影響力・発言権が等価であることが不可欠です。以下の表は、同レベルのIC/EMに期待される行動を比較したものです。

観点 Staff Engineer(IC L4) Engineering Manager(M1)
影響範囲 複数チームの技術課題 1チーム(5-10人)の運営
主な成果物 アーキテクチャ設計書、技術方針RFC チームのデリバリー成果、メンバー成長
意思決定 技術選定・設計判断 優先度決定・リソース配分
コミュニケーション 技術的影響力で合意形成 1on1・チームミーティングで方向性統一
評価の観点 技術的インパクトの大きさ チーム全体のアウトプットと健全性

トラック間移動のルールを整備する

ANDPADの事例では、「Tech Leadから再びICに戻ることを降格としない」ことを明示しています(ANDPAD Tech Blog)。みてねでもICとEMの間で求められるスキル・マインド・行動の差を明確にし、トラック間の移動を制度として認めています(みてねエンジニアリングラダー)。

トラック間移動を設計する際のポイントは以下の3つです。

  1. 移動は昇進でも降格でもない: EMからICに戻ることを「マネジメントの失敗」と見なさない文化を作る
  2. 移行期間を設ける: 3〜6ヶ月の移行期間中は、前トラックの責務を段階的に引き継ぐ
  3. 報酬バンドの維持: トラック間移動で報酬が下がらないことを保証する
# トラック移動の判定ロジック例
# Python 3.12 で動作確認
from enum import Enum
from dataclasses import dataclass, field
from datetime import date

class Track(Enum):
    IC = "Individual Contributor"
    EM = "Engineering Manager"

class TransitionStatus(Enum):
    APPROVED = "approved"
    IN_TRANSITION = "in_transition"
    COMPLETED = "completed"
    DENIED = "denied"

@dataclass
class TrackTransition:
    engineer_name: str
    current_track: Track
    target_track: Track
    current_level: int
    request_date: date
    transition_period_months: int = 3
    status: TransitionStatus = TransitionStatus.APPROVED
    checklist: list[str] = field(default_factory=list)

    def generate_checklist(self) -> list[str]:
        if self.target_track == Track.EM:
            return [
                "1on1スキルのトレーニング完了",
                "メンターEMのアサイン",
                "チーム運営の3ヶ月OJT計画策定",
                "前任ICの責務引き継ぎ計画作成",
                "ピープルマネジメント研修の受講",
            ]
        else:  # IC へ移動
            return [
                "技術領域のフォーカス決定",
                "メンターStaff Engineerのアサイン",
                "マネジメント責務の引き継ぎ完了",
                "技術的なRFC/設計文書の執筆",
                "チームメンバーへの説明と合意形成",
            ]

    def validate(self) -> tuple[bool, str]:
        if self.current_track == self.target_track:
            return False, "同一トラックへの移動はできません"
        if self.current_level < 3:
            return False, "L3(Senior)以上でのみトラック間移動が可能です"
        return True, "移動可能です"


# 使用例
transition = TrackTransition(
    engineer_name="Suzuki",
    current_track=Track.EM,
    target_track=Track.IC,
    current_level=4,
    request_date=date(2026, 4, 1),
)

is_valid, message = transition.validate()
print(f"移動判定: {message}")
if is_valid:
    checklist = transition.generate_checklist()
    for item in checklist:
        print(f"  - {item}")

ハマりポイント: トラック間移動の制度だけ作って「文化」を変えない企業が多いです。制度上は移動可能でも、EMからICに戻った人が周囲から「マネジメントに向いていなかった人」と見なされる雰囲気があると、制度は形骸化します。経営層やVPoEが自らトラック間移動の成功事例を発信し、「キャリアの選択肢を広げる行為」として位置づけることが重要です。

アンチパターンを回避する

キャリアラダーの設計・運用では、多くの組織が同じ失敗を繰り返しています。Petr Zemek氏のブログ記事では、10個のアンチパターンが体系的にまとめられています。ここではその中でも特に影響の大きい5つを取り上げます。

アンチパターン1: 曖昧な期待値

問題: 等級の定義が「シニアらしい行動をとる」のように抽象的で、マネージャーごとに解釈が異なる。

影響: 「A部署ではSeniorだったのに、B部署に異動したらL2扱いだった」という事態が発生し、エンジニアの信頼を失います。

対策: 各等級の期待値を「観察可能な行動」として記述します。「技術力が高い」ではなく「技術選定時に3つ以上の代替案を比較し、トレードオフをドキュメントに残す」のように具体化してください。

アンチパターン2: タイトルと報酬の結合

問題: 昇給のために昇進が必要な制度設計。本来は責務の変化を伴う昇進が、給与調整の手段になる。

影響: 「Staff Engineerの肩書きを持っているが、実際の仕事内容はSenior Engineerと同じ」というタイトルインフレーションが発生します。

対策: 各等級に報酬バンド(範囲)を設定し、同じ等級内でも成果に応じた昇給ができる仕組みにします。昇進は「責務と期待値の変化」を伴う場合にのみ実施します。

アンチパターン3: ICトラックの形骸化

問題: ICトラックが存在するが、Staff Engineer以上のポジションに十分な技術リーダーシップの機会や予算権限がない。

影響: 「ICトラックに進んでも、結局マネージャーにならないと影響力を持てない」と感じたエンジニアが離職します。

対策: Staff Engineer以上のICに、技術戦略への発言権、予算提案権、採用への関与権を明確に付与します。Petr Zemek氏は、ICトラックとEMトラックの各レベルでの人数バランスを保つことを推奨しています。

アンチパターン4: 在籍期間ベースの昇進

問題: 「3年経ったからSenior」「5年でStaff」のように、在籍年数が実質的な昇進基準になる。

影響: 3年でStaff相当の行動を示すエンジニアと、7年かかるエンジニアが同じタイミングで昇進するのは不公平です。

対策: 昇進は「示された行動の再現性」を基準にします。「次のレベルの行動を継続的に(3ヶ月以上)示している」ことを昇進の前提条件とし、年数は参考値にとどめます。

アンチパターン5: 不適切なレポートライン

問題: Principal EngineerがEngineering Managerの直属になる、またはStaff EngineerがVPに直接レポートするなど、スコープの不一致が生じる。

影響: EMのスコープ(1チーム)よりPrincipal Engineerのスコープ(組織横断)が広い場合、マネージャーが適切な評価やフィードバックを行えません。

対策: ICとEMのレベルが概ね対等になるレポートラインを設計します。以下に推奨される対応関係を示します。

ICレベル 推奨レポート先
Staff Engineer Senior EM または Director
Principal Engineer Director または VP
Distinguished Engineer VP または CTO

トレードオフ: レポートラインを厳密に設計すると組織構造が硬直化し、小規模チームでは現実的でない場合があります。50人以下の組織では、CTO直下にStaff以上のICを配置するフラットな構造も選択肢です。

AI時代のスキル定義を再設計する

2025年以降、AIがコード生成やレビューを支援する時代になり、エンジニアに求められるスキルの重心が移動しています。従来のキャリアラダーで定義されたスキルをそのまま使い続けると、AIが代替できるスキルを高く評価し、AIでは代替しにくいスキルを過小評価するという歪みが生じます。

従来スキルとAI時代スキルの対比

@ITの記事によると、AI時代のエンジニアには以下の4つの新しい役割が求められています。

役割 従来の対応ロール AI時代に追加されるスキル
AI実装指揮官 テックリード AIモデル活用、AI出力の品質評価
AX実務エキスパート SE / DX担当 業務×AI統合、自動化設計
AIデータサイエンス・スペシャリスト データサイエンティスト LLM検証、構造化データ×AI連携
AI導入戦略家 アーキテクト / SRE AI基盤設計、セキュリティ対応

キャリアラダーにAIスキルを組み込む方法

5軸評価フレームワークにAI関連スキルを統合する場合、新しい軸を追加するのではなく、既存の軸の中にAI要素を埋め込むアプローチが推奨されます。

# AI時代のスキル定義例(L3 Senior Engineer)
levels:
  L3_senior_engineer_2026:
    technology:
      traditional:
        - "担当言語・FWの深い理解と技術選定能力"
      ai_augmented:
        - "AIコード生成ツールの出力を批判的に評価し、品質基準を満たすか判断できる"
        - "AIを活用した開発ワークフローを設計し、チームに導入できる"
    system:
      traditional:
        - "担当システムの設計と技術的負債の管理"
      ai_augmented:
        - "AIコンポーネント(LLM API、推論エンドポイント等)を含むシステムの設計ができる"
        - "AI出力の信頼性・一貫性を保証するテスト戦略を策定できる"
    people:
      traditional:
        - "メンタリング、コードレビュー、合意形成"
      ai_augmented:
        - "AI活用のベストプラクティスをチームに展開できる"
        - "AIツール導入時のチームの不安・懸念に対処できる"

なぜ新しい軸を追加しないのか:

  • 6軸以上になると評価者の認知負荷が上がり、評価精度が低下します
  • AI活用能力は独立したスキルではなく、既存の技術力・設計力・リーダーシップの拡張として捉えるのが自然です
  • 「AI軸だけ高いが他が低い」エンジニアを不当に高評価してしまうリスクを避けられます

制約: AI技術は進化が速いため、スキル定義を毎年見直す運用が必要です。ANDPADでは「AI Codingの進化」への対応を、制度の継続的ブラッシュアップ方針として明言しています(ANDPAD Tech Blog)。2026年時点のAIスキル定義が2028年には陳腐化する可能性を前提にした運用設計が求められます。

導入ロードマップと運用のポイント

キャリアラダーの導入は、一度に完成形を目指すのではなく、段階的に拡充していくアプローチが成功率を高めます。以下に12ヶ月のロードマップ例を示します。

12ヶ月導入ロードマップ

フェーズ 期間 実施内容 成果物
Phase 1: 設計 月1-2 等級数決定、5軸定義、IC/EMトラック設計 ラダー設計ドキュメント v0.1
Phase 2: 言語化 月3-4 コンピテンシーワークショップ、各等級の期待値記述 コンピテンシー定義書
Phase 3: パイロット 月5-7 1-2チームで試験運用、1on1での活用 フィードバックレポート
Phase 4: 改善 月8-9 パイロットの結果を反映、定義の修正 ラダー設計ドキュメント v1.0
Phase 5: 全社展開 月10-11 全チームへの説明会、マネージャー研修 運用ガイドライン
Phase 6: 運用開始 月12 正式運用開始、四半期レビューサイクルの開始 初回評価結果

運用で気をつけるべき3つのポイント

1. 評価基準を上げすぎない

HR大学によると、次のステップに上がるためのハードルが高すぎると、従業員が諦めてしまったり、モチベーションが低くなったりします。各等級間の差は「明確だが到達可能」なレベルに設定することが重要です。

2. 頻繁に変更しない

制度の変更は年1回(最大でも半期に1回)に留めます。頻繁に変更すると、「せっかく身につけたスキルが評価されなくなった」という不信感が生まれます。変更する場合は十分な移行期間を設け、既存メンバーへの影響を最小化してください。

3. ラダーの公開と透明性

progression.fyiには100以上の企業が自社のキャリアフレームワークを公開しています。社内だけでなく社外にもラダーを公開することで、採用候補者に「この会社ではどのようなキャリアを歩めるか」を示せます。GitLab、Etsy、Monzoなどが公開事例として知られています。

よくある問題と解決方法

問題 原因 解決方法
「ICとEMで報酬に差がある」 報酬バンドの設計が不均衡 同レベルのIC/EMで報酬バンドを同一に設定する
「Senior止まりで昇進が見えない」 Staff以上の等級が形式的に存在するだけ Staff Engineerに具体的な責務(RFC制度、技術戦略)を付与する
「マネージャーに向いていないが昇進したい」 ICトラックの存在が周知されていない 全社説明会でICトラックの成功事例を紹介する
「評価が属人的でマネージャーによって違う」 等級定義が抽象的 コンピテンシーを「観察可能な行動」として具体化する
「制度はあるが1on1で使われない」 マネージャーの運用スキル不足 ラダーを使った1on1のテンプレートとマネージャー研修を提供する
「AIスキルの評価方法がわからない」 AI時代のスキル定義が未整備 既存5軸にAI要素を統合し、年次で定義を見直す

まとめと次のステップ

まとめ:

  • キャリアラダーは**等級構造(4-7段階)× 評価軸(5軸)× デュアルトラック(IC/EM)**の3要素で設計する
  • 5軸評価(Technology / System / People / Process / Influence)は、エンジニアのスキルを多面的に捉える標準的なフレームワーク
  • ICとEMのトラック間移動を「降格ではない選択肢」として制度化し、文化として定着させることが重要
  • 10個のアンチパターン(曖昧な期待値、タイトルインフレーション等)を事前に認識し、設計段階で回避する
  • AI時代には既存の評価軸にAIスキルを統合し、年次で定義を見直す運用が必要

次にやるべきこと:

  1. progression.fyiで自社と規模・文化が近い企業のラダーを3つ以上調査し、参考にする
  2. 現在のチームメンバーの行動を5軸で棚卸しし、等級定義の叩き台を作成する
  3. 小規模チーム(5-10人)で3ヶ月のパイロット運用を開始し、フィードバックを収集する

参考


注意: この記事はAI(Claude Code)により自動生成されました。内容の正確性については複数の情報源で検証していますが、実際の利用時は公式ドキュメントもご確認ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?