エンジニア採用時に行うプログラミングの実技試験、いわゆる「コーディング試験」はシリコンバレーのテック企業や日本のスタートアップなどで一般的である一方、伝統的な日本企業ではまだ広まっていると言えません。しかし、ソフトウェアの役割が全産業にとって重要性を増すなか、コーディング試験もまた注目を集めています。
なぜコーディング試験が重要なのでしょうか?
Coral Capitalの新規出資先でコーディング試験をSaaSで提供するHireRoo創業者で代表取締役の葛岡宏祐さんと、Microsoft、Googleなどでエンジニア、エンジニアリング・マネージャーを歴任した及川卓也氏に、コーディング試験の意義や導入のポイントを語っていただきました。(聞き手・Coral Capitalパートナー兼編集長 西村賢/構成・星暁雄)
日本の伝統企業とシリコンバレー企業ではエンジニアの仕事が全く違う
——及川さんはオンラインコーディング試験ツールの米国スタートアップ、Codilityの日本代理店であるフォースバレー・コンシェルジュも支援されていますが、日本と米国を見ていて、どこに違いがあると見ていますか?
及川 ソフトウェアに対する考え方が、日本の伝統的な企業と、シリコンバレーなどの米国テック企業とでは大きく違います。日本企業では、私が「コアの部分」と考えている実装部分を、多重下請け構造の中で子請け、孫請けに委託する。こういう異常な構造になっています。
だから日本の伝統的企業とシリコンバレーのテック企業では、エンジニアの仕事の中身が全然違います。
葛岡 この前、HireRooのプレスリリースを打った後に受託開発の企業さんから問い合わせが結構来たのですが、皆さん、設計だけで実装は下請けに任せてます。だから「コーディングを書く課題より、PM(プロジェクトマネジメト)力を知りたい」みたいなことをおっしゃるんです。そういうニッチなニーズがあるんだ、というところに驚いています。
及川 そういうことを訴えたいため、2019年に『ソフトウェア・ファースト』という本を書いたんですね。
今の時代はソフトウェアやサービスとして「何を作るのか」が明確ではありません。人々が「本当に欲しいもの」が何なのか、何を必要としているかは事前には分からない。何らかの企画を考えても、それは仮説でしかなく、製品やサービスを出しては検証していく繰り返し、イテレーションが大事になるのです。
ところが、繰り返しのときに異常な分業体制がネックになる。企画を考えてからモノにする部分を外部に委託する多重下請け構造になっていると、作るのに例えば数カ月かかってしまいます。一方、企画をする人の隣にデザイナーとエンジニアがいたら、もしかしたら1週間でA/Bテストまで持って行けるかもしれない。サイクルを回せる回数が全然違います。
——そうしたことの理解は進んで「DX」という言葉も普及しましたが、変化には時間がかかりますよね。
実は、伝統的な日本企業の皆さんはエンジニアを採用するのが怖いんですよ。今回の話題のコーディング試験にも関係するところですが、そもそもエンジニアの見きわめができない。エンジニアを採用したとしてもマネジメントができない。評価も育成もできないんです。
——逆に言えば、そうした企業からするとHireRooのように問題作成やコーディング能力の客観評価をしてくれるサービスはスタートとしては良さそうですよね。
「開発はエンドレス」 vs. 「納品して終わり」の違い
——今どきのサービスはサブスクリプション化していて、毎日開発しているから価値が出る。SaaSのNRRという指標が象徴的です。伝統的な日本企業では、その発想がまだ希薄かもしれませんね。
葛岡 僕はエンジニアをやっていたので「開発はエンドレス」だと思っていたのですが、古い企業では「パッケージとして納品して終わり」みたいなやり方がけっこう残っています。
及川 昔の業務パッケージのやり方が残っているんです。使いやすさへの改善でも違いがあります。
従来の発想だと、使いにくかろうが、そこに機能があれば「使え」となる。ところが、今どきのユーザーは目が肥えています。使いやすいスマホアプリやWebサイトがたくさんある中で、使いにくい業務システムをなぜ使わないといけないのか。UX(User Experience)、EX(Employee Experience)を作っていかないといけない。それがやれている会社、やれていない会社の差が出てきています。
葛岡 僕らのプロダクトのユーザーは、今はスタートアップ中心で、大きい会社のユーザーをまだうまく取れていません。ギャップがありますね。
及川 スタートアップは、テクノロジーが自分たちの競争優位性のコアだと知っている人が多いので、内製化を進めたり、コミットしてくれる業務委託の人で固めていますからね。それに、ソフトウェア・エンジニアリングの強い会社ほど海外サービスも含めてSaaSをたくさん導入する傾向はありますよね。
エンジニアは英語への拒否感が少ないので、勤怠管理でも採用管理でも、グローバルで使われている評判のいいSaaSを組み合わせて使っています。例えば私が個人でも会社でも投資しているスタートアップのAutifyというテスティングプラットフォームの会社があります。彼らが使っているSaaSの数は半端ないんです。ぜんぶ厳選して組み合わせて使っています。
——ビジネス、組織、エンジニアのコーディング試験、これは全部パズルのピースのように密に組み合わさっていて、一緒に変化していくんでしょうね。日本でもスタートアップはもうシリコンバレーのソフトウェア・ビジネスづくりの流儀を身につけていますよね。
及川 日本でも変化はあります。今後は技術職でジョブ型がもっと定着してくる。そうなれば、コーディング試験のように、設計力や実装力をしっかり見るやり方が増えると思います。
葛岡 僕はメルカリには2020年の2月ぐらいに入って、起業するまで1年ぐらいいました。メルカリは、Googleのやり方を100%近く参考にしています。組織論、OKR(Objectives and Key Results、目標と成果指標)のような指標、あるいはテックリード、エンジニアリング・マネージャーなどの役職です。もちろん、コピーだけでなく、メルカリ独自のエンジニア組織構造の「キャンプ制度」(複数のスクラムチームを1つにまとめた大きなグループチーム。キャンプ単位で目的が設定され、方向性の決定権や、日々の開発における意思決定権を持つ)のようなものもありますが。
——Googleは以前からエンジニアを採るときにはコーディング試験をしていましたよね。
及川 少なくとも私がいた2005年頃には、すでにやっていましたね。
葛岡 僕もGoogleを受けたんですけど、先にオンラインでスクリーニングをやって、通った人が現地のオフィスで丸1日コーディング試験をやる感じでした。
及川 現地に行けない人は、オンラインで画面共有しながらやったりしますね。
コーディング試験は学歴や職歴ではなく実力をフェアに評価
——Googleは入社後に使うのが自社ツールやフレームワークなのでコンピューターサイエンスの一般知識やアルゴリズム実装の技量を見る一方、スタートアップだとReactのコードを書いてもらうとか、見るものが違うでしょうか?
葛岡 日本企業の多くでは地頭や思考プロセスやアルゴリズムとデータ構造の基礎力を見る試験は実はあまり人気がなくて。「Reactはどれくらいできるの?」などを知りたがる傾向がありますね。僕らは「技術特化形式」と言っているのですが、そういうやり方が人気があります。「プロジェクトを1個作って下さい」と課題を出して1週間かかるコーディングをやらせたりする。
及川 面接の期間や面接時間の長いテストは、良い面と悪い面があります。採用はマッチングなので、受ける側が会社を見る場でもある。だから候補者体験を良くしないと。一回落ちた人でも、また受けに来てくれるかもしれませんよね。長いテストの途中で離脱されるのも良くないし、何日もかかるテストを受けてから落ちてしまった人は悪い体験をしたことになります。一方、コーディング試験の場で「ここは、こうした方がいいですよ」とフィードバックがあると良い候補者体験になる。
——独学でコンピューターサイエンスを勉強した友人が何人もいます。そういう人は「GoogleやFacebookに入るような人なら、1年教科書を読めばコンピューターサイエンスはできる」と言うんです。学歴や職歴はないけど独学で実力をつけた人を、コーディング試験では正当に評価できますよね。
葛岡 実は僕も学歴は中卒なんです
——ええっ!
葛岡 独学でコンピュータサイエンスや数学をやって、DeNAにAIエンジニアとして入り、メルカリにテックリードとして入りました。コアはがんばって理解すればなんとかなる。
びっくりしたのは、GoogleやFacebookはレジュメ(履歴書)を出さなくても試験を受けさせてくれることです。マスター(修士号)を持って業務経験何年みたいな人と混じって、レジュメなしで受けさせてくれて、通れば対応してくれる。フェアに評価してくれる。
及川 コーディング試験のいいところは、認知の歪み、Unconscious Bias(無意識の偏見)を排除できること。学歴は分かりやすいバイアスです。それを排除してくれる。
葛岡 海外のコーディング試験のサービスでは、名前や学歴もでないものがあります。匿名で技術力だけ見せる。あれはすばらしいと思っています。
それとオンラインのコーディング試験は、日程調整などのリードタイムがなくなるところが評価されています。候補者にとってもオンラインでできた方がいい。
あと、ホワイトボードでコーディング面接って、緊張しますよね。
——ホワイトボードを使った面接だと、対面の対話が上手な外向的な性格な人を選んでしまうバイアスがある、という話もありますよね。
及川 私の持論では面接の場はシミュレーション。採用側は、候補者が仲間に加わったとき彼・彼女がちゃんとパフォームできるか。候補者側は、自分がこの会社・チームに加わったとき戦力になれるか、楽しく働けるか。そこを見る。
だから、その会社が日常的にホワイトボードを使って議論しているなら、試験でもホワイトボードを使う。ホワイトボードにコードを書きながら議論できることが採用でも大事になる。
——オンラインでも議論しながらのスタイルを選ぶ会社は多いですか?
葛岡 僕らもコミュニケーションを取りながらライブでコーディング試験をすることを推奨しています。でも日本企業はライブコーディングより宿題形式が多いと思いませんか?
及川 その企業の面接官がライブコーディングを判定できないからかもしれない。コーディング試験ツールのCodilityにもライブコーディングの機能があるんですけど、ペアプロを一緒にやりましょう、といった形になる。その力量が面接官にないと試験が機能しません。
葛岡 僕もコーディング試験はライブでやる方がインサイトが多くていいと思うんですよね。でも確かに面接官の力量は課題かもしれませんね。
オンラインコーディング試験には、2つの使い方があります。まず、スクリーニングの部分は宿題形式である程度は自動的に選別する。そしてスクリーニングを通った人に対しては、見きわめるためじっくり対話型でやる、という使い分けです。明らかに見込みがないと分かっている人に対話型で面接しているとコストがかかりますからね。
——最後の質問ですが、HireRooは海外展開はいかがですか?
葛岡 日本と海外の違いですが、「日本のスタートアップは海外に勝てない」という思い込みがあると思うんですよね。でも僕らは海外に行くし、絶対勝てると思っています。
及川 HireRooはグローバルに行った方がいいですよ。日本の開発者人口は推定100万人に満たないくらいで、マーケットが小さすぎる。英語圏に進出した方がいい。
——日本はこの10年で、特にスタートアップする人たちのソフトウェアとビジネス作りは段違いに上手くなっていると感じています。カメラや自動車、家電といった産業では、それぞれの発明後の改善フェーズという「2周目」で日本は世界で大勝ちしました。日本は2周目に強い。これまでの日本はソフトウェア敗戦20年といっていい極端な輸入超過の状況でしたが、言語の問題をのぞけば最近の日本のスタートアップがプロダクト開発力で負けている気が全くしないんですよね。今から日本はソフトウェア産業で勝ち始めるんじゃないか、と。実はHireRooさんへの出資を決めた理由はプロダクトとして並べてみても海外競合に負けると思えないから、というのもあります。
及川 最初は真似でいいんですよ。トヨタには「3つのI」という言葉があって、その内容がImitate、Improve、Innovateですよ。
葛岡 「日本のSaaSは海外で勝てない」という思い込みをくつがえしたいですね。
——グローバル展開、期待しています!
葛岡 勝ちます…!
Contributing Writer @ Coral Capital