shiibassです。今年の10月からデータサイエンティスト、機械学習エンジニアの中途採用に携わっています。
今回はデータサイエンティストを採用することについて自分の考えをまとめてみました。採用側にも転職者にも情報が伝われば満足です。すべて個人の考えですのでマジョリティと解釈が異なるかもしれません。
データサイエンティストとは
データサイエンティストの定義があいまいで、人によって、企業によって、業界によって指すものが異なります。
データサイエンティスト協会では以下の3つが必要で、まとめると、「データサイエンスとエンジニアリングでビジネス上の課題を解決する職業」としています。
この定義については私も同意なのですが、企業や立場によって使うスキルは異なることが多いです。例えば、データ分析をして改善案を提案するコンサルティングに近い業務では「ビジネス力」が重要になるでしょう。そこでは最新の論文で提案されるような分析手法は必要としないことが多いですが、研究に近い業務ではその「データサイエンス力」は必須になります。仮に新しい技術を提案できたとしても「データエンジニアリング力」がないと商品やサービスとして実装することはできません。
このようにデータサイエンティストは幅が広いので採用側と応募側では入社してから思ってたのと違ったということがないようにしたいです。企業側も本人も得しないので何もいいことがありません。双方この事実は知っておくべきで、そのようなことがないように例えば以下のような行動をしておきたいです。
採用側
あらかじめどういうタイプのデータサイエンティストを募集したいのかを明確にすべきです。特にデータサイエンティストがいない企業ほど起こりやすい気がします。
応募側
入社前にぐぐったり質問したりして調べておきたいところです。
選考で覚えておきたいこと
採用基準は会社によって異なりますが、だいたいこのあたりだと思います。
- スキルがマッチしているか
- 人柄がマッチしているか
- 会社(文化や社風など)とマッチしているか
2,3に関してはなかなか変わるのは難しいですし、会社によるものなので事前に社員と交流しているほうがつかみやすいです。1に関してはある程度明確に線引きできる項目であり、かつ、努力で伸ばせる項目なのでぜひ頑張りたいものです。そのための準備として転職活動するにあたってやっておきたいことを述べます。
職務経歴書は丁寧に書いたほうがいい
面接官はその人の情報を持っていないのと面接の時間は長くないので、短時間で合否の判断をする必要があります。書類に記載した内容は面接時には既知情報になるので、どういうことを質問したいかを絞ることができます。書かれている内容が少ないと本当に聞きたい話のために細かい質問を続けていかないといけなくて、得られる情報量も少なくなってしまいます。例えば以下の2つのどちらが経歴書に書いてあると助かるか考えてみましょう。
-
データ分析をしてユーザーの行動予測モデルを作って売り上げを5%改善した。
-
ユーザーの行動予測モデルの開発。関連技術: Python, scikit-learn, 線形回帰, MySQL
どちらがよいかは賛否両論あるでしょうが、私は2のほうが助かります。売り上げを改善する働きをしていることは素晴らしいですが、面接官はそれが事実かどうか確認することができないのと、5%という数値を見てもスキルを判断できません。もちろんそれを確認できる資料があるなら話は別ですが。スキルを知るためにどういう分析をしたか、どういうシステムを作ったかなど聞く必要があり、2であればある程度何をしたかを想像できるので、聞きたい質問までの時間を短くできます。この経験から興味ある情報がなさそうであれば別の経験に話題を変えることもできるのでスキルの誤判定を防ぎやすくなります。したがって経歴書は丁寧に書いたほうがいいのですが、丁寧というのは長々と書くという意味ではなく企業が求めていそうなことを簡潔に書くという意味です。
業務外のアウトプットは確実にプラス
私は勉強したことを人々の目に見える形にアウトプットしませんが、そんな愚かな私ですら転職においてはアウトプットしてあると確実にプラスに働くと考えています。何しろ情報量が少ないのでどういうコードを書くのかとかどういう勉強をしているのかなどを最も知ることができます。日々新しいものが出てくる世界で、キャッチアップしようと心がけていることも伝わるので一石二鳥です。少なくとも機械学習に関しては発展速度が著しいので、浅く広くでも分野を絞って深くでもいいので追いかけていかないと確実に置いていかれます。そもそも勉強していても置いていかれるんだよなあ。
そういうことを業務外でも勉強している人と面接をしていると経歴書に書かれていないことを振っても会話が成立することが多く、仮に多少経験が浅くても長期的には会社の利になるだろうというケースで合格を狙えます。将来転職を考えているなら日々積み重ねておくことをおすすめします。転職を考えていなくても会社の技術レベルが低いと優秀な人材を採用しにくくなるのと、会社の生産性も下がっていくので勉強はしておきたいです。
自分のやりたい方向性を決めておく
新卒なら話は別ですが、中途採用であれば自分がどういう仕事をしていきたいか、どういうキャリアを描いているかについて話せるようにしておいたほうがいいです。入社したけど思っていた仕事と違うとなれば、お互いに悲しくなります。
ただ話せるだけでなくそのキャリアの実現に向けて実際に行動していないと説得力がないので気をつけたいです。
データサイエンティストでなくてもこれらがあてはまるケースは多いはずですので、軽視しないようにしましょう。当然のことと思う人もいるかもしれませんが、実際に採用活動をしていると伝え方次第でさらに好印象を与えられそうだったり、明らかに準備不足だったりでもったいないなあと感じることがあります。
次に面接官が準備しておきたいことです。
スキルを見極めるための質問を用意しておく
スキルを持っているか判断できるための質問を用意しておきます。機械学習やデータ分析の手法を使えるかどうか・使ったことがあるかどうかだけで判断するのはいまいちだなあと思っていて、というのも、実行するだけならサンプルコードをコピーしてデータを差し替える程度でOK、もしくはツールを使えば一切コードを書かなくても機械学習をすることができるという判定になってしまうからです。実務だと特定の手法を使うということは要件に入らないので妥当な解決方法を選択する必要があり、それができそうかどうか面接官は気になります。幅広く経験しているのが理想ですがなかなかそうはいかないので、転職者が経験した業務からそういった能力があるかどうか引き出せるように質問とそれに対する回答もある程度想定して判断できるようにしておきましょう。アルゴリズムに関して深く理解している人の理解度はわからなくても、あまり理解していない人の理解度は会話していると案外わかってしまうものです。
エンジニアの採用面接でもシステム設計の意図を説明できたり、メリットデメリットを理解して使い分けることができるというのは重要になる点ですが、機械学習でもその点に関しては似た感じだと思います。
書類選考時に気になった技術は勉強しておく
職務経歴書を読んでいると知らない技術が書かれていることがあり、何も知らないまま面接をするのは愚かなので勉強しておきます。全く知らない技術だともしその話になったときに興味本位の質問くらいしかできず、転職者が高いスキルを持っていたとしてもそれを発揮できずに終わってしまいます。ついでにもしかしたら自社に導入できそうな技術があるかもしれないし、せっかくの機会を有効に活用しています。
ミスマッチをなくせるように、かつ、優秀な人材を採用できるように面接官の準備も必要でした。書類選考と面接で一人当たり60分から120分ほど割いていますが、その合否がもたらす生産力(売り上げとか)と費用(人件費)は長期的に見ると大きな値になるので妥協するわけにはいかないです。
最後に
書類選考と面接官をしてみて感じたことをまとめました。転職者は役立ちそうなところは参考にしてもらってよりよい転職に役立ててもらえれば幸いです。データサイエンティストをこれから採用しようとしている企業はまずデータサイエンティストを知ることから始めて、できるだけミスマッチが起こらないようにしましょう。