システム設計に正解はない。ではどこを評価すればいい?
高柴氏は、システム設計の課題を通じて候補者の実力を見極める方法について、「ブログ記事を時系列で配信するサイトのシステム設計」を例に挙げ、瀬里氏に質問した。
瀬里氏はまず、ユーザー、サーバー、データベースというシンプルな構成について「これも正解です」とコメントした。課題に速度要件やユーザー数の条件が明示されていない場合、こうした基本的な設計も適切な回答となる。「この時点で落とすのは簡単ですが、それだけで判断するのはもったいない」と指摘し、競争の激しいエンジニア採用において、有望な候補者を早々に見送るのは得策ではないと語る。
次に、より複雑な回答として、Amazon CloudFront、AWS Lambda、Amazon S3、Amazon DynamoDBなどのAWSサービスを活用した構成も示された。瀬里氏は「これも正解です」と述べ、このような回答からは、開発経験の深さやクラウドサービスへの理解度がうかがえると説明した。


RevCommのエンジニア採用の特徴は、コーディング試験の正誤を即座に判断せず、そこからさらに対話を深める点にある。先のようなブログサイトの設計の課題に対し、面接時には「500ミリ秒で応答するにはどうするか」「ユーザーが1000万人になったらどのようにスケールさせるか」といった具体的な条件を加え、候補者の思考プロセスを掘り下げる。このやり取りを通じて、柔軟な対応力や問題解決能力を見極めていく。
このため、コーディングテストの評価プロセスでは、瀬里氏に加え一次面接を担当する部署のリーダーや部長クラスのメンバーも参加する。「この部分をもっと深掘りできるのではないか」「どの点を重点的に確認すべきか」といった観点で議論を重ね、面接での質問項目を決めていく。特に重視しているのが説明能力だ。「なぜこの設計を選んだのか、それを明確に説明できることが重要です」と瀬里氏は強調する。チーム開発では、自分の考えや設計の意図を的確に伝えるスキルが不可欠であり、どんなに優れた設計でも、チームメイトに説明できなければプロジェクトの進行に支障をきたすからだ。
このように質問を重ねて深掘りするスタイルは、「HireRoo」を用いたスキル面接があるからこそ成り立っている。以前は職務経歴書をもとに面談を進めていたが、瀬里氏は「職務経歴書から話題を見つけるのは大変でした」と当時を振り返る。スキル面接の結果があれば、面接官の負担を軽減しつつ、実際の業務に近い課題について深く議論できるため、入社後のミスマッチを防ぎやすくなる。