イントロダクション
このフレームワークにより、ソフトウェアエンジニアリングマネージャーは、各ポジションに期待されることや、キャリアラダーにおける次のレベルへの計画の立て方などについて、メンバーと有意義な会話をすることができます。
このフレームワークは、米国のハイテク業界における、おおよそ標準的な役割とレベルを使用していますが、企業によってそれぞれ異なります。
このフレームワークでは、レーダーチャートを多用して、あるポジションのさまざまな視点や期待を視覚的に表現しています。
キャリアラダー
本フレームワークは以下4つのラダーから成ります。
- 開発者: プログラマーやソフトウェアエンジニアとも呼ばれる役割で、深い技術的専門知識が求められます
- テックリード: 開発リーダーとも呼ばれ、システムのオーナーであり、ハンズオン開発、アーキテクチャの知識、プロダクションサポートのユニークなバランスを必要とする役割
- テクニカルプログラムマネージャー: 複数のチームにまたがるイニシアティブを調整し、完成に導く役割を担います
- エンジニアリングマネージャー: 開発マネージャーとも呼ばれ、チームの一貫したデリバリー、キャリアアップ、幸福度に責任を持つ役割です
テックリードとエンジニアリングマネージャーの違いがよくわからないという方は、テックリードとエンジニアリングマネージャーの違い のページで詳しく比較しています。
レベル | Seniority | 開発者 | テックリード | テクニカルプログラムマネージャー | エンジニアリングマネージャー |
---|---|---|---|---|---|
1 | Junior | D1 | |||
2 | Junior | D2 | |||
3 | Junior | D3 | |||
4 | Senior | D4 | TL4 | TPM4 | |
5 | Senior | D5 | TL5 | TPM5 | EM5 |
6 | Senior | D6 | TL6 | TPM6 | EM6 |
7 | Senior | D7 | TL7 | TPM7 | EM7 |
(ポジション名をクリックすると詳細をみることができます)
軸
上図のチャートは、以下の5つの軸で構成されています。
- 技術力: 技術スタックとツールに関する知識
- システム: システムに対するオーナーシップのレベル
- 人: チームとの関係
- プロセス: 開発プロセスへの関与度合い
- 影響力: そのポジションの影響力の範囲
影響力 の軸は直交しており、他のすべての軸に適用されるため、別の次元 と見なすことができます。
各軸には、5つの異なるパフォーマンスレベルがあります。ここで重要なのは、どのレベルにも前のレベルが含まれているということです。例えば、技術力が evangelizes レベルの方は、その技術力のspecializes と adopts のレベルを満たしているということです。
各レベルの理解を深めるために読み進めてください。
レベル
技術力
- Adopts: チームで定義された技術やツールを積極的に学び、実践する
- Specializes: 1つ以上の技術に精通しており、新しい技術を率先して学ぶ
- Evangelizes: 調査を行い、コンセプトを理解、証明し、新しい技術をチームに紹介する
- Masters: システムの技術スタック全体について非常に深い知識を持っている
- Creates: 社内外のチームで広く使用される新技術を設計・創造する
システム
- Enhances: 新機能やバグフィックスをうまく推進し、システムを改良・拡張する
- Designs: システムの技術的負債を軽減しながら、中規模から大規模な機能を設計・実装する
- Owns: システムの運用と監視を担当し、SLAを把握している
- Evolves: 将来の要件をサポートするためにアーキテクチャを進化させ、そのSLAを定義する
- Leads: システムの技術的卓越性をリードし、障害を軽減するためのプランを作成する
人
- Learns: 他のメンバーから素早く学び、必要とされれば常にステップアップする
- Supports: 他のチームメンバーをプロアクティブにサポートし、成功に導く
- Mentors: 他のメンバーの昇進・出世を促進するためにメンターを務め、キャリアアップを奨励する
- Coordinates: チームメンバーを調整し、効果的なフィードバックを提供し、ディスカッションをモデレートする
- Manages: チームメンバーのキャリア、期待、パフォーマンス、幸福度を管理する
プロセス
- Follows: チームのプロセスに従い、一貫したフローで機能をデリバリーする
- Enforces: チームのプロセスを実行し、全員がメリットとトレードオフを理解している状態を作る
- Challenges: チームのプロセスの課題を発見し、改善の方法を提案する
- Adjusts: チームのプロセスを調整し、フィードバックに耳を傾け、変更を通してチームを指導する
- Defines: チームの成熟度に合わせて適切なプロセスを定義し、アジリティと規律のバランスをとる
影響力
- Subsystem: 1つまたは複数のサブシステムに影響を与える
- Team: 特定の部分だけでなく、チーム全体に影響を与える
- Multiple Teams: 自分のチームだけでなく、他のチームにも影響を与える
- Company: 技術組織全体に影響を与える
- Community: 技術コミュニティに影響を与える
FAQs
すべてのポイントを満たしていない人がいたらどうしますか?
人には得意な分野と不得意な分野がありますから、それはごく普通のことです。このフレームワークは、人を昇進させるためのチェックリストとして使うのではなく、意味のあるキャリアに関する対話を行うためのガイダンスとして使うべきです。
私の組織のキャリアラダーが異なる場合はどうすればいいですか?
このフレームワークはオープンソースなので、あなたの組織に合わせてアレンジすることができます。チャートのテンプレートを使用して、独自のレベルを定義することができます。
どのような場合に次のレベルに進むことができますか?
企業は通常、昇進を正式に決定する前に、その人が数ヶ月間一貫して次のレベルでパフォーマンスを発揮することを期待しています。
直属の部下との話し合いのために、どのようにエビデンスを集めればいいですか?
チームによって、エビデンスの集め方は異なります。推奨されるアプローチは、以下を組み合わせて使用することです。
- 1 on 1での会話
- 同僚や他チームからのフィードバック
- 自己評価
このフレームワークでは、各レベルをサポートするために、より具体的な行動の例を示すことができますか?
具体的な行動例を示すためには、チームの仕事の進め方、システムアーキテクチャ、技術スタックに関する知識が必要です。各チームが独自の例を定義することをお勧めします。
なぜフレームワークはレベル7で止まっているのですか?
レベル8以上は、企業によって大きく異なります。さまざまな規模の組織では、構造的に高い位置にあるポジションに多様なレベルのスコープを割り当てる傾向があります。
このテーマに関する追加資料はありますか?
-
エンジニアのためのマネジメントキャリアパス: Camille Fournierは、多くのエンジニア職の期待と課題を見事に表現しています。また、第9章ではキャリアラダーの書き方についても良いアドバイスをしています。
-
How to Be Good at Performance Appraisals: ディック・グローテは、職責の定義とパフォーマンス(結果と行動)の評価方法をシンプルな言葉で説明しています。