エンジニア採用の技術課題を考える
エンジニア採用難しい難しいと言われて久しいですが、コロナ禍で採用に歯止めがかかった今春の数字でも求人倍率約7倍と高水準となっているようです。
さらに言えば、転職候補者が恒常的に集まる魅力的な企業でも当然のことながら優秀なエンジニアだけが集まるわけではなく、『妥協のない』採用をするために技術スキルの見極めは非常に重要で難しいポイントです。
そこで選考プロセスの一つとして「技術課題」が挙げられます。
技術課題とは
エンジニア職における技術課題とは、プログラミング力や設計力、思考の深さや理解度の高さを測るためのスキルテストです。
それ単体で合否を判定するケースもあれば、選考における参考資料の一つとして採用するケースもあるようです。
技術課題はどういう種類がある?
コーディングテスト(オンライン)
Codilityやtracなど外部サービスを利用するケースが多いようです。
自前で問題を作成して問いてもらうというケースも。
特定の言語を利用してもらうのと複数の言語から選択できるパターンがあるようで、後者の場合は特定の言語スキルを保持しているかではなく、アルゴリズムやプログラミングへの理解の深さや思考力を試している傾向のようです。また、オンラインの特性上、ググってもらうのも想定内で調べる能力やその企業への意欲も見たいという意図もある場合がありそうです。
いずれにせよ得点が出るものだとしても点数だけで優劣を付けるわけではなく、そこに至った思考プロセスなども含めて判断するのが良いようです。
ホワイトボードテスト
面接内や、決められた場所や時間などの制約がある中で、質問や問題に対しその場で書き出してもらうやり方です。
基礎能力や思考力を試すのは勿論ですが、スキルや知識が定着していることの確認や咄嗟の判断力や考える力を測る目的がありそうです。
オリジナル課題
ケースとしては少ないですが、決められた期日までにテーマにそったアプリケーションを開発して提出してもらったり、Githubでの活動履歴の閲覧を求めたり、AtCoderのようなコンテストへの参加結果を求めたりというようなケースがあるようです。
適性検査
SPIが一番有名ですが、論理的思考力をより深く測れるCABのようなものもあります。
言語・非言語・性格診断などの結果が数値として出ることで、基礎学力や指向性が見えることでポテンシャルを確認する目的で利用することが多いと思います。新卒採用だけでなく中途採用でも参考資料として有効です。
技術課題の運用
技術課題を選考プロセスの一つとして利用するにはメリットだけでなくデメリットもあるようです。
運用側のデメリットとして挙げられるのは以下のような点です。
・評価コストが大きい
・メンテナンスコストが大きい
・技術課題だけでエンジニアとしての能力を絶対的に評価できるわけはない
・候補者体験的には決してポジティブではない
上3つに関しては技術課題導入検討時にしっかり議論されるはずですが、4つ目の点についてはつい忘れがちです。
企業と候補者がお互いWin-Winになるような選考プロセスを丁寧に設計する必要がありそうです。
技術課題は導入すべきか?
個人的には可能であれば導入するのがベターだと思います。
人事や採用担当で決めることではなく、現場の選考官となるエンジニアや組織のEMやCTOなど様々なステークホルダーとの期待値調整やコスト調整が必要になるので気軽に導入するのは避けるべきです。
もし導入していないのだとしたら、まずは導入せずにいかにスキルや知識や実務能力をこれまで以上に見極めできるか、現状を改善することから始めるのが良いのではないでしょうか。