Engineerとして勤務。Engineerの面接官も経験。エンジニア出身でない経営者や人事担当者の方に向けて、優秀なソフトウェアエンジニア(以下、エンジニア)の採用にどのように取り組むべきか、少しでも手助けになればと思い、この記事を執筆しました。優秀なエンジニアを採用するべきなのか?そもそも優秀なエンジニアとは?優秀なエンジニアは普通のエンジニアの十倍、あるいは、百倍仕事ができると言われます。実際私自身も、エンジニアとして働く中で様々なエンジニアを見てきて、百倍はやや極端な例と思うものの、十倍、数十倍の差は優にあると感じます。優秀なエンジニアは実現可能なことが多いです。優秀なエンジニアというのは単に何かしらの専門的な知識や技術を持ってるだけではなく、仮に自身の知らない技術や領域であっても、必要であれば勉強・理解して形にする、その遂行力と早さに長けています。「シンプルなホームページを作ってくれ」と言われてできないプロのエンジニアは少ないと思いますが、「ミーティングを録音するからそれを自動で文字に起こすソフトウェアを作ってくれ」と言われると、実現できるエンジニアというのは格段に少なくなることでしょう。優秀なエンジニアを採用する理由とは?仕事が早いことと実現可能なことが多いことだけが、優秀なエンジニアを採用するべき理由なのでしょうか。私は、それだけが理由ではないと思います。それだけの理由なら、必要なエンジニアを一部の優秀な人で構成し、残りは最低限できる人で開発チームを構成しても問題ないはずです。Googleもエンジニアが常に不足しているにも関わらず、厳格な採用基準を定め、それを崩さないでいるように見えます。優秀なエンジニアを採用する理由として、ソフトウェア開発は本質的にチームワークであることが影響していると私は考えます。ソフトウェア開発は、一部の人が開発する部分が完璧であったとしても、最終製品が動きすらしないということが当たり前に起こりえます。加えて、自分の仕事が他の人の仕事に影響されやすく、他の人の仕事を確認する必要もあります。そのため、一つのソフトウェアを分担して作る、というよりもメンバーと協同して作る必要があるため、チームワークが非常に重要です。言うなれば、一文字でも誤字・脱字があれば開きすらしなくなるパワーポイントを多人数で同時に作成しているようなもの、とイメージしてもらっても差し支えありません。そのような性質があるため、採用・管理する側としても、実際に現場で共に働くエンジニアとしても、単に向上心を持って自分より優秀な人と働きたいというだけでなく、できることなら自分とあまりかけ離れないレベルの人と働きたい、という思いがあります。この思いがよく言われる、優秀なエンジニアは優秀なエンジニアと一緒に働きたいという言葉につながるのではないでしょうか。ソフトウェアにある僅かなほころびが、ソフトウェア全体に影響を与えてしまいかねないというソフトウェア開発の本質的な難しさがあります。そのため、エンジニアの採用には、若干名のスーパーエンジニアを採用すれば良いのではなく、全員のクオリティを担保する事がより重要になってくると考えています。優秀なエンジニアを採用する方法とはその答えは『コーディング面接をすること』だと考えています。コーディング面接は、短時間で効率的により確実にエンジニアの実力を見抜く最良の方法でしょう。今までの開発経験や勤務年数、持っている資格などより、遥かに正しく実力を見抜くことができるのがコーディング面接です。野球の優秀なピッチャーを採用したいのに、実際に目の前で球を投げてもらわずに、出身高校や経験年数ばかり聞くということはないでしょう。実際、Googleをはじめとした優秀なエンジニアを採用しているシリコンバレーの会社でコーディング面接をしていないところを私は知りません。それどころか、エンジニアの面接と言えばコーディング面接のみ、といった企業の方が多いくらいでしょう。コーディング面接のもう一つの大きな利点は、コーディング面接をしているというその事実自体が、エンジニアにとって喜ばしいということです。コーディング面接を実施している会社に対して、エンジニアは安心感を得られます。エンジニアの実力を見抜く最も良い手段がコーディング面接だということを会社が認識しており、エンジニアの技術力を重視している、きちんと実力で選ばれたメンバーが揃っているのだろうというメッセージとして、エンジニアは受け取ります。エンジニアの採用のためには、ディスプレイや椅子などの環境を整えることが大切だとよく言われています。大切で重要だとは思いますが、優秀なエンジニアであればあるほど、そのような環境より、前の節で述べた理由で、共に働く仲間がどういったエンジニアであるかを気にかけることでしょう。コーディング面接を通じて選ばれた仲間だ、というのであればそれ以上に心強いことはありません。一緒に働く仲間に比べれば、ディスプレイや椅子などは、決裁者にお願いする、最悪自腹で購入するなど、いつでもお金で解決できる、些細で重要度の低い問題に過ぎません。繰り返しになりますが、コーディング面接をすることは、単にエンジニアの実力判断に最も適した方法であるだけでなく、実施しているということ自体が、エンジニアに対しての良いメッセージとなります。選考方法は採用ブランディングにもなるソフトウェアエンジニアに限ったことではないと思いますが、特にソフトウェアエンジニアは経験年数や経験した業務だけで、真の実力を推し量るのが難しい職業だと思います。コーディング面接はかなり高い精度で実力を推し量ることを可能にします。優秀なエンジニアに対して、安心感を与えることも出来ます。シリコンバレーのIT企業ではコーディング面接は常識となっており、私が知る範囲でも、日本で優秀なエンジニアを集められている企業の多くはコーディング面接を実施しているように見受けられます。本記事を通して、少しでもコーディング面接の重要性が採用を担当・管理されている方々に伝われば幸いです。人事施策編」が無料でダウンロードできます企業の経営課題にも発展する従業員の離職を減らすためには、既存人材と新規人材へのアプローチがあります。それぞれのアプローチ方法を、離職を防ぐチェックリストとして資料化した小冊子を無料でダウンロードして頂けます。以下のフォームに必須項目をご記入の上、ダウンロードしてください。面接官を担当するときは、いきなり大成功を狙うよりも「失敗しない」ことに注意したほうがよいでしょう。どんなに小規模な企業でも「初めて面接官に採用決定まで任せる」ことは、まずありません。採用面接で面接官は短時間で効率よく質問をして、採用するかどうかの判断材料を収集しなければなりません。新人や若手の面接官が特に気をつけるべきことがあります。それは面接官の対応が、求職者の「志望意欲」を左右してしまうという点です。日本の生産年齢人口(※)は、1990年代をピークに減少の一途をたどっています。2013年には32年ぶりに8000万人を下回り、5年経ったいまも人口減少に歯止めがかかる兆しはありません。面接の評価を行う上で主観に頼らずに客観的に評価する手法についてご紹介しました。この手法を運用上でサポートしてくれるツールが「評価シート」です。自社に合う人材を採用するためには、求める人物像を明確にし、評価項目を定めることが必要です。それだけでは不完全です。「面接工数が増えてきて、一人一人に割けられる時間が限られてしまう。「面接官の好みや主観が強く影響してしまう為、正確な採用ができていないかもしれない。ミツカリの機能の一つである「面接用シート」は、ミツカリリリース後に、様々なニーズを解決するために追加された機能です。採用候補者と社風や自社の従業員との人間関係のミスマッチを見抜くHRテックサービス『ミツカリ』を運用する(株)ミツカリの公式ブログです。人事業務における抽象的な悩みを、厚生労働省などの公庁や民間調査会社のデータ、心理学や社会学の学術研究報告などから読み解き、具体的な課題に落とし込んで解決施策に結びつけることを目的としています。