私はおそらくこれを後悔するでしょうが、これが私の非常に一般的なアドバイスですFWIW
1)職務仕様ではなく、候補者に面接します。
妥協しないように、スペックに「エッセンシャル」の最小セットを用意します。その後、候補者を見て、彼らがそのポジションにもたらす他のスキルを確認します。彼らは、あなたが必要だとは知らなかったスキルをもたらす可能性さえあります。
2)候補者をテストします
テストは、いくつかの口頭での質問、筆記試験などである可能性があります。それは実際には重要ではありませんが、候補者が知っていることと知らないことを確実に感じる必要があります。
3)候補者にコードを書かせてください
問題にどのようにアプローチしたか、どのように実装したか、そして何よりも重要なことに、彼らがあなたに何をしたかをどのように説明したかによって、誰かについて詳しく知ることができます。覚えておいてください、これはあなたが彼らを雇っていることです、これは彼らが一日の大部分をするために費やすものです
4)「記憶に関する質問」をたくさん聞かないでください</ p>
std::algorithmの正確な形式またはSystem.Xml.XmlDocumentのすべてのメソッドを覚えておくように誰かに依頼しても意味がありません。人々はドキュメントとIntellisenseを使用します–それを乗り越えてください。
5)自由形式の質問をする
「正しい」または「間違った」答えがないいくつかの質問をします。このようにして、候補者に意見を述べる機会を与え、栄光の「ダニリスト」ではなく会話をします。双方向の会話は、候補者がリラックスできるので役立ちます。また、重要なこととして、リラックスできるのです。話し合いをすることで、候補者について多くのことを知ることができます。つまり、彼らはあなたの意見に耳を傾けますか、反論にどのように対応しますか
6)彼らが彼らの研究をしたかどうか見てください
あなたの製品/チーム/ゲーム/会社について聞いたことがあるかどうか、常に候補者に尋ねてください。彼らが応募している会社についてほんの少しだけあなたに話すことができないなら、あなたはあなたの会社で彼らを望まない可能性があります。結局のところ、Googleに入力するのに30秒かかるので、これについては残忍です。私を信じて。
7)自分で面接しないでください
あなたは非常に賢いかもしれませんし、あなたが望むものを知っているかもしれません、あなたは人々を読むことができると思うかもしれませんが、ソフトウェア開発は主に共同作業なので、数人で参加し、別のマネージャーやシニアコーダーに参加するだけではありません-持ってきてくださいあなたのチームで、彼らの意見に耳を傾けます。重要なのは、後で追いついて、まだ頭の中で新鮮なうちに候補者について話し合うことです。
8)面接を急がないでください
面接に割り当てる時間は、面接対象のポジションのタイプ、つまり、ジュニア、経験豊富、シニアによって大きく異なりますが、必要だと思う時間に加えて、常に30分余分に時間を取ってください。これはあなたに呼吸する余地を与えます、そしてあなたが早く終わったならそれから大丈夫です。必要に応じて、2回目の面接に進みます。私は頻繁に2つのインタビューを行います。1つ目は技術的なもので、2つ目は性格とチームに焦点を当てています。
あなたはそれが適切であると感じないかもしれないか、あなたには時間がないかもしれません、しかしそれを軽視しないでください。初めて候補者から十分に得られなかったと感じ、まだ可能性がある場合は、彼らを元に戻します。彼らがあなたの会社/チームで働きたい場合は、彼らは戻ってきます。
9)証拠を求めてください
候補者が「…..の開発に大きく貢献した」と言った場合は、彼らが何をしたか、詳細に、彼らが経験から学んだこと、そして彼らが再び何をするかを尋ねます。彼らがあなたに証拠と詳細を与えることができないならば、彼らは「大きく貢献しなかった」可能性があります。常に「私たちがやった」を使用する候補者に注意してください。確かに、開発はチームで行われますが、チームの努力を説明するだけでなく、彼らが貢献したことを言うことができなければなりません。
10)正直で率直になるように準備してください。
ほとんどの候補者は自分自身をわずかに売り過ぎています。これは問題ありません、彼らの履歴書は彼らにインタビューをするものです。ただし、候補者が自分の経験について完全に前向きではないと思う場合は、そう言ってください。必ず長所と短所を調べてください。面接が多すぎると、販売交換が長引くことになります。うん、候補者がUDPの詳細を知っているのは素晴らしいことですが、彼らが悪い決定をしたとき、そして彼らはそれをどのように処理するかを知っていますか?彼らが最後に間違っていたのか、最後に悪い決断をしたのかを尋ねます。ただし、手に負えない、または判断力が強すぎないように注意してください。-間違いを犯すことは完全に自然であり、私たちのほとんどは常にそれを行います。それが重要なのです。
11)自信を持って受け入れられないでください。
自分のことを知ることと、自分が他の誰よりも優れていると考えることの間には、微妙な境界線があります。プログラミングのような知識ベースの職業では、これは常に私たち全員にとっての誘惑です。私はこれについてジェフ・アトウッドに同意します。優れたプログラマーは、コーディングが難しいこと、間違いを犯すこと、そしてコードがひどいことに多くの時間を費やすことを知っています。悪いプログラマーはそうしません–彼らは他のみんなのコードがダメだと思っています。買い手責任負担。