はじめに
この記事はEngineering Manager Advent Calendar 2023の16日目の記事です。
ここでは機械学習エンジニア組織のマネジメントにおいて、筆者が体験した課題やそこで得た学びについて紹介します。一部、マネージャー就任以前のリーダーポジションだった頃の話も含まれます。
自己紹介
エルピクセル株式会社の研究開発本部でエンジニアリングマネージャー1をしています。
自部門では医療分野の画像認識アルゴリズムの開発を担当していて、開発するアルゴリズムの大半は自社製品である画像診断支援AI EIRL(エイル)への搭載を目的としています。
自部門の特徴
画像認識アルゴリズムの開発を主務とする機械学習エンジニアのみで構成されています。
メンバーは前職が研究者、大企業の役員など多様性に満ちていて、それぞれの得意分野で高い能力を持つ一方で、企業におけるソフトウェアエンジニアとしての経験は少ないメンバーが多くを占めています。
マネジメントから得た学び
(1) タスクの粒度やスコープはメンバーに合わせて調整する
マネジメントを担当することになった当初は、WBSを作成し、ある程度均等な粒度に揃えたタスクをメンバーにアサインする手法を取りました。特に深い考えに基づくものではなく、前職での経験をそのまま当てはめてみただけだったのですが、結論としてこれは上手く機能しませんでした。
割り振ったタスクは一応消化されていくのですが、想定よりも進捗が悪く、タスクの難易度の想定を誤ったのか、スキル的なミスマッチがあったのかと色々悩みました。一方で「これはちょっと難しいかなぁ」と思うタスクを驚くほどのスピードで完了させることもあり、能力自体の問題でないことも分かりました。
こういった状況をしばらく続けて理解したことは、メンバー間で最適なタスク粒度・スコープの範囲に差異が大きいということです。あるメンバーは課題だけを説明して自由に解決手段を探索してもらうことが向いているし、別のあるメンバーは一度に担当するスコープをできるだけ最小化し、その範囲で最適な結果を追求してもらうことが向いているしと、個々のメンバーにとって最適な粒度・スコープでタスクをアサインすることで、能力を十全に発揮してもらえるということがこのときの学びでした。
(2) スペシャリストには専門性の発揮に集中してもらう
自部門は高い専門性を持ったスペシャリスト系のメンバーが大半を占めているのですが、ジェネラリストではない故に得意分野と苦手分野がはっきりとしています。たとえばコーディングや統計的な分析には強みがある一方で個別のサンプルを定性分析することは苦手としていたり、既存手法の調査・応用を得意とする一方で自ら新規性の高い技術を開発することは苦手としていたりと、得意分野と苦手分野で成果の品質・速度に差がありました。
マネージャー就任当初は「そうは言っても、いつまでも苦手なままじゃ困るから得意じゃないことも頑張ろうね」というスタンスだったのですが、しばらくの期間様子を伺ってみた結果、スペシャリストにとって苦手な業務は本当に苦手そうだし、実際に効率も悪いという考えに変わりました。もちろん、本人に意欲があれば得意分野以外をチャレンジしてもらうことは経験の幅も広がり素晴らしいことなのですが、そうでなければ本人は苦痛だし、マネージャーとしては成果が得られないしということでお互いに不幸だなと今は考えています。
実際には程度問題でもあるので、対応可能な範囲は探っていく必要はありますが、基本のスタンスとしてはスペシャリストには専門性の発揮に集中してもらい、それ以外の部分は組織で補っていくことが、あるべき姿なのだろうなというのがここでの学びです。実現のためには各メンバーの特性を把握しておく必要があり、このためにも開発の様子をよく観察し、対話や議論などを介して理解を深めていくことが重要と考えています。
おわりに
機械学習エンジニア組織のマネージャーとして体験した課題とそこから得た学びについて紹介させていただきました。
結論だけ見ると「当たり前じゃない?」と思うものになりましたが、意外と体感してみないと重要性は実感できないものだなと思っています。適切なマネジメント方法は組織やメンバーの性質によって変わりうるため、ここで紹介したことがあらゆる場合に当てはまるということはないと思いますが、類似の状況でマネジメントを行っている方や、これからマネージャーになろうとしている方の参考になれば幸いです。
-
社内呼称はグループリーダー ↩