Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】What an Anthropic hiring manager stopped asking candidates to do

2026年10月31日に「Dev.to」が公開したITニュース「What an Anthropic hiring manager stopped asking candidates to do」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

AI進化で簡単なコーディング面接は不要に。ある企業は面接を廃止し、AIに指示する前の「問題定義、解決計画、システム構成理解」といった本質的な問題解決能力を重視する方針へ。これは経験が浅いエンジニアにも活躍のチャンスとなる。

ITニュース解説

システムエンジニアを目指す皆さんにとって、就職活動におけるコーディング面接は重要な関門の一つだと認識しているかもしれない。しかし、そのあり方が大きく変わりつつあるという興味深い動きが今、起きている。最先端のAI研究開発を行う企業、AnthropicのエンジニアリングマネージャーであるFelix Rieseberg氏が、これまで採用候補者に課してきたコーディング面接を廃止したと発表したのだ。この決定の背景には、AI技術の驚異的な進化が深く関わっている。

Rieseberg氏がコーディング面接を廃止した理由は非常に簡潔だ。それは「AIが、これまで面接で使われてきたような小さなコーディング課題を、もはや簡単に解決できるようになってしまったから」というものだ。つまり、そうした課題を通して候補者の能力を測ることが、現在のAIの能力水準においては意味をなさなくなってしまったのである。これまでのコーディング面接は、特定の問題に対するアルゴリズムの知識や、限られた時間内での実装能力を評価する目的があったが、AIがその部分を肩代わりできるようになった今、そうしたテストは「その人がチームでうまくやっていけるか」を判断する指標としては機能しなくなった、と彼は考えているのだ。

では、コーディング面接がなくなった代わりに、何が評価されるようになるのだろうか。Rieseberg氏は、まだ明確な代替策を見つけ出せてはいないと正直に語っているが、当面は履歴書やポートフォリオに目を向け、候補者が「趣向(taste)」、「共感(empathy)」、そして「原理に基づいた思考(principled thinking)」を示す小さなプロトタイプを探すという。これは、単にコードを書けるかどうかだけでなく、どんな視点で問題を捉え、どんな目的意識を持って開発に取り組むのか、そして周囲との協調性や倫理観といった、より人間的で総合的な能力を重視する方向性を示唆していると言える。

Rieseberg氏はまた、「Hunger beats tenure(ハングリー精神が経験に勝る)」という言葉で、若手エンジニアが経験豊富なベテランを追い越す現象が起きていることを指摘している。これは、必ずしもベテランが劣っているという話ではなく、AIが多くの定型作業をこなせるようになった現代において、新しい技術や状況への適応力、未経験の問題への挑戦意欲といったものが、長年の経験から培われた純粋なコーディングスキルよりも、時には重要になるという見方を示すものだ。これは、これからシステムエンジニアを目指す皆さんにとって、非常に希望のあるニュースであると言えるだろう。

もともとコーディング面接が測ろうとしていたことの本質は、「すべてのインプットが与えられていない状況で問題を解決する能力」と、その過程で「思考プロセスを明確に説明する能力」だった。これは、システム開発の現場で日々直面する問題そのものだ。しかしAIの登場により、「すべてのインプットが与えられていない状況」という言葉の意味合いが根本的に変わってしまった。今や、LeetCodeのような定型的なプログラミング問題であれば、その問題をチャットボットに貼り付けるだけで、簡単に解答を得られる時代なのだ。これにより、単にコードを生成する能力だけでは、候補者の真の問題解決能力を評価できなくなったのである。

だからこそ、私たちは従来のコーディング面接に代わる、より適切な評価方法を模索していく段階にある。特にジュニアエンジニアの採用においては、コーディングに関する質問が、まるでビジネススクールの問題のような、よりオープンエンドな形式に移行していく可能性があると指摘されている。これは、特定のコードベースが与えられた状況で、候補者が「文脈が完全に与えられていない中で、どのようにして問題を縮小(reduce)し、解決の道筋を見つけるか」を見るというものだ。

