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

【ITニュース解説】How I Built an Evidence-Based Developer Assessment Platform

2025年09月22日に「Dev.to」が公開したITニュース「How I Built an Evidence-Based Developer Assessment Platform」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

開発者がGitHubリポジトリを分析し、エンジニアのスキルを評価するプラットフォーム「Exiqus」を開発した。当初のメトリクス評価から、実際のコードを基に具体的な証拠を提示する方式へ転換。候補者の実務能力を深く測る面接ツールとして、LeetCodeのような試験より実践的な評価を目指す。

ITニュース解説

システムエンジニアを目指す皆さんが、いつか自身でサービスやツールを作る時に役立つ、とある開発者のプロジェクト開発の軌跡を紹介する。これは「Exiqus(エクシカス)」という、GitHubのリポジトリ(コードが保存されている場所)を分析し、開発者のスキルを評価するためのプラットフォームを開発した物語だ。

このプロジェクトは、週末のちょっとしたアイデアから始まった。開発者は、GitHubのリポジトリを使って候補者のスキルを評価する、というシンプルな構想を抱いた。採用担当者が候補者のリポジトリを分析し、「採用」「見送り」「要調査」のいずれかの判断を示すダッシュボードを提供することを目標にしていた。

開発は、まず裏側の処理を行う「バックエンド」から着手された。ここでは、AI(人工知能)モデルを活用し、リポジトリのコードの質に応じて分析を行う仕組みを構築した。AI分析はコストがかかるため、本当に分析が必要なリポジトリにのみAIを使うよう、厳しく制御する設計だった。これにより、無駄な費用を抑えようと考えたのだ。バックエンドの開発が進むと、次にユーザーが操作する「フロントエンド」、つまりWebサイトの見た目の部分の開発に移った。この部分には、現代のWeb開発でよく使われる技術である「Next.js」というフレームワーク、そして「React」というUI(ユーザーインターフェース)ライブラリ、さらに「TypeScript」というプログラムのミスを減らすための言語が使われた。一般的なSaaS(サービスとしてのソフトウェア)のように、白い背景のシンプルなデザインでスタートした。

フロントエンドが完成し、いよいよ最初のテストが行われた。しかし、ここで問題が発覚する。公開されているリポジトリを試しに分析してみると、ダッシュボードに表示されるメトリクス(指標)が非常に少なく、AIモデルがほとんど活用されていないことがわかった。原因は、AI分析を実行する条件を厳しくしすぎていたためだった。さらに悪いことに、コード内に「_ = await asyncio.to_thread(...)」という記述ミス、通称「アンダースコアのバグ」があった。これは、非同期処理の結果をプログラムが受け取ることなく捨ててしまっていたことを意味する。もしこのバグに気づかずサービスを提供していれば、ユーザーに価値のないものを提供してしまうことになっただろう。

この深刻な問題を受けて、開発者は設計を見直した。すべてのリポジトリに対してAI分析を行うように変更し、より詳細なメトリクス(例:ドキュメントの質、コードの実装状況など)がパーセンテージと共に表示されるように改善した。しかし、それでも開発者は満足できなかった。「こんなものは無料でさえ使いたくない」と感じたのだ。 何が問題だったのか。開発者は、GitHubリポジトリの単一の指標だけで採用を判断するアプローチが、あまりにも単純すぎると気づいた。さらに調査を進めると、実際の採用現場ではGitHubリポジトリを重視する採用担当者が少なく、大手テック企業に至ってはほとんど求めないという事実も判明した。これは、自身の根本的なアイデアが現実と乖離していることを示すものだった。

