LIFULLでは2018年10月にAI戦略室という、データサイエンスに注力する組織を設立し、それに伴いデータサイエンティストの採用活動を行いました。売り手市場ということもあり採用になかなか苦戦しました。結果としては優秀な人材を採用することに成功し、それまでに試したことを紹介します。
転職を考えている人は採用側の立場の考えを知っておくとよりうまく立ち回れるかもしれません。
1. 登壇する
会社としてデータサイエンス技術のアピールのためにもできるだけ社外で登壇をするようにしました。2019年は3回登壇し、勉強会形式の発表も含めれば倍くらい発表しました。データサイエンスをやっている企業だと認知してもらって応募が増えることが狙いです。新卒採用の学生にも知ってもらう良い機会となり、応募してくれる学生のレベルが上がってきたのは想定以上の効果がありました。他社との人材の取り合いのためにも継続的な技術発信は重要です。
2. スカウト系サービス
スカウトサービスをいくつか利用しました。職務経歴書や技術力をアピールする資料を書いてもらい、企業側が指名して採用や面談ができるサービスです。企業側が指名する仕組みなので転職者のレベルは全体的に高い反面、提示年収額も高くなりがちですが、ガチで優秀な人材ならその額で採れれば全然安いと思います。
スカウトサービスで経歴を見るときに注意したいこととしては、スカウトを送る段階で想定年収を提示する必要があることが多く、額を後から下げることはできないというルールがあるので、戦略的なゲームが始まります。優秀な人材には複数企業から入札が殺到し、他社の入札額を知った上で意思決定できるので、採りにいくならさらにその上を積み上げるようにしないと容易ではありません。私はあくまで自社の水準に照らし合わせて評価することに徹し、オークションのような勝負で採用しに行こうとは思ってませんでしたが、他社の動向をみてるとそういう戦略で参加している企業も少なくなかったです。こういうことが起きうるので転職で大幅年収アップを狙う場合にはスカウト系サービスは選択肢に入れておいていいと思います。
3. 転職活動をする
採用をするにあたって致命的だったことは私が転職したことないということでした。新卒でLIFULLに入社して当時3年目で、他社との人材競争をするうえで転職をしたことがない、市場を知らないというのはあまりに不利でした。結果的には自分も転職活動をしたことは採用がうまくいった理由の一つだと思っています。他社がどういう募集をしているか、他社の年収水準などを知り、データサイエンティストを採用するには何か工夫がいると思いました。
採用のための転職活動とはいえ今の会社よりも働きたいと思える会社があれば転職するつもりで転職活動をしていました。
4. 自社を知る
実際に転職活動をしたことで、年収以外の点で差別化する必要性に気づきました。弊社ではデータサイエンティストとしてどういう経験を積めるのか、どんな社風か、どんな環境かを知ってもらうことで他社にはない良さがあれば検討してくれる人があらわれるかもしれません。それに合わせてスカウトサービスでのスカウトメッセージも工夫するようにして、面談までもっていくことができました。
自社が他社とどう違うかを説明するというのは案外難しいもので、ぜひ一度考えてみてほしいです。意外と説明できないと思います。開発業務をしている人であれば、特に何も考えていない、という人も多いのではないでしょうか。
5. 面接は準備に時間をかける
選考を受けに来てくれても優秀かどうか判断しなければいけません。短時間の面接で判断するためにも準備として書類に記載してくれた情報にはすべて目を通し、githubや技術ブログなどがあればその中まで徹底的に調べました。面接時に質問とその返答に対する質問を何パターンか用意しておいて、明確な理由を持って合格、不合格を判断できるようにします。
まずデータサイエンティストに関する私の考えを述べておきます。弊社でのデータサイエンティストの仕事は機械学習モデルを作ることだけではなく、複雑な要素が絡む企業の課題をデータサイエンスで解決することです。定められた評価指標を最適化するようなkaggle形式の技術開発力も重要な能力ですが、実務ではそういった問題に落とし込む部分も必須です。例えるなら、1*1+4のような計算問題を解く能力と算数の文章題を計算問題に変換する能力という関係です。後者については会社の方針、予算、社内政治などの絡んでほしくない要素も要件に入ることがあり、外注では適切なソリューションは出にくいと思っています。そのため自社でこの能力を満たせるようにしておきたいです。前者についてはautomlやsagemakerなどの機械学習自動化が進んでいくとある程度の水準であればだれでもできるようになります。ただし、手を抜いていいということはなく理解度が低いとそもそもkaggle形式の問題にすることはできませんし、クラウドサービスも最大限に活用することもできません。あとは最先端はクラウドに搭載されていなかったり、自社特有の課題は著名なアルゴリズムではマッチしなかったり、そもそも機械学習以外のアルゴリズムだと自分で実装する必要があったりするので、それ相応の理解は必要でしょう。
なので私はその2つの能力を持っていることを重要視する項目の一つにしていました。
ということを踏まえたうえで、データサイエンティストの面接で気をつけていたことを2つ挙げます。
課題解決能力
課題解決能力を判断するためにはどういった課題に対してどうやって解決したかということをデータサイエンス技術も交えて話をするのがいいと思います。しっかりと妥当な技術選定ができているかを判断するためには、本人が理解している必要がありますが、それを面接官が判断するためには、面接官が技術を理解しないといけません。面接の準備として時系列、機械学習、画像解析、レコメンド、自然言語処理、数理最適化、統計モデリングなど人によって経験している技術が異なりますので、いろいろな分野を勉強しました。業務外でニッチな技術を触っている人や、論文貼り付けの人が受けに来てくれたらそのたびに会話できる程度まで勉強していくのは大変でした。
逆に面接官の技術理解度が低いと相手の理解度は当然わかりませんし優秀な人材を逃しかねないので、採用側の立場であることに驕り高ぶらず精進を忘れないでほしいです。
行動力
エンジニアに共通して言えることで、はっきり差が出るのは行動力だと思っています。行動量が多い人はインプットもアウトプットも多く、その過程でスキルアップしていっている傾向が強いです。アウトプットとして技術記事やgithubなどがあれば判断もしやすいので、採用で基準にしている企業は多いはずです。ただし、アウトプットが多い人材は多くの企業からスカウトが来るため、採用するには金額を積むか働きたいと思える環境を作っていくかしないと難しいです。
機械学習関連のgithubを見ても高度な技術を使っていることと理解できているかはまた別問題だと思っていて、やっぱり面接官が技術を理解する努力を怠るのはよろしくないです。
結果
無事に優秀な人材を採用でき、一人は私の上司としてチームのマネージャー、もう一人はチームメンバーとして一緒に働いています。私のメインの仕事はデータサイエンス関連の研究開発で採用はサブだったのですが、採用する人材の優劣の差がもたらす会社への影響は時間で積分すると莫大であることは言うまでもなく、妥協を許さない採用を最優先して成功したと考えています。
所感
技術職の採用はもはや人事だけの仕事ではなく、現場の社員も真剣に向き合う必要がある問題だと感じました。優秀な人材を採用したいなら、こちらも相手に認めてもらえるための努力をしてほしいです。とりあえず採用をやっている人は何らかの努力を継続してほしいと思います。
採用という業務を考えたときにサイエンスと対照的な面があり、あえてデータサイエンスを活用して劇的にパフォーマンスを上げたくなります。人材の優秀さ、成長幅、成長スピードの不確かさ、会社になじめる度合いなど定量的に評価するのは困難なことが多く、さらにこれらを採用時に意思決定しなければいけません。だからこそ科学の立ち入る隙間があるというか、よくありがちな機械学習事例を作っていくよりもよっぽどチャレンジングじゃないでしょうか。採用の仕事の楽しみ方の一つはその不確定要素に対して予測精度を高めていくための打ち手を考えていくことなんじゃないかと思いました。