ここで最も重要なキーワードとなるのが「縮小(reduce)」である。LeetCodeのようなプログラミング課題は、既に問題が「縮小」された状態で提示される。つまり、入力は明確に定義され、解決すべき目標も明確に述べられており、あとはコードを書くだけ、という状態になっている。しかし、実際のシステム開発の現場で「チケット」(対応すべきタスクや課題)として持ち込まれる問題は、全く異なる。それは、誰かからの漠然とした依頼文として現れ、自分が書いたわけではない、複雑な既存のコードベースの上に存在することがほとんどだ。

このような状況でシステムエンジニアに求められるのは、まず「本当の問題は何なのか」を特定する能力だ。膨大な情報の中から「何を無視できるか」を見極め、「何が達成されたら完了と言えるのか」という条件を定義する能力も不可欠となる。そして、それらの判断や選択の根拠を、チームの他のメンバーに明確に説明できなければならない。この「問題の特定、整理、そして説明」という一連のプロセスは、AIエージェントには代行できない部分だ。なぜなら、AIは「あなたの状況のどの部分が重要か」という、人間ならではの判断を下すことができないからだ。これはまさに「判断力」を問うテストであり、この能力は面接の場で初めて試されるものではなく、日々の業務や学習の中で意識的に練習できるものだ。

この「問題の縮小」能力を鍛えるための具体的な実践方法がいくつか提案されている。

一つ目は、「計画を立てる」ことだ。どんなタスクに取り組むにしても、AIエージェントがコードを書き始める前に、まず自分で計画を数文で記述してみる習慣をつけよう。具体的には、「何が求められているのか」、「何を意図的に今回は考慮から外すのか」、「どうなったらその機能やタスクが正しく動作すると判断できるのか」といった項目を明確にする。この計画をAIエージェントに渡し、それを基にコードを生成させることで、AIを単なるコーディングツールとしてだけでなく、自分の思考を整理し、具現化するための協力者として活用できるようになる。

二つ目は、具体的なテクノロジー名を挙げる前に、「システムの構成要素」から考えることだ。私たちが構築するほとんどすべてのソフトウェアシステムは、たった七つの基本的なビルディングブロックから構成されている。例えば、外部からのリクエストに応答するサービス、バックグラウンドで重い処理を行うワーカー、処理待ちのタスクを一時的に保持するキュー、そしてデータを永続的に保存するための四種類のストレージなどだ。まずは、取り組むべきタスクがこれらのうちどの要素に影響を与え、それらの要素間でどのようなデータがやり取りされるのかを考える。その後に初めて、「このデータはPostgresに保存すべきか、それともRedisのようなキャッシュシステムを使うべきか」といった、具体的なテクノロジーの選択肢を検討するのだ。この順序で考えることで、問題を本質的に理解しているかどうかを確認できるだけでなく、チームメイトに対して、自分の問題の「縮小」プロセスや選択の理由を明確に説明するための言葉を得られるようになる。

結局のところ、従来のコーディング面接が常に評価しようとしていたのは、この「問題を縮小する能力」だったのだ。そして、これから皆さんがシステムエンジニアとして取り組むあらゆる仕事、あらゆるプロジェクトにおいても、この「問題を縮小する能力」こそが、成功の鍵となるだろう。AIが普及し、多くの作業が自動化されていく時代だからこそ、人間だけが持つ、複雑な状況の中から本質的な問題を見つけ出し、解決の道筋を立てるという「判断力」や「思考力」の価値はますます高まっていく。システムエンジニアを目指す皆さんは、日々の学習やプロジェクトの中で、常にこの「問題を縮小する」という意識を持って取り組むことが、これからのキャリアを築く上で非常に重要になるだろう。

関連コンテンツ

関連IT用語

関連ITニュース