最後の技術面接:壊れた採用ループを修正できるか?

数十年にわたり、技術面接はソフトウェアエンジニアにとっての通過儀礼となってきました。恐ろしいホワイトボード・チャレンジから、過酷な LeetCode の試練に至るまで、そのプロセスは「不適格な者」を排除するように設計されています。しかし、Steve Yegge がその刺激的な記事「The Last Technical Interview」で主張するように、現在のシステムは根本的に壊れています。これらの手法を採用している企業の規模と成功にもかかわらず、プロセスは依然として、許容できない数の偽陽性(false positives)と偽陰性(false negatives)を生み出す、リスクの高い推測ゲームとなっています。

問題の核心は、崩壊した信号対雑音比(signal-to-noise ratio)にあります。企業は面接ループに数千ものエンジニアリング時間を費やしていますが、実際にはパフォーマンスを発揮できない人々を採用し、スターになれる可能性のある人々を不採用にしています。業界は、候補者のエンジニアリング能力ではなく、面接を受ける能力を測定する一連のプロキシ(代理指標)——アルゴリズムのパズルや履歴書のキーワード——に収束してしまっています。

提案:面接から試用雇用へ

Yegge は、急進的な転換を提案しています。従来の面接ループを「試用雇用(provisional employment)」に置き換えることです。一連の人工的なテストの代わりに、候補者は実際の業務を行うために、短期間の有償ベースで雇用されることになります。この「キャンプファイア」アプローチは、熟練した技能職に見られる徒弟制度モデルを模倣しており、そこでは職人が数年間の実証された仕事を経て初めて認定されます。

このモデルの下では、候補者は現実世界のタスクに取り組み、そのパフォーマンスは、他の会社へも持ち運び可能な永続的な記録——承認または失敗の「スタンプ」——として文書化されます。目標は、予測モデル(誰かが仕事ができるかどうかを推測する)から、実証モデル(実際に仕事をしている様子を観察する)へと移行することです。

反論:実用性とパワーダイナミクス

試用雇用の理論は魅力的ですが、Hacker News コミュニティは、実用面および倫理面で重大な懸念を提起しました。最も差し迫った問題は、高クオリティな候補者にとっての参入障壁です。

"Lots of the best candidates have jobs and families and aren’t going to give up their current job to try out for a company that’s not committing," とあるコメントが指摘しています。

シニアエンジニアにとって、安定した給与、健康保険、そして 401k を捨てて「試用」期間を設けることは、不合理なリスクです。これにより、失業中または切迫している人だけが新しいシステムに参加できるという選択バイアスが生じ、プロセスが探し出そうとしているまさにその「宝石」を排除してしまう可能性があります。

さらに、批判的な人々は、これが実際にフィルタリングの問題を解決するわけではなく、単にプロセスを後続の段階へと押し出しているだけだと主張しています。もしある企業が 1,000 人の応募者に対して 1 つのポジションに対して、彼らは 1,000 人を試用雇用することはできません。彼らは、誰が試用期間に入るのかを決定するために、履歴書スクリーニングや従来の面接といったフィルターを依然として必要とします。

より良い信号を得るための代替案

もし試用雇用が侵入的すぎる場合、どのような実行可能な代替案があるのでしょうか? ディスカッションでは、6 か月の試用期間のリスクを負わずに、LeetCode よりも優れた信号を得られるいくつかの戦略が挙げられました:

1. ワークサンプル・テスト

多くの人が、「ゴールドスタンダード」はすでに利用可能であると主張しています。それはワークサンプル・テストです。抽象的なパズルではなく、候補者は実際の業務を反映したタスクを実行します。これは、2〜4 時間のペアプログラミング・セッションや、管理されたテイクホーム・プロジェクトです。正しく行われれば、これらは面接よりもススケール可能であり、技術的な能力の直接的な信号を提供します。

2. オープンソースへの貢献

もう一つの提案は、オープンソースでの活動を活用することです。候補者に実際のプロジェクトに貢献することを依頼することで、複雑なコードベースをナビゲートし、他者と協力し、品質の高いコードを提出する能力の、透明で公開された記録を提供させることができます。これは、企業が試用雇用を管理する必要なしに実現可能です。

3. 「人間」的なアプローチ

経験豊富な採用マネージャーの中には、技術的な基準はしばしば「意欲欲求(hunger)」や「賢さ(smartness)」に比べれば二次的な懸念事項であると示唆する人がいます。面接中に人間関係とチームへの適合性を重視し、厳格な 3 か月の試用期間(多くの非米国市場で一般的)を活用することで、企業は、候補者が時期尚早に仕事を辞めるリスクをなしに、不採用のミ害をリスクを軽減できます。

システム的なパラドックス

コミュニティからの最も鋭い観察の一つは、成功のパラドックスです。もし採用がこれほどまでに壊れているなら、なぜ Google や Amazon のような企業はこれほどまでに成功しているのでしょうか?

その答えは、時価総額が数兆ドル規模の企業にとって、「偽陰性(false negative)」のコスト(優れたエンジニアを不採用にすること)は無視できる一方で、「偽陽性(false positive)」のコスト(有害または無能なエンジニアを採用すること)は高いという事実にあります。現在のシステムは、「最善を見つける」ためではなく、「最悪を避ける」ために最適化されているのです。

最終的に、「The Last Technical Interview」を巡る議論は、業界の深い緊張関係をを露わにします。私たちは、リスク軽減を求める企業のニーズと、安定を求める候補者のニーズの間で板挟みになっています。業界が、他の技能職における公認プロフェッショナル・エンジニアのような、より標準化された専門的な資格制度へと移行しない限り、技術面接は、欠陥はあるものの、持続的な儀式であり続けるでしょう。

Sources