- はじめに
- (早速閑話休題)対象範囲を厳密に定義するのは難しい
- (本題に戻る)早速分類
- (閑話休題) EMとPM
- 最後に
はじめに
お久しぶりです。以前の更新から1年以上ぶりの投稿になります。
近年の機械学習ブームもあり、「データサイエンティスト(以下、DS)」や「機械学習エンジニア(以下、MLE)」の分類について述べられている記事はいくつかあり、様々なタイプがあることは広く認知されつつあります。
しかしながら、ML/DSの仕事に携わる"PM"の分類について述べられている記事は、あまり多くない印象を持っております。
そこで本記事では、ML/DS に関するPMの分類について、個人的見解を記載します。
個人のキャリア戦略だけでなく、組織戦略や採用要項の策定の参考にもなるかと思います。
いつものお約束ですが、あくまでも個人の見解であることはご容赦ください。
(早速閑話休題)対象範囲を厳密に定義するのは難しい
meceに分類を行うためには、対象範囲を決めた上で、議論を行うべきですが、
- そもそもDS / ML PMの範囲を決めるのは難しい
- ある程度妥協して検討します
という言い訳を行うセクションになります。
初手から言い訳です(苦笑)
PMとは?
皆さんは「PM」という単語は何の略語を思い浮かべますか?
- Project Manager
- Product Manager
- (Technical)Program Manager (TPMとも呼ばれる)
- ...
PMという単語には、複数の解釈があります。
加えて、所属企業・所属組織により、求められるR&Rが大きく異なりやすい職種です。
このように「PMという職種の役割は一意に定まらない」という問題があります。
「ML/DS PMの分類」を目的にしながら、そもそものPMのスコープが定まっていないことには問題です。しかし、この記事では、そこには目を瞑ります。
ML / DSとは?
例えば、以下のような役割は ML / DSなのか? という議論がわかりやすいかと思います
- ビジネスインサイトを抽出する分析官(アナリスト)は?
- DWHを構築するデータエンジニアは?
- MLシステムを支えるインフラエンジアは?
- ML/DSの組織作りをする仕事は?
- データマネジメント / データガバナンスを行う仕事は?
- ....
この辺もかなり 曖昧な印象がある / 所属組織によりR&Rが異なるので、細かいところには目を瞑って議論を進めます
(本題に戻る)早速分類
関わる業務による分類
まずは、以下のパターンで分類を行います。
- MLシステムの開発・運用
- 主に分析を行うアナリスト業務
- R&Dを行う業務
- ML/DS組織を運営する業務
- その他
本ブログでは、それぞれの業務に関わるPMを言語化していきます
共通して求められる能力
- プロジェクト進行・管理能力 (特にML案件)
- 様々なステークホルダー(エンジニア・ビジネス...)と折衝するためのコミニュケーション能力
- 関わるプロダクトへの戦略理解
- ML / ソフトウェア / コンピュータサイエンスの基礎的な知識
- リーダーシップ / ファシリテーション能力
コメント
- 一定程度、ソフトウェア開発 / MLに関する知識があるに越したことはないことは言わずもがなです
1. MLシステムの開発・運用
(1-a)インフラ周りの運用を行うPM
関わる仕事例
- MLのシステムを支えるインフラ(例: k8s、各種リソースのモニタリング)の開発・運用を行う
求められる能力
- インフラへの知見
- システムの保守運用に関する知見
コメント
- MLシステムが普及している組織においては、インフラ運用の必要性が高まる
- PMとしては、MLもだがインフラやdevopsの知識 / 経験が強く求められる
(1-b)MLフレームワーク / プラットフォームの開発・運用を行うPM
関わる仕事例
- 全社向けMLプラットフォームの開発
求められる能力
- 解決したい課題の抽出能力
- ソフトウェアの知識(システムデザイン能力など)
コメント
- ソフトウェア・コンピュータサイエンス能力がより重宝される
(1-c)MLシステムの導入開発・運用を行うPM
関わる仕事例
- 特定の事業部・特定の顧客向けのMLソリューションの開発・運用
求められる能力
- 顧客・プロダクト理解
- システムインテグレーションの進行
(1-d)ほぼ PdMなPM
関わる仕事例
- 特定のプロダクトに関するML戦略の立案・進行
求められる能力
- 高いレベルでの顧客・プロダクト理解
コメント
- 開発進行は切り分けて(1-c)が進行するパターンもある
- 開発よりもビジョナリー / 戦略策定に重きを置くキャリアもある
2. 主に分析を行うアナリスト業務
(2-a)分析方針策定・成果物の品質担保を行うPM
関わる仕事例
- 複数人のアナリストチームのリード
- 他部署との折衝
求められる能力
- データ分析・統計知識
- ドメインに関する知見(ビジネス・データ両面)
- データ分析チームの運営能力能力
- ドキュメンテーション能力
コメント
- 他部署との折衝も重視される
3. R&Dを行う業務
(3-a)R&Dチームのリード
関わる仕事例
-R&Dチームのマネジメント
求められる能力
- 研究進め方の理解
- ビジネスとR&Dの関係性の期待値調整
4. ML/DS組織を運営する業務
(4-a)組織作り / 運営を行うPM
関わる仕事例
- ML / DSチームの組閣、運営を行う
求められる能力
- 組織運営のノウハウ
- 他部署 / ハイレイヤーに対する適切なコミニュケーション能力
コメント
- いわゆる部長以上のレイヤーを指すことが多い
5. その他
(5-a)データマネジメント / データスチュワードに関するPM
関わる仕事例
- ML / DSチームが用いるデータのガバナンスの仕組み作り
求められる能力
- データガバナンスに関する知識(組織によっては法律の理解も必要)
- データガバナンスを達成するためのエンジニアとしての知識
コメント
- DS/MLではさまざまなデータを用いるため、データガバナンスは避けて通れない問題
(5-b)エバンジェリズムに関するPM
関わる仕事例
- 社内/社外に対する事例共有・講座運営
求められる能力
- 社内/社外に事例をエバンジェリズムする能力
- イベント運営に関する知見
コメント
- 最新の技術トレンド / 事例を把握しておく必要がある
(閑話休題) EMとPM
これは私の持論ですが、Engineer Manager / Lead Engineerなどと呼ばれるシニアなエンジニア(以下、EMとも記載)とPMではR&Rが大きく異なると認識しています。
- EM: あくまでもエンジニアである
- PM: プロジェクト・プロダクトの開発の進行を行うプロフェッショナル
多くの組織で、シニアなエンジニアが、PMのR&Rを担当することがしばしばあります。しかし、実際のところ、PMはPMで上記のように多様な仕事がある専門職であるので、PMとEMは異なるポジションとして扱うべきだと、個人的には考えております。
もちろん、EMとPMでR&Rが重複する部分もあります。重複部分があることを理解し、EMは エンジニアリング / howにより重点を置きつつ、PMは マネジメント / what, whyにより重点を置き、EMとPMがコラボすることで、より高い成果を期待できるでしょう。
上記では、EMとPMの役割分担を述べましたが、その他に気をつける点として、「評価」も気を付けるべきです。
EMとPMとで担当する役割が異なることは、すなわち評価されるべき観点が異なるということになります。例えば、EMを目指したい人に対し、PM観点での評価を行うことでは、認識齟齬が起き、退職などに繋がることが懸念されます。
そこで、EMかPMかのラベリングをはっきりと与えること / 評価をその観点で行うことで、不必要な摩擦が生じることを防げ、キャリアの成長に寄与できるかもしれません。
もちろん、これらのEMとPMの棲み分けは理想論です。MLチームの規模が小さくシニアなエンジニアがPMを担当せざるを得ない / PM専門職としての人材がいないなど、現実には実現可能性が難しいことがしばしばあります。
実際、ML PM専門の職種 / 組織を用意している会社の方が稀有であると認識しています。
最後に
本ブログではML/DSに関わるPMの分類について検討を行いました。
DSやMLEに比べ、PMに関する議論はあまり活発でないのですが、恐らく今後、注目度が高まる職種であると推測しています。(だいぶ個人の希望を含みますが) (実際、PM文脈でのマネジメント人材が足りないという声はチラホラ聞きます)
本ブログが何かしらの議論のキッカケになれば幸いです!!