チームワークショップで採用面接を見直した話

こんにちは。CADDi DRAWERでMLOpsチームのチームリードをしている中村遵介です。 チームリードは技術に関して多方面の意思決定を行ってチームの成果に貢献するテックリードと異なり、チームのメンバーや組織に関する意思決定を行ってチームの成長に貢献します。貢献したいです。頑張ります。

最近では、機械学習メンバー/MLOpsメンバーの採用を積極的に行っています。チームメンバーも採用に対してもっと関わっていきたい、と普段から活動してくれています。 私たちのチームでは採用に半構造化面接を用いています。どういう観点でどんな質問をするのか、を予め決めています。

しかし、メンバーの期待している人物像に関して聞いてみると、この質問内容に対して人物像が少しずつ乖離し始めているのはいないか、ということが気になりました。また、チーム全体で顔を合わせて議論すると「xxな人に来てほしい」という何となくのイメージは共有されているのですが、詳細を一人一人にヒアリングすると微妙に想定している内容が異なることに気づきました。当然ですね。

そこで、チームメンバーで「我々はどういう仲間と働きたいのか」を言語化した後に、構造化面接の内容を見直すワークショップを開催しました。

ワークショップの準備

Values Card

Values Cardとは、Wevoxさんの出している自己理解とチームの相互理解を深める取り組みです(https://wevox.io/valuescard/)。 過去に部署の相互理解目的で利用したことがあり非常に良い体験だったため取り入れることにしました。 ただし、今回はチーミング目的ではなく「どんな新しい仲間に来てほしいか?」という価値観を共有し言語化し合うために使用したいと思いました。 よってカードの内容はより私たちの目的に限定したものにするために自作することにしました。

カードの生成

まずはバリューが記載された多様なカードを用意する必要があります。機械学習/MLOpsの新しい仲間に望む要素を1つ1つ思い浮かべて大量に用意する...なかなかすぐに出来ることではありません。自分だけでやると偏りも生じます。 そうです。ChatGPTです。これなら100点の答えを出すことは難しいですが、60点の答えを一瞬で大量に用意することができます。 以下がChatGPTに送ったプロンプトです。

あなたはエンジニアの採用の最高責任者をやっています。
いま、あなたはスタートアップの機械学習/MLOpsエンジニアを採用しようとしています。そこで、今のチームにはどんな人がマッチするのかを調べるために、下記のワークを開催することにしました。

* カードが大量にあり、それぞれに「高度なエンジニアリングスキルを持っている」「他のチームメンバーへの質問を躊躇わない」(*注: 実際にここに書いた例は異なります)など、エンジニアとしてのスキルや指向といった採用観点での様々な要素が1枚につき1つ書かれている
* プレーヤーは最初に5枚のカードが伏せた状態で配られる
* プレーヤーは自分のターンになると山札もしくは川から1枚カードを引く
* プレーヤーは5枚のカードと、引いた1枚のカードのうち、新しい仲間に求めるものとして大事だと思う要素を5つ手元に残し、1枚を川に捨てる
* プレーヤーはターンを終了し、次の人がターンを開始する
* 山札がなくなるまでこれを繰り返す

これにより、メンバーがどういう仲間を探しているのかをシャープに掴もうと考えています。山札がN(*Nは十分大きな数)枚ほど必要なので、カードの中身を考えてみてください

これに対して、ChatGPTは「ユニークで面白い」と言った上でN個の要素を出してくれました。いい時代です。 しかし、いまいちピンと来ない内容も入っています。そのまま使用するには粗すぎる印象です。

カードの精製

LLMに限らず、AIで100点の納得感を出せる回答を用意するには、やはり最後にはエキスパートによる修正を加える必要があります。 そこで、HR(Human Resource)で一緒にエンジニアの採用をしているはまDさんにお願いして、一緒にチェックをしてもらうことにしました。

はまDさん「まずはそれぞれの項目を分類して整理すると良いです」

タイピングが得意なわたし「任せてください。『10個くらいにカテゴリーで分けられますか?』」

ChatGPT「もちろん」

分類してもらった結果、「技術力」「学習・成長志向」など、確かに納得できるカテゴリーが作られました。「あ、このカテゴリーはもっと詳しく聞きたいんだよな」とか「この要素とこの要素はほとんど同じ内容だな」というのが分かりはじめます。

さらに、はまDさんから「このカテゴリーについては、HRではさらにこういう分類をすることがあります」などプロのドメイン知識を教えてもらいました。それにより要素がさらに磨かれていきました。もしかするとこのタイミングで自分のバイアスが入ってしまったかもしれません。ただ、ある程度の数を用意できたのでその点についてはカバーされているだろうと思います。

最後に「ワークショップの最後にただお互いの5つの要素を見せ合うだけでなく、それを文章にして説明することでより具体的な相互理解が深まる」というアドバイスも貰えたので、ワークショップに組み込むことにしました。

カードの準備

さて、最後は実際にカードを用意すればおしまいです。オフラインで顔を合わせて行いたかったので、100均で売ってるメッセージカードに油性ペンで書くことにしました。 一つだけポイントとして、裏面から内容が透けてしまわないように少し厚みのあるカードをお勧めします。

実際のワークショップ

実際のワークショップは4人で行いました。手元に残せるのは5つだけ、になるとどうしても「うーんこの要素も...この要素も重要だと思う...どれも捨てられない...」という状態になりますが当然です。今回カードに書いた要素は全て Better to have な要素です。あった方が良いに決まっていますが、全てを兼ね備えるのはほとんど無理な話です。「5つ」という制約を加えると自分の中で深く比較することになり、本当に譲れないものだけを残せます。

結果として4人×5枚で20の要素が残っていました。「あ、意外とこの要素はそこまで求められていないんだな」とか「やっぱりみんなこの要素は欠かせないと思っているんだね」がメンバー間でかなり具体化されたように感じます。

残ったカード: それぞれについてどういう意図を持って残したのかを紹介し合う

最後に、それらの要素に対して既存の構造化面接の内容を見直してみると「この要素は見極められていないんじゃないか?」ということが見えてきます。新しく質問を追加することにしました。 もちろん「あなたはこの要素を大事に思いますか?」という質問をしてもあまり効果はないでしょう。大抵の要素は大事です。 みんなでホワイトボードに様々な質問を列挙していくことで、この観点を見るためにこの質問を追加しよう、というのを全員で共通認識として持つことができました。

今後も定期的に自分たちの認識を見直していきたいと思います。

おわりに

私たちと一緒に開発を推進してくださるメンバーを募集しています。興味のある方、是非お気軽にご連絡ください!