グレード制度及び各グレードのクォリフィケーション
エンジニアのキャリアパス構築仕組みを紹介する前に、まず株式会社チームスピリットの人事制度を説明します。
チームスピリットでは、グレード制度及び各グレードのクォリフィケーションが明確に定義されています。 人事の説明資料を抜粋して、この制度のねらいを概略すると、
➢自身のグレードの職務期待値を理解し、行動規範とする
➢ 会社成長と共に自己成長を実感し、キャリア形成をサポート
となります。
また、上位の「職務クラス」の概念もあり、
✓ 各グレードの上位概念として、職務クラスとして「メンバー」「マネージャー」「ディレクター」の3つに集約される
こととなっています。
キャリアパスについて、下記プロセスを通して、昇格降格を行います。
✓ 上位グレードへの登用については、目標に対する年間を通したパフォーマンスの結果に加えて、 職務クラス・グレード概要で定義した要件を満たしていることを前提とする
✓ 下位グレードへの降格については、目標に対する年間を通したパフォーマンスの結果に加えて、 職務クラス・グレード概要で定義した要件を著しく満たしてないことが継続して判明した場合実施の可能性がある
それから、非常に特徴的なグレード定義として、「マネージャー」及び「ディレクター」の管理監督者に対して、 「ジェネラリスト」と「スペシャリスト(人事労務管理はしない)」の2種類のロール定義があります。
Generalist (Manager)
チームの目標達成や課題解決に対して、自律的にドライブすることができる。 マネージャーとしてチーム全体をリードし、下位層メンバーの目標設定、およびその達成を支援することができる。 その領域に関しての深い専門性を有する。
Specialist
その業務領域においてチームの第一人者として認められ、高度なスキルを元に他チームに対しても影響力を保有すると共に、メンバーにもスキルの継承をすることができる
エンジニアにおけるキャリアオプション
エンジニアという職業は、専門性が高いため、キャリアパスを考える時に、生涯をかけてより高い技術力を追求したいと考えるケースが一般的です。
しかし多くの会社では昇進昇格の道としてプロジェクトマネジャー/課長/チームマネジャーなど管理職のラダーしかありません。 多くのエンジニアによって、より高い給料をもらうために、専門性を犠牲にせざる得ないことは健全ではありません。
チームスピリットでは、「ジェネラリスト」と「スペシャリスト(人事労務管理はしない)」のロールを分けた人事制度によって、有能なエンジニアに複数のオプション提供し、各人がチャレンジしたい道を選択できます。
また、エンジニアグレード概要として、下記のような説明があります。
Manager
マネジメントスキル 50% 専門性 50%
つまり、仕事のリソース配分も、評価のポイントも、専門性とマネジメントの両立が前提となっています。
一方、「スペシャリスト(人事労務管理はしない)」については、専門性100%の指標で業務配分と成果評価を行いますので、専門性を追求しながら上位グレードへのキャリアアップする機会があります。
エンジニアにおけるグレードクォリフィケーション
チームスピリットでは、各エンジニアグレードに対しては、更に明確なクォリフィケーションを定義しています。
エンジニアに、グレードとクォリフィケーションに基づき、現在の自身の立ち位置を明確に把握してもらい、今後のキャリア構築、将来への展望を具体的に描くことが期待されています。
同時にマネジメント層は、グレードの定義に照らして、現状強化するべきクオリフィケーション要件を元に、メンバーと一緒に各人の年度成長計画の策定を支援していきます。
例えば、2020年より、経験の浅いStaffエンジニアグレードに対して、下記のようなクォリフィケーションを設けています。
アジャイル、スクラムでの製品開発手法、Salesforceの基礎知識・プロダクト運用方法を体得し、適切な指導の下スケジュール通りに成果物を仕上げることができる
個々の業務範囲(Scope of work)において、ソフトウェアエンジニアの場合は、
- タスク工数見積もり
- ロジカルな情報伝達と設計
- 詳細設計(例:クラス図、シーケンス図、ER図)
- コーディング
- ユニットテストケース設計
- ユニットテスト
- バグ修正
- ドキュメント(機能仕様書やリリースノートまとめなど)
- 社外技術広報活動
などが要求されます。
もちろん上司やシニアエンジニアからのサポート・アドバイスをもらう前提で業務遂行しますが、各業務の成熟度に基づき、育成計画を策定し、成果に基づき上位グレードへの登用を行います。 育成活動に対して、リソースや費用をかけて実施していくので、予算編成時にきちんと予算の確保が大事になります。
ちなみに、エンジニア組織では、下記の成熟度モデルを定義しています。
- High 約90%以上の業務が完全に任せられる。
- Medium サポートとレビューが必要だが、半分前後の業務が完全に任せられる。
- Low やった事がない、もしくは、基本的に70%以上の業務についてサポートとレビューが必要。
メンバーとマネジャー間は、定期的に、クォリフィケーションと業務遂行範囲の成熟度棚卸しを行い、弱い分野に対してLowをMediumに、MediumをHighに持っていけるようアクションしていきます。
なお、エンジニアに対してスキルマトリクスが作成されていて、組織全体のスキルの可視化も行っています。 今後機会があれば改めて紹介したいと思います。
管理監督者エンジニアのグレードクォリフィケーション紹介
チームスピリットのエンジニア組織では、管理監督者クラスエンジニア、つまり「ジェネラリスト」(マネジャー)及び「スペシャリスト」に対しても明確的なクォリフィケーション定義があるので、紹介させていただきます。
まずマネジャーに対して、
Engineerとして5年以上の経験があり、アジャイル開発・品質管理・プロダクト運用における方法論やポリシー、実践方 法に関して、様々な知識と経験を備えている。
プロダクトデリバリーを確実にするために、Engineerをリードすることがで きる
とのクォリフィケーションがあります。 プレーイングマネジャーであれば、シニアエンジニアの業務を遂行する同時に、より多く経営資源を与えることでより大きな成果と貢献が期待されます。 具体的にはマネジメント業務について下記の業務範囲(Scope of work)が定義がされています。
- エンジニアチーム文化醸成
- チームとメンバーの目標設定と実施
- 公平なOKRと人事評価
- メンバーのリソース管理・労務管理・メンタルケア
- メンバー育成計画と実施
- 開発プロセスの改善と見直し
- リスクマネジメント
- 生産性管理
- 予算・コスト管理
- 外注管理(ベンダー選定、進捗管理、予算管理、発注管理、稟議、品質管理など)
上記業務についても、エンジニア同様に成熟度モデルを通して、現状業務成熟度を可視化しています。
スペシャリストエンジニアに対しては、
技術に対する幅広い知識と、特定技術領域において高い専 門性を持ち、技術的リーダシップを発揮して、Engineerや PMの問題解決を支援する。
開発方法論・開発標準の確立 や、アーキテクチャ設計、品質管理、ITサービスマネジメント などをリードできる。
先端技術や海外を含めた最新のプラクティスに対する関心 とのクォリフィケーションがあります。
スペシャリストエンジニアの業務範囲(Scope of work)は下記となります。
- 技術ステコミへ提案し、開発言語、フレームワーク、ライブラリ、プラットフォームなどの技術選定プロセス参加
- 技術ステコミへ提案し、中長期技術戦略決定プロセス参加
- PMとプロダクトロードマップ策定(要件実現性や優先順位やリソース計画など)参画
- 開発ガイドライン策定
- 技術分科会のリード
- 全体アーキテクチャー設計と改善
- 開発プロセスの改善と見直し
- シニアエンジニアの成果物レビュー
ソフトウェアエンジニア以外に、QAエンジニアに対しても、業務範囲(Scope of work)の定義があります。
例えばスペシャリストQAエンジニアの場合は、
- 技術ステコミへ提案し、テスト技術選定
- テスト自動化フレームワーク及び環境開発と構築
- 会社全般品質改善及び提案
- 技術分科会のリード
- 品質保証ガイドライン策定
- シニアQAエンジニアの成果物レビュー
との内容になります。
まとめ
チームスピリットでは、人事グレード制度をベースにエンジニアのキャリアパスに対して、多様な成長オプションを提供しています。
エンジニア組織では、各グレードに応じて更に詳細な独自のクォリフィケーションも定義されています。 成熟度モデルに基づき、業務遂行範囲の成熟度を可視化し、ビジネスニーズ及び各人の希望により、強みをさらに強くして、弱みを強くしていく仕組みを構築しています。
一度に作った制度は終わりではなく、PDCAの観点で半年おきに定期的に見直しを行っています。 今後見直しの結果も紹介したいと思います。