背景と目的
「家族アルバム みてね」(以下「みてね」)では、サービスのさらなる成長を目指し、組織強化に取り組んでいます。このサービスと組織の成長にあわせて、みてねの開発に携わるエンジニア個人の活躍と成長を後押しするため、みてね独自のエンジニアリングラダーを作ることとしました。このエンジニアリングラダーは、各等級のエンジニアに求められるスキル・マインド・行動を明示することで、エンジニア個人の成長に役立てるほか、直近で発生している以下のような課題の解決も目指しています。
- キャリアプラン検討、育成、目標設定、人事評価の一連のサイクルが、各Engineering Manager(EM)の属人的なマネジメント力に左右され、必ずしも効果的でないケースがある。
- MIXI社の評価制度に基づく全社的な等級定義はあるものの、職種や組織を問わない汎用的な内容であるため、みてねのエンジニアに求められるスキル・マインド・行動が不明確である。
エンジニアリングラダー本体
みてねで作成・運用しているエンジニアリングラダーを以下に示します。ただし以下の点にはご注意ください:
- 上下の等級との差異を一部太字で強調しているほか、補足情報や具体例を「↪黄色文字」で示しています。
- 全体として積み上げ型で定義しているため、下の等級(グレード)で求められることは、上の等級で明示していなくても同様に求められます。
- 各等級において、各評価項目のグレード定義を網羅的に等しく満たすことは必須ではなく、個人のキャリア志向や専門分野、職務に合わせてグラデーションを設けて運用します。このカスタマイズや濃淡ある運用は、各EM(評価者)とメンバ(被評価者)とのコミュニケーションにより実現します。
- ラインマネジメントをしないIndividual Contributor(IC)と、ラインマネジメントをするEngineering Manager(EM)との間では、みてねに限らず一般に求められるスキル・マインド・行動に差があります。他社事例(後述)では、IC/EMそれぞれに個別のラダーを設定する方法も見られますが、みてねではIC/EMの区別もきれいに2分割されるものではなく、濃淡ある分類として捉え、ラダー全体をIC/EMで区分することはせず、個別の評価項目や等級ごとにEM向け項目を明示したうえで、運用上は前項の通りカスタマイズを前提とするものとしました。
- このラダーは、みてね事業部門におけるエンジニアおよびEngineering Manager(EM)に適用するものです。MIXI社における他部門のエンジニアや、デザイナなどの非エンジニアに対しては適用されません。
- このラダーは完璧なものではなく、発展途上のものであると捉えており、今後も運用を通して改善していきます。
評価軸 | 評価項目 | グレード1 | グレード2 | グレード3 | グレード4 | グレード5 | グレード6 |
---|---|---|---|---|---|---|---|
基礎固め | 自立 | 主力 | ・社内で卓越した専門家
・現場の実行のリード | ・社外に通じるプレゼンスを発揮する専門家
・現場と経営の接点 | ・事業/機能の創造と成長に不可欠な専門家集団のトップ
・事業/機能全体の舵取り | ||
開発技術 | ・チームメンバーからレビューやアドバイスを受けながら、小規模な(工数1日程度の)機能開発をしている | ・小規模な(工数数日程度の)機能開発を自力で解決している | ・中規模な(工数1〜2ヶ月程度の)開発に主力として参加している
・サービス全体の機能やアーキテクチャをおおよそ把握している | ・中規模な(工数1〜2ヶ月程度の)開発をリードしている | ・プロダクト全体の機能・設計・技術課題を把握し、開発や対応をリードしている | ・単体の大規模プロジェクトや、ドメインチーム全体の開発を全体的に技術面でリードしている。もしくは複数のプロジェクトにわたり、高い専門性をもって会社やプロジェクトが抱える課題に取り組んでいる | |
開発技術 | ・レビュワーと協力し、コードの可読性を上げている
・組織のコーディングガイドラインを理解している | ・コードレビューで基礎的な指摘を受けることは少なくなっている | ・リファクタや技術的負債の返済について、チームに提案・調整し、コードベースを改善しはじめている | ・リファクタや技術的負債の返済について、チームに提案・調整し、コードベース改善をリードしている | (↑「実装・開発スキルとドメイン知識」のグレード5と同様) | (↑「実装・開発スキルとドメイン知識」のグレード6と同様) | |
開発技術 | N/A | ・設計や技術方針について、チームに提案している | ・設計や技術方針について、チームに提案した上で、十分に議論をし、意思決定のリードを試みている | ・設計や技術方針について、チームに提案した上で、十分に議論をし、意見をまとめ、意思決定をリードしている | ・大規模な(工数3ヶ月以上の)プロジェクトや、組織横断レベルの設計や技術方針を、組織全体に提案して議論し、意思決定をリードしている
↪たとえばインフラ基盤の大幅な刷新や、コアアーキテクチャの選定や移行のリード | (←グレード5と同様) | |
開発技術 | N/A | ・コードの品質や開発スピードを向上させている・専門領域の周辺分野を意識しはじめている
↪たとえばバックエンドなら認証やセキュリティ、システム負荷、保守性、可読性なども意識しはじめている | ・専門領域の主力となっている
↪担当領域において主力と呼べるレベルの専門性が身についている
・専門領域の周辺分野も意識している
↪たとえば、バックエンド担当なら認証やセキュリティ、システム負荷、保守性、可読性なども意識できている。またフロントエンド担当であっても、バックエンドのコードリーディングや、簡単なインフラ設定をしている。Android担当者がiOSの簡単な実装も行っている | ・専門領域をリードしている
・専門領域の周辺分野を理解している
↪フロントエンド担当であっても、バックエンドやインフラ設定の中程度の難易度のタスクを実行できる。Android担当者がiOSの中程度の難易度のタスクを実行できる
・専門領域外の分野を意識している
↪Android担当者がプロダクトマネジメントやデザインの領域の簡単な役割を担うことができる | ・業界や社内のオピニオンリーダー
・複数の専門領域をリードできる
↪フロントエンド担当であっても、バックエンドやインフラ設定の難易度の高いタスクを実行、リードできる。Android担当者がiOSの難易度の高いタスクを実行、リードできる
・(EM向け)専門領域外の分野を理解している
↪Android担当者がプロダクトマネジメントやデザインの領域の中程度の難易度の役割、たとえばNorth Star Metricのような指標設定や、チームを導くプロダクトロードマップの設定、定性調査・分析の業務を部分的に担うことができるか、理解した上でマネジメントができる | ・業界でも極めて高い専門性を持ち、その専門性を持って大きく事業貢献している
・社内外の個人的なプレゼンスを駆使し、自社組織に優位な状況を作っている | |
開発プロセス・プロジェクト管理 | ・工数見積もりを理解して実施し、チームと共有している。スケジュールを意識して開発をしている
・開発プロセス(スクラム開発など)について学びはじめている
・他のメンバーが何をやっているかを意識している | ・開発プロセスを理解し、チームの一員として開発プロセスに参加している
・チーム全体の計画やタスク優先度を把握している
・工数の見積もり精度が上がっている
↪チームの規模見積もりと個人の時間見積もりのいずれも、チームの認識と揃った見積もりをしている
・Quality/Cost/Deliveryを意識してプロジェクトを進めている | ・ビジネス要件のタスク分解を習得しはじめている
・チームの開発プロセスの課題と改善案を提案している
・チームで連携して、Quality/Cost/Deliveryを意識して機能をリリースし、チームの目標達成に貢献している | ・ビジネス要件をタスク分解している
・チームの開発プロセスの課題と改善案を提案し、プロセス改善をリードしている
・チームで連携して、Quality/Cost/Deliveryを意識して機能をリリースし、チームの目標達成をリードしている
・他部署や社外のメンバーの稼働調整ができる
↪副業エンジニアのマネジメントができる | ・組織全体の (開発に限らない) 業務フローの課題と改善案を提案し、フロー改善に貢献している | ・組織全体の (開発に限らない) 業務フローの課題と改善案を提案し、フロー改善をリードしている | |
顧客価値・ビジネス | N/A | ・プロダクトの担当ドメインの顧客体験をよくしたり、品質を維持することを意識している
↪たとえば担当タスクの顧客価値を理解し、担当タスクの範囲内において顧客価値を意識して仕様変更を提案している | ・プロダクトの担当ドメインの顧客体験をよくしたり、品質を維持することに貢献している
↪たとえば担当するプロジェクトや施策の顧客価値を理解したうえで、必要に応じて、その意義に適した形となるようプロジェクト全体に対する設計・仕様変更を提案している | ・プロダクトの担当ドメインの顧客体験をよくしたり、品質を維持することをリードしている | ・プロダクト全体の顧客体験をよくしたり、品質を維持することをリードしている
↪たとえば事業やプロダクト全体における、自分の担当するプロジェクトや施策の意義を自ら言語化し、事業部内外のメンバを納得させることができる。また担当外を含む各プロジェクトや施策のビジネス価値や顧客価値を言語化し、優先順位付けやスコープ調整を行っている | (←グレード5と同様) | |
顧客価値・ビジネス | 担当プロダクトの顧客価値やビジネス(収益構造など)について理解しはじめている | ・担当プロダクトの顧客価値やビジネス(収益構造など)について理解している
↪たとえば担当タスクの顧客価値を理解し、担当タスクの範囲内において顧客価値を意識して仕様変更を提案している | ・担当プロダクトの顧客価値やビジネス(収益構造など)についてチームメンバーに説明している
↪たとえば担当するプロジェクトや施策の顧客価値を理解したうえで、必要に応じて、その意義に適した形となるようプロジェクト全体に対する設計・仕様変更を提案している | (←グレード3と同様) | ・事業全体の顧客価値やビジネス(収益構造など)について社内外に説明している
↪たとえば事業やプロダクト全体における、自分の担当するプロジェクトや施策の意義を自ら言語化し、事業部内外のメンバを納得させることができる。また担当外を含む各プロジェクトや施策のビジネス価値や顧客価値を言語化し、優先順位付けやスコープ調整を行っている | (←グレード5と同様) | |
コラボレーション | ・チームの心理的安全性を阻害しないコミュニケーションを取っている
・謙虚さと素直さがある・過不足のないホウレンソウをとっている
・社会人マナーを持って適切な言葉遣いをしている | ・チーム外との良好なwin-win関係を作る円滑なコミュニケーションをとっている | ・チーム内の心理的安全性に貢献している | ・チームの心理的安全性を高める行動をリードしている
↪チームが課題やリスクを見落としていると感じたときでも、雰囲気に流されることなく、ポジティブにチームの方向性を修正するような発言を徹底している。またチームメンバーの同様の行動をサポートしている | ・組織全体の心理的安全性を高める行動をリードしている
↪組織全体が課題やリスクを見落としていると感じたときでも、雰囲気に流されることなく、ポジティブに組織全体の方向性を修正するような発言を徹底している。またメンバーの同様の行動をサポートしている
・組織をこえて多様なメンバー・ステークホルダーとコミュニケーションをとったり、相談を受けたりしている | ・心理的安全性のみならず、人とコミュニケーションを理解し、組織全員が情報を発信したり、取得するためのプロセスや制度を整えている | |
リーダーシップ | ・明確に自分が担当する仕事に関して、期日やクオリティを守ろうとする責任感がある | ・チームの議論に対して自分なりのアイデアを立案している | ・意見の対立を十分な議論を通じて、よりよい形で合意形成している
↪ファシリテーション、意見の差異の明確化、一定の譲歩など | ・影響の大きい意思決定を主導している
・前例を疑い、より良い手段を検討&実行している
・プロダクト市場の変化に対応するマインドセットが備わっている | ・専門分野を活かした事業・機能全体の具体的な方針・戦略を描き、実行されるように影響を与えている
↪たとえばロードマップを描き、それが組織や事業に受け入れられ、それを自らリードする
・予想外の出来事や不確実状況下でもポジティブに組織に振る舞っている
・(EM向け)自律的組織を作り、自ら掲げたビジョン実現に組織を導いている | ・不確実or難しい状況下でも責任をもって意思決定している
・働く喜びを表現し、一緒に仕事をしたい・目指したいと思われている
・(EM向け)社内外の専門家と自社のコラボレーションを促進させ、お互いに良い結果をもたらしている
・(EM向け)自身が起こした良い変革が維持できるよう自律的組織に育てている
・(EM向け)事業と会社のコンセプトの整合性を保ちながら、ビジネスチャンスを見極めている | |
リーダーシップ | N/A | ・チーム内の課題を適切な人にアラートしたうえで、解決に向けた行動をとっている | ・課題を認識した上で、状況に応じて適切な優先順位設定とアクションを行っている | ・チーム外や社外のメンバーの協力を得て課題を解決しはじめている | ・考えの説明からはじめ、意見を傾聴し、合意・協力を得ながら課題解決に取り組んでいる | ・大きすぎる課題でも勇気と責任感を持って解決をしようとするマインドセットを持っている | |
採用・育成 | N/A | ・採用活動に参加・協力し、採用について学んでいる | ・技術面接と評価へ参加している | ・勉強会などを通し、リファラル採用や採用候補者プールの獲得に貢献している
・採用における評価基準のすり合わせや、採用プロセスの改善に貢献している
・技術面接と評価をリードしている
・チームの中長期の組織戦略とそのための採用戦略へ貢献している | ・採用における評価基準のすり合わせや、採用プロセスの改善をリードしている
・チームの中長期の組織戦略とそのための採用戦略をリードしている
・開発組織全体の中長期の組織戦略とそのための採用戦略へ貢献している | ・開発組織全体の中長期の組織戦略とそのための採用戦略をリードしている | |
採用・育成 | N/A | ・インターンや後輩メンバのメンターをし、相手の成長を促している | ・新人に対しての専門分野を含む育成を行っている
↪たとえばジュニアメンバーの手助けをしたり、新しいメンバーやインターンの受け入れを行ったり、ジュニアメンバーのコード品質をレビュワーとして上げている | ・(EM向け)メンバーに対しての専門分野を含む育成・自立・成長を促している
↪たとえばオンボーディングプロセスの改善に貢献したり、チーム全体のコード品質をレビュワーとして上げたり、新しい中途メンバーの手助け、受け入れを行ったりしている | ・自組織に広く有効に活用されるような最先端の手法を組織に伝承している
・(EM向け)メンバー育成のための、現存しない挑戦的環境を作っている | ・再現性をもって事業や組織が成長するきっかけをつくっている
・(EM向け)ハイレイヤー後任育成、中期的視点での組織ケイパビリティ育成をリードしている | |
採用・育成 | ・自信過剰ではなく、幅広く能力向上させようとする意欲・行動がある | ・自分の足りない能力や課題について認識している | ・プロダクト開発に必要な技術や開発プロセスについて学習をつづけている | ・プロダクト開発に必要な技術や開発プロセスについて学習をつづけ、最新のトレンドを共有している | ・プロダクト開発に必要な技術や開発プロセスについて最新のトレンドを把握したうえで組織規模で実践を重ねている | ・プロダクト開発に必要な技術や開発プロセスが組織で自律的に導入されるように導いている | |
情報発信・アウトプット | N/A | ・自身の専門領域において、業務で得た知見をチーム内に共有しチームのレベルアップに貢献している | ・自身の専門領域において、実践し、社内外にむけた情報発信を行っている | ・自身の行動によって会社のプレゼンス向上に貢献している
↪たとえば登壇やブログ記事の執筆について積極的に関与している | ・専門分野において業界で認知され始めている
↪たとえば登壇、CFPへの応募など、雑誌・書籍の執筆について積極的に関与している | ・専門分野において業界で認知され、指名される機会がある
↪たとえば書籍や記事のレビュー・査読、登壇、執筆、業務などが社外から指名のもと依頼される |
他社事例、ラダーの作成プロセスなど関連情報
- メルカリ:Engineering Ladder
- CircleCI
- ShutterStock: Engineering Career Tracks at Shutterstock
- LegalOn Technologies
- LegalOn Technologies のエンジニアグレード評価基準を公開します - LegalOn Technologies Engineering Blog
- 【公開版】LegalOn Technologies Engineering Job Expectation - Google スプレッドシート
- みてねにおけるラダー運用開始後の公開でしたが、公開方法について参考にさせていただきました。直近の事例としてご紹介させていただきます。
- 社内情報(非公開)
- 人事制度、一部部署におけるエンジニアリングラダー、CTO・前CTOや開発系部長陣との対話
またラダーの作成プロセスは以下記事でご紹介しており、あわせてご覧ください: 「家族アルバム みてね」におけるエンジニアリングラダーを公開します - mitene / FamilyAlbum Team