最初に
本記事の内容は、私がこれまで面接を受けたり、面接官側として面接を実施した中で得た知見を共有するものとなります。この記事が、今後エンジニアとして就職を考えている方や、これから面接官として面接を行う必要があるリードの方への一助となれば幸いです。
また、今回の記事の内容は、あくまでも私自身の経験から来る視点であることをご了承ください。
本記事の対象者は以下の通りです。
- エンジニア職に応募を考えている方(not 新卒)
- エンジニア採用を実施予定の初心者面接官
- 今後チームをリードするポジションを目指している方
また、この段階でお伝えしておきますが、面接はお互いが対等な立場で行うものです。選ぶ・選ばれるといった関係ではなく、基本的にはお互いにマッチするかどうかを確かめ合う場であると考えてください。
さらに、可能な限り面接官は2~3人で実施するようにしましょう。複数の面接官の意見を取り入れることで、よりバランスの取れた評価ができるようになります。
面接が複数回行われる場合はエンジニア面接として、エンジニアだけで2~3人を埋めても良いのですが、もしも面接が1~2回のみの場合は、PMや人事の方と一緒に面接へ参加することをおすすめします。
1. どんな人材が欲しいかを言語化する
最も基本的なところから考えてみましょう。
会社やチームの中で、どんな人に何をして欲しいのか、をはっきりと決める必要があります。おそらく、採用をかける時点で「何をして欲しいか」は既に決まっていると思います。そこから先は雇用形態によって評価観点が変わっていきます。
業務委託契約などの一時的な雇用
私が面接官をしていた頃、業務委託契約候補のエンジニアさんと面接を行っていた時は、スキル7割、人柄3割で判断をしていました。お願いしたいタスクに対して、即座に動いて頂けることを期待していたので、30代半ば以降のベテランエンジニアさんをメインとして採用を出していました。
こういった業務委託の方を探していく場合、以下の要素を考慮した募集要項を用意することになります。
-
期待しているタスクで使用する関連知識の熟練度
- 経験年数
- 実績ベース
- コミュニケーション能力と自己管理能力
-
ジョイン予定となるチーム規模への適応度
- 規模ごとに特性があります。ジョイン予定のチーム規模に近い開発チームで勤務した経験があるか確認することをおすすめします。
-
稼働の安定性
- 週に何時間働けるか、どのくらいの期間継続してくれそうか
- 持病や特殊な事情などを持っているか
- 他にも案件を持っているか
正社員雇用の可能性を持つ契約社員
契約社員としての雇用では、正社員登用の可能性を考慮に入れることが重要です。この場合、スキルセットだけでなく、候補者の成長意欲や、これまでの職場でどのような長期的な貢献度があったかも評価基準となります。具体的には以下の要素を重視します。
-
期待しているタスクで使用する関連知識の熟練度
- 経験年数
- 実績ベース
- コミュニケーション能力と自己管理能力
-
ジョイン予定となるチーム規模への適応度
- 当人が経験したことの無いチーム規模でも適性がありそうかどうかを確認すると良さそうです。
-
自己学習への意欲と応用力
- 特に最新技術へのキャッチアップを行っているか、担当予定のタスク以外でもプロジェクト全体で使用している技術に明るいか、など確認すると良いでしょう。
-
プロジェクトに対するコミットメント
- 業務委託契約の方と比較すると長く務めてもらうことが前提となるため、プロジェクトの全体像や文化、使用技術のキャッチアップや意見出しが必要になるでしょう。そういった時にしっかりと自分の意見が出せる人はジョイン後も意欲的に動いて頂けることが多い印象です。
正社員
正社員の採用では、業務委託契約、契約社員雇用よりもさらに1歩進んで、企業の未来を見据えた選考を行う必要があります。長期的な視点で、企業文化にフィットし、チームの成長に貢献して頂けそうな方かどうかを確認することが重要です。ここで考慮すべきポイントは以下の通りです。
-
高度な専門知識と幅広い技術スキル
- 開発チームとして今求めている技術スタックを持ち合わせているか
- 似た事例での実務経験を持ち合わせているか
- 最新の技術キャッチアップを行っているか
- それ以外でも開発チームや会社で用いてる技術の分野で有用になりそうな知識を持っているか
-
コミュニケーション力と問題解決能力
- 当人の実務経験を踏まえた上で、これまでどんな問題が起きて、それをどう解決したか、伺うことが大事です。問題解決へ動くためには、技術力だけではなく、各方面とのコミュニケーションもほぼ必須となります。
-
長期的なキャリアビジョンと、その整合性
- 将来どんなポジションについて、何をしたいか、は当人及び会社にとって非常に重要な事柄です。言葉だけの確認だけではなく、実際にそのポジションに向かったキャリアを積んできているか、行動に反映されているかどうかは確認しておきましょう。
-
チームビルディング能力、伝達力
- この能力は基本的にマネジメントポジションに入る(または将来的に目指す)人向けですが、技術一本で進もうとしてる方であっても、誰かに教えたり指揮を執る場面が発生することは珍しくありません。先頭に立って仕事を行わなければいけない時でも臆せず動ける人であれば、非常に理想的です。
-
企業のミッションとビジョンへの共感
- 正社員であれば数年、数十年働いて頂くことも当然有り得るので、お互いが気持ちよく働き続けられるように、マッチ度合いはしっかりと確認しましょう。
これらの要素を考慮し、具体的な人材像を言語化することで、より良い採用プロセスを構築することができます。何を求めているかが明確であれば、それに基づいて適切な面接質問を設定し、候補者の評価を行うことが可能となります。そうすることで、採用プロセス全体がクリアになり、ミスマッチを可能な限り防ぐことができます。
2. 第一印象で4割決める
第一印象は非常に重要です。面接の最初の数分で、その候補者がチームにフィットするかどうかの印象が少なくとも4割ほど形成されます。なので第一印象は、その後の面接内容の評価にも影響を及ぼす可能性が高いです。
例えば以下の点は見逃さずチェックしましょう。
-
時間通りに来る
- お互いの時間を割いて用意している場であることを考えれば、連絡無しでの遅刻や欠席は当然有り得ません。
- オンライン面接の場合、ネットワーク接続の問題や、面接で使用するツールの未インストールなども有り得ます。エージェント経由の紹介であれば、そもそもエージェントと候補者側で事前にセットアップと確認を済ませておくべきです。この問題が頻発するようであれば、お願いするエージェントさん自体をそもそも変更した方が幸せになれるかもしれません…。
-
清潔感がある
- 対面での面談・面接であれば特に気にする必要がある項目です。エンジニアさんの中には仕事に没頭しすぎてお風呂に入り忘れる方もいますが、人と一緒に働く場所へ来る際には、さすがに清潔感は気にしてもらう必要があります…。
-
コミュニケーションが円滑である
- 海外の方が候補者となる場合に、特に重要になるのがこちらです。最初の自己紹介と経歴紹介で、大体その方の日本語能力がわかります。あまりにも拙い場合はコミュニケーションコストが高くなり、仕事の進行にも影響が出るので、注意が必要です。
初対面の際に感じた印象を基に、その候補者さんが会社の文化やチームの雰囲気にマッチするかを考えることも重要です。技術的なスキルが十分であっても、チームやプロジェクトとの相性が悪ければ、将来的に問題が生じる可能性もあります(主に人間関係)。少しでも引っかかったり、気になる点があれば後ほどの質問タイムでしっかりと話を伺い、他の面接担当の方が持った印象とも照らし合わせてみましょう。
また、候補者から見た時のこちらへの第一印象も、その後の最終的な決断に強く影響を及ぼします。以下の点を意識して面接に参加しましょう(もちろん、候補者側の方も以下の点を気をつけると良い印象を与えられます)。
- 声のトーンは普段よりもワントーン高めに
- 出来るだけ口角をあげる
- 話す速度はいつもの0.75倍、声の音量はいつもの1.25倍を意識
- 最初はお互いの緊張をほぐすために、自己紹介後、アイスブレイクとして1、2分で終わる簡単な雑談を挟んでみる
- メモをとりながら面接を進める場合は、その旨を予めお伝えしておく(目線がそちらへ行ってしまうため)
- 清潔感は大切に!
- 何か質問を頂いた際には、結論から答える
- オンライン面接であればカメラの位置を調整し、顔が明るく、しっかりと見えるように
「そんなのあたり前だよ!」って思いましたか?
実は、これらの項目は意識していないとすぐに忘れてしまうものでもあります…。「基本」が自分の「基礎」として体に染み込み、自然に振舞える自信がつくまでは、面接後に自己評価をしてみることもおすすめです。
自己紹介後のプロジェクト詳細説明タイムでは、できるだけ詳細な説明をすることをオススメします。ここを怠ると第一印象、及び会社への印象に悪影響を与えますので、丁寧な説明を心がけましょう。内容をしっかりお伝えすれば、質問タイム内での候補者さんからの質問内容も、洗練された大事なものだけが残り、結果的にはお互いにとって、より良い面接時間に繋がります。
私が面接官をしていた際に、プロジェクト説明で案内していた項目は以下の通りです。
- プロジェクト概要
- リリースするプラットフォーム
- ターゲット層
- チーム規模
- スケジュールと現在の状況、今後の予測
- チームの雰囲気
- 使用する開発機器と貸付について
- 使用している技術スタック
- プログラミング言語
- エンジンやライブラリと、そのバージョン
- 使用しているVCSと、クライアントツール
- コードレビューについて
- CI/CDについて
- エディタとそのライセンスについて
- プロジェクトの開発設計方針(MVP, MVVMや、DI使用など)
- タスク管理ツール、ドキュメント管理ツールについて
- 現在のエンジニアメンバー構成
- どんなスキルを持つ人を求めているか、及びどんな動きを期待しているか
- 朝会などの定例ミーティングや、1on1の実施などがあれば、簡単に説明
- 勉強会などがあれば、そちらも簡単に説明(アピールポイントになるため)
3. スキルだけでなく得意不得意もチェック
スキルセットを確認するだけではなく、候補者さんの得意・不得意についても理解するよう努めましょう。例えば、ある候補者さんは、特定のプログラミング言語に精通している一方で、抽象度の高い設計は苦手であることが分かれば、どのようなタスクをお任せできそうか考えることができます。
経歴書を見ながら、具体的なプロジェクト経験や過去の成功例・失敗例について詳しく尋ねると、候補者の強みや弱みをより明確に把握することができます。もちろん直接質問してみるのも良いでしょう。
得意・不得意が特にない、という解答でしたら、質問タイム時に、好き・苦手の傾向や、興味がある技術をより深く掘り下げてみることをオススメします。日本人は、得意・不得意を語ることを苦手とする人が多いため、もしかしたら好き・苦手にフォーカスした質問の方が答えやすいかもしれません。
以下に私が実際に使用していた質問を例として載せておきます。
- ご自身が自覚してる範囲で構いませんので、得意なこと、苦手なことがあれば教えてください。
- 好きな技術や、苦手な作業などはありますか?
- 今どんなタスクでも任せて貰えるとしたら、どんな機能を担当してみたいですか?
- 仕事で使ってみたい技術などはありますか?
スキルセットや得意・不得意が判明したら、候補者さんがどのくらい、それらの技術に対して知見を持っているか、より深堀した質問をしてみましょう。
会社によっては技術的な質問をできるだけ省くために、プログラミングテストを実施したり、より仕事に近しい雰囲気でプログラミングをしてもらうコーディング面接を行っているところもあります。
もし面接の時間を、人柄や経歴、スキル周りの深堀に充てたいのであれば、プログラミングテストも検討してみましょう。ただし、プログラミングテストが選考に含まれている時点で、しり込みする方も多いです。もしも追加するのであれば、テストにかかるコストと影響を考えながら慎重に問題を選定しましょう。
4. 質問タイムで見極める
面接の最後に、お互いへの質問タイムを設けると、その候補者さんが本当に会社に興味を持ってくれているか、一緒に長く働きたいと思える人物かを見極める良い機会となります。こちらからの質問タイムでは、時間に余裕があるならば、出来るだけYES・NOで終わる質問ではなく、候補者さんが文で回答できるような問いかけにしましょう。これは候補者さんの趣味や興味に関することでも問題ありません。
逆に候補者さんが、会社やプロジェクトに対する具体的な質問をした場合は、会社へ深い関心を示していると言えます。その際、どういった意図で質問して下さったのか、対話しながら汲み取ると、候補者さんのことをより深く知ることに繋がるでしょう。
以下に、こちらからの質問としての、質問例を載せておきます。
- 趣味、休日、出身に関する質問
- 好きなゲーム
- 開発して見たいソフトウェアなど
- これまでの経歴の中で苦労したこと・思い出深いこと
- リモート・出勤のどちらが好きか
- 将来のキャリア像
これ以外にも必要に応じて、今回の候補者さんが応募したポジション固有の質問などを盛り込んでみましょう。
5. 判断は慎重に
最終的な判断を下す際には、慎重に検討してください。一度採用を出してお願いした後に、実際に入って頂いてみて、実はマッチしていなかった場合、お互いにとってあまりよくない結果になることがほとんどです。
まず、こちらが求める要求に対して100%マッチする人材はかなりレアである、ということを念頭に置いてください。プロジェクトの予算や期日に余裕があるのであれば、ゆっくり探すのも悪くありません。しかし、ほとんどの場合は長期育成も視野に入れて、ある程度の落とし所を決めることとなるでしょう。
私が面接官を務めていた時の話にはなりますが、プロジェクトで使用している技術スタックに対しての知識が多少、水準に達していなくても、お人柄が良く、プロジェクトで求めている最低限の知識を持っており、自分でキャッチアップができる人であれば選考通過とさせて頂いておりました。
もちろん契約形態によって長期育成の期間と期待値は異なります。良い塩梅を探りつつ、通過ラインを設けるのが良いかと思います。私も今思えば、通過ラインを明確に言語化して、設けておけば良かったと反省しています。これから採用業務を行う方は通過ラインを自分なりにでも設けておくことをオススメします。他の面接官と話す際にも、理由と根拠があるなしでは断然説得力が違います。
まとめ
エンジニアの採用は、単に技術力を評価するだけでなく、チームとの相性や長期的な貢献度を見極める重要なプロセスです。本記事では、どのような人材が必要かを明確にし、面接の各ステップで何を重視するべきかについて具体的な知見を提供しました。
まず、どんな人材が必要かを言語化することについてお話しました。言語化によって採用プロセス全体がクリアになり、ミスマッチを防ぐことができます。業務委託契約、契約社員、正社員といった異なる雇用形態ごとに異なるポイントをチェックすることも重要です。
次に、第一印象が面接全体の評価に大きく影響することについても書きました。時間通りに来ることや清潔感、コミュニケーション能力をしっかりとチェックしつつ、面接官自身も良い第一印象を与えることが、候補者さんの最終的な意思決定に影響を与えます。
また、スキルだけでなく得意不得意を把握し、候補者さんがチームやプロジェクトにどう貢献できるかを見極めることが重要です。質問タイムを有効に活用し、候補者さんの興味や関心、将来のビジョンを理解することで、より深い評価が可能となります。
最後に、慎重な判断が必要である旨について言及しました。通過ラインを明確に設け、複数の面接官の意見を取り入れることで、公平でバランスの取れた採用を実現できます。最適な人材を見極めるためには、技術力だけでなく人間性や成長意欲も重視しましょう。
この記事が、エンジニア採用に関わる方々の参考になれば幸いです。