この気づきが、プロジェクトを大きく方向転換させるきっかけとなった。開発者は、少数の人間しか理解できない「ブラックボックス」のようなアルゴリズムや、単一の指標で人を評価するシステムに疑問を抱いた。そして、「大粛清(The Great Purge)」と呼ばれる、3ヶ月にも及ぶ大規模な再設計に着手したのだ。 この新しいアプローチでは、スコアや一方的な判断は排除された。代わりに、「エビデンスベース」、つまり明確な根拠や証拠に基づいて評価を行うシステムを目指した。ユーザーが何が分析され、どのような証拠に基づいているかを完全に理解できる、透明性の高いツールへと変貌させた。 この全面的なシステムの見直しには、数ヶ月の厳しいテストが伴った。完璧を求めすぎるといつまでもリリースできないというジレンマに直面しながらも、一部の機能(例えば、見た目だけのキャンセル機能)を思い切って削除し、「分析には2~3分かかります」といった注意書きを加えることで、ローンチを早める決断をした。このプロジェクトはもはやサイドプロジェクトの域を超え、開発者の生活の一部となっていた。彼は、このプラットフォームが技術者か否かを問わず、誰もが完全に有用で理解できる、定性的な評価を提供することを強く望んだ。 デザインも一新された。これまでのシンプルな白いデザインは、初期の安易なアプローチを思い出させるものとして、洗練されたダークテーマへと全面変更され、新しいエビデンスベースのシステムにふさわしい見た目になった。

そして、ついに「真実の瞬間」が訪れた。新しくなったUIで分析を実行した時、開発者は初めて自分が作り上げたものを誇りに感じることができた。有名な開発者geohot氏の「QIRA」というリポジトリを分析したところ、Exiqusが生成した質問の質の高さに衝撃を受けた。 例えば、「fetchlibs.shスクリプトは7つのアーキテクチャをサポートしています。クロスプラットフォームのバイナリ解析に対するあなたの戦略を説明してください。ARM、x86、MIPSバイナリの解析における主要な違いは何ですか?」といった質問だ。これは、一般的なプログラミングの腕試しのような「LeetCode」のパズル問題とは異なり、実際にコードを書いた本人でなければ答えられないような、非常に具体的で深い内容の質問だった。この結果に、開発者は深く満足し、このツールを世に送り出す準備ができたと感じた。もちろん、このサービスは収益を生み出し、次のプロジェクトの資金源となることも見据えている。

Exiqusが目指す「より大きなビジョン」は、現在のテック業界の採用プロセスの変革だ。多くの企業で採用されているLeetCodeのようなアルゴリズムパズルは、パターンを学習することで「攻略可能」であると彼は指摘する。Exiqusは、GitHubリポジトリを採用プロセスの標準的な評価対象とし、候補者が自身の作品ポートフォリオを持つことを当たり前にしたいと考えている。 実際の仕事内容とは直接関係のないテストではなく、時間の経過とともに積み重ねられた「実際の開発作業」を示すGitHubリポジトリを評価することで、より本質的で意味のある議論が可能になる、というのが彼の主張だ。Exiqusが生成する質問は、リポジトリのコードそのものに基づいているため、攻略することはできない。採用担当者は、候補者の具体的な仕事内容について深く掘り下げた質問を投げかけ、その回答から、その候補者が役割に適しているかを判断する上で役立つ本当の意味での情報を引き出すことができる。また、Exiqusはスタートアップ、エンタープライズ、エージェンシー、オープンソースといった、対象となる企業のタイプに合わせて質問を調整することも可能だ。 候補者にとっても、テスト対策に時間を費やすよりも、実際にコードを書き、プロジェクトに取り組むことに集中できるというメリットがある。開発者は、「たとえ一つのプロジェクトであっても、きちんと文書化されていれば、何ヶ月もアルゴリズムパズルを解くよりも、あなたの能力をより明確に示せる」と語る。 このプロジェクトは、開発者がテック業界での経験がない中で、インターネットやフォーラム、基本的なリサーチに基づいて作り上げたものだ。彼自身も、既存の採用パラダイムが完璧である可能性や、Exiqusが数多あるSaaSの一つに過ぎない可能性も認めている。しかし、これは彼の情熱と信念に基づいた、採用プロセスに一石を投じるための挑戦的な試みである。

関連コンテンツ

関連IT用語

関連ITニュース