インフキュリオンのエンジニアとしてあるべき姿をGradeごとに明文化しました。
技術要件は主にソフトウェアエンジニア/テックリードを対象とした内容になっていますが、行動要件はプロジェクトマネジャーやインフラエンジニア、デザイナーなど、すべてのプロダクト開発運用に関わる人を対象としています。
このエンジニアラダーは、目標設定や評価において、今の自分が何を求められているのか、次のGradeにステップアップするために必要なことは何かを理解するための指標になります。
もちろんエンジニアとしての強みのあり方は画一的なものではないです。特に上位Grade(Grade5以上)においては自身の強みをどこに定めるかがキャリア設計においても重要になると思いますので、記載されているすべての要件を満遍なく満たすことが必須ではありません。
インフキュリオンでの経験を通じて、エンジニアとして大きく成長することを期待していますし、このラダーが自身の長期的なキャリア設計を考える上での一助になればと思っています。
Grade.1
Attitude
- 会社のバリューを理解し、ふさわしい行動と判断ができる。
- 取り組んだことがない業務に対して前向きに挑戦し、新しい経験や技術の習得に努めている。
- 自分の考えを発信できる。他者の意見に耳を傾けて、自分の考えをアップデートできる。
- 継続的にスキル・知識を習得する活動を行い、積極的に情報発信している。
Accountability
- 担当するプロダクトのビジネスモデル、提供価値や基本機能を理解して、説明ができる。
- プロジェクトを円滑に進めるために、自身の担当業務の進捗状況や課題をチームメンバーに正しく伝えることができる。
Technical skills
- 担当プロダクトの技術スタックに関して基礎知識をもち、周囲のサポートを得ながら設計・コーディングができる。
- レビューで指摘された内容を理解して、設計やコーディングを改善することができる。
- 業務に対してスケジュールを立て、進捗が芳しくない場合に遅延原因を理解して相談ができる。
- 担当業務において、アラートやバグ発生時に、原因調査・原因の解消ができる。
Teamwork
- 依頼された業務を理解して、わからないことがあれば疑問点を明確にして質問できる。
- 組織人として、組織運営を円滑に行うための事務業務(勤怠、申請など)が遅延なくできる。
Grade.2
Accountability
- チームや自身の仕事がどのように事業や社会に対する貢献するかを理解し、説明することができる。
Technical skills
- 小規模(自身を含め2-3名)のPJを一人称で遂行することができ、PJメンバーに対して業務依頼や指示、指導することができる。
- 要件を適切に理解し詳細設計ができる。テスタビリティ、可読性、エラーを意識しながらコードを書くことができる。
- 指摘された課題に対して、自ら改善策を考えて、検証・遂行することができる。
- 担当プロダクトのデータ構造を理解し、ソースコードやドキュメントを参照して、必要な情報を得ることができる。
- プロダクトを実際に利用するユーザー目線を持った設計や意見ができる。
Teamwork
- PJやチーム課題の解決に向けて、自分が貢献できる業務を自発的に考え、困っているメンバーの支援ができる。
- 自分と異なる考えや意見に対して、根拠となるデータやエビデンスに基づいてオープンで建設的な議論ができる。
- 業務で関わるメンバーと丁寧にコミュニケーションをとり、信頼関係の構築ができる。
- 自分一人で解決できない課題に直面した際に、上長やチームメンバーに正確に状況説明して必要なサポートを依頼することができる。
- 担当PJにおける課題を発見し、自分の担当業務外であっても、チームメンバーに提起することができる。
Improvement
- 担当業務において、生産性や効率性を重視して、業務見直しや改善に取り組んでいる。
- 担当業務において、アラートやバグの発生に備えた設計・開発ができる。
Grade.3
Accountability
- 担当するプロジェクトにおいて、チーム外に対して説明責任を果たすことができる。
Technical skills
- サポートがほとんどない状態でも、4-5名のチームの開発リーダーとしてプロジェクトを推進することができる。
- プロダクトにおける課題に対して、サンプリング検証などを通じて解決策を導き出すことができる。
- プロダクトや顧客の要求を理解して、保守性、可用性、拡張性を意識した設計に落とし込むことができる。
- 担当プロダクトの技術スタックに関して深い知識をもち、新規開発の設計や、既存コードのリファクタリングをリードできる。
- DBや性能、セキュリティなど一定の技術領域において専門性を有し、チームを牽引できる。
- システム全体への影響範囲を考慮しながら、他PJのメンバーと調整をしながら開発を進めることができる。
Teamwork
- チーム内の意見やアイデアを引き出しながら、チーム内の意思決定をリードすることができる。
- チーム内の心理的安全性に配慮した振る舞いや発言ができる。メンバーの成長を意識した業務指示やフィードバックができる。
- チームメンバーから成果物に対して、育成観点をもって適切なレビューができる。
Improvement
- プロダクトの全体像を捉えて、技術負債の解消や非効率な運用業務の見直しや改善の提案ができる。
- 担当PJのインシデントに対応でき、ポストモーテムの運用を通じて再発防止に取り組んでいる。
Grade.4
Accountability
- チームの成果物の品質に対して責任を持ち、チーム外への説明責任や課題対応を担うことができる。
Technical skills
- 複数の開発チームを率いて開発を完遂できる。技術的課題やチーム内のコンフリクト、インシデントに対して適切な対応ができる。
- 顧客やプロダクトの要求を理解して、鵜呑みにすることなく、スケジュールや開発工数、保守性の観点から提案して、適切な方向に導くことができる。
- 保守性、可用性、拡張性を意識した設計をチームに浸透させて、システム全体として良い設計を保持できる。
- 担当プロダクトの技術スタックに関して深い知識をもち、アーキテクチャや技術選定において明確な根拠に基づいた意思決定をリードできる。
- PJにおける難易度の高い課題が発生した時に、自身の技術と経験により解決まで導くことができる。
- 担当プロダクトの業務、法令、セキュリティなどの基本的な知識を持ち、リスク観点を考慮したシステム設計ができる。
Teamwork
- チーム内の心理的安全性を意識して、チームに課題がある場合に改善策を実行できる。相応しくない行動や言動のメンバーがいた場合に改善を促すことができる。
- 所属部門のマネジャーを支援し、部門課題の改善に向けた提言や具体的なアクションの推進ができる。
Improvement
- プロダクトの課題に対して、改善プランを立案・実行し、業務効率化や自動化、コスト削減など生産性向上に貢献できる。
- インシデント発生時に、技術的にリードしたり必要に応じて他チームの支援を要請して迅速に解決策を導き出すことができる。ポストモーテムを積極的に行い再発防止の状態を作れている。
Grade.5
Accountability
- 技術観点だけでなく、事業や組織への価値貢献を意識して、技術方針や意思決定をリードすることができる。
- 新規PJの立ち上げにおいてPJの意義やゴールを定義し、対話やワークショップなどを通じてメンバーに浸透させることができる。
- 会社の事業方針を理解し、部門メンバーに対して自身の言葉で伝えることができる。メンバーからの質問に自分の言葉で回答することができる。
Technical skills
- 開発言語やフレームワーク、ライブラリー、インフラなどの深い知識と経験を持ち、自身のノウハウを社内全体に共有して組織全体の技術力向上に貢献している。
- 複数の技術領域において幅広く知識と経験を持ち、自身の責任範囲の境界線を超えて業務の遂行ができる。
- メンバーからのあらゆる技術的な提案を積極的に判断し、取り入れる場合はリードし、取り入れない場合は明快な理由をフィードバックすることができる。
- 担当以外のプロジェクトに対しても気を配り、チーム横断的観点でPdMや他のテックリードとコミュニケーションをとりながら、システム全体の設計を適切な方向に導くことができる。
- プロジェクトの顕在/潜在リスクを洗い出し、チーム内外に共有し対処することで適切なリスクマネジメントができる。
- プロダクト全体について理解し、ビジネス、デザイン、マーケティング、データなど開発以外の観点でもプロダクト課題を認識し、各領域の人々とプロダクトとしてあるべき姿を議論できる。
Improvement
- プロダクトの開発組織全体の生産性向上に繋がるような技術やプロセスの課題解決に取り組み、実績を出している。
- インシデントのポストモーテムを主導して組織としてのナレッジ蓄積ができている。ステークホルダーへの報告や対応ができる。
Engineering Management
- メンバーに適切なレベルの成長機会を提供し、フィードバックにより個人の成長の促進、モチベーションを高めることができる。
- 部門の組織課題を自分ごととして捉え、改善のための取り組みの企画や実行を主導することができる。
- 所属部門を超えた課題にも目を向けて、他チームのマネジャーと協議・交渉して組織全体としての最適解を導き出すことができる。
- 開発組織を牽引して、カンパニー/事業部の売上や利益向上に対して大きな成果を出している。
- 優秀な人材を採用し、長期に活躍するために必要な制度や仕組み、カルチャー醸成や情報発信などに積極的に取り組んでいる。
- ピープルマネジメントに必要なスキルや知識の習得に努め、実践している。
Grade.6
Accountability
- プロダクトや事業の目指す方向性や組織全体の課題を踏まえて、プロダクトや部・チームとしてあるべき姿を描き、部門内外のメンバーに対して自分の言葉で説明し部・チームを目指す方向へ導くことができる。
Technical skills
- 中長期的な視点でプロダクト全体のアーキテクチャや技術選択に責任を持ち、プロダクトや組織に貢献し続けることができる。
- カンパニー/事業部規模での、プロダクトの価値向上につながるような新しい技術への挑戦をリードしている。その取り組みの意義やリスクを明確な根拠に基づいて説明し、合意形成をとることができる。
- プロダクト全体について深く理解し、ビジネス、デザイン、マーケティング、データなど開発以外の観点でもプロダクト課題を広く認識し、プロダクトの大きな課題解決や方針決定に関わっている。
- プロダクト全体に関わる開発で、収益につながる大きな成果を出している。
Engineering Management
- ピープルマネジメントに関する豊富な経験と知識を持ち、マネジメント経験の少ないメンバーに対する適切なアドバイスができる。
- 組織マネジメントの経験とスキルを持ち、多種多様な組織課題に対して適切な対応ができる。そのために必要な知識やスキルの習得に継続的に取り組んでいる。自身で対応できない専門知識が必要な場合、社内外の専門家から的確なアドバイスを引き出すことができる。
- プロダクト全体や開発全体の大きな意思決定において、不確実性の高い状況下でも最善の意思決定ができる。その根拠を明確に伝えて周囲との合意形成ができる。
- プロダクトの成長を中期的(2-3年)で捉えて、事業や組織の状況を考慮しながら取り組み課題のロードマップを描き、実現に向けてリードすることができる。
- 開発組織を牽引して、カンパニー/事業部の売上や利益向上に対して継続的に大きな成果を出している。
- 開発組織力や開発者体験の向上のために必要な制度や仕組み、カルチャー醸成や情報発信などに経験と知識を持ち、開発組織の成長に貢献している。
- 管轄部門のコストマネジメントに責任を持ち、非効率や無駄な支出が発生していた場合に迅速に改善策を実行することができる。
Grade.7
Management
- カンパニー/事業部のあるべき姿を描き、社内外に自身の言葉で発信し、信念をもって組織全体を目指す方向へ導くことができる。
- カンパニー/事業部の目標達成に向けて、組織全体をリードして目標達成を実現している。
- カンパニー/事業部における担当領域の最高責任者として、実績と経験を有し、責務を担っている。
- カンパニー/事業部全体の中長期的な技術ロードマップを描き、実現をリードしている。
- エンジニア組織のマネジメント陣の育成を通じて、持続的な組織成長を実現している。
- グループ全体の新しい挑戦を主導して、非連続の成長に貢献することができる。
- 当社の技術ポートフォリオを総合的に理解しながら、技術投資計画の策定ができる。その投資が事業や組織にとってどのようなインパクトをもたらすのかを説明して合意形成を図ることができる。
- 技術的ビジョン、技術ロードマップについての実行責任、および、ステークホルダーに対して説明責任を持つ。
- 開発組織力強化やエンジニア採用、開発者体験の向上に対して、豊富な実績を持ち、実行をリードすることができる。
- 事業ドメインを深く理解し、当社のプロダクトや技術優位性が将来にわたって維持し続けられるような最良の意思決定ができる。