
Triplebyte創業者:製品を構築するためのキーテクニカルエンジニアを見つけて雇う方法
TechFlow厳選深潮セレクト

Triplebyte創業者:製品を構築するためのキーテクニカルエンジニアを見つけて雇う方法
どうやってGoogleやFacebookといったテック大手とエンジニアを巡って競争するか?
翻訳:TechFlow
注:本記事はTechFlow特集『YC起業講座中国語ノート』(毎日更新)に収録されています。YC講座の中国語版を収集・整理することを目指しており、第十二回は元YCパートナーでTripleByte創業者であるHarj Taggarと彼の共同創業者Ammon Bartramによるオンライン講義『エンジニアチームの構築』です。

*TechFlow注:Triplebyteは米国のエンジニア採用サービスプロバイダーであり、エンジニアのスキルを評価し、適切な職務とマッチングするためのソフトウェアやツールを開発しています。オンラインテストと技術面接を通じて、応募者のスキルレベルを評価します。
Harj Taggar紹介
私はHarjで、アーモンとともにこの採用マーケットプレイスを共同創業しました。TripleByteを立ち上げたきっかけは、Y-Combinator卒業後に初回の資金調達を行った際、「どのようにエンジニアを採用するか」という誰もが直面する最大の課題でした。
そこで私たちはエンジニア採用に関する多くのデータを収集し、以下の4つの主要テーマについて議論しました:エンジニアを探す場所、リクルーターを使うタイミング、技術スキルの評価方法、およびオファーのプロセス。
しかし、始める前に一つ警告しておきます。採用は非常に苦痛なプロセスであることを覚悟してください。多くの時間と大量の繰り返し作業が必要ですが、そのほとんどは行き止まりになり、完全にあなたの時間を無駄にするでしょう。最終的には、あなたが本当に雇いたいと思う人物が、成長目標を達成するために最も適しているにもかかわらず、あなたの会社に加わることを拒否するという状況に必ず遭遇します。実際、彼らは自分が居心地の良い大企業を離れ、リスクの高いスタートアップに移るという選択を真剣に検討したことはほとんどありません。
そのため、採用プロセスを構築する際には精神的な準備が必要です。私は採用プロセス全体を「ファネル(漏斗)」のように捉えることをおすすめします。このファネルは3つの部分から構成されています:
-
ファネルの上部は「ソーシング」の段階で、さまざまなチャネルを通じて自社に合った人材を探します。
-
採用プロセスの2番目の重要な段階は「スクリーニング」で、その人物を雇うべきかどうかを判断します。ファネル全体を通して、このスクリーニングが最も時間と労力を要するステップです。
-
最後の段階は「クロージング」で、オファーの提示と受諾のプロセスです。これは候補者がチームに加わるかどうかを決める極めて重要なステップです。
採用チャネルの構築戦略

まず、採用チャネルの構築戦略について説明します。個人ネットワーク、採用マーケット、LinkedIn/GitHub、求人ボード、カンファレンスの5つの場所を紹介し、それぞれの利点と欠点を考察します。このリストは順序付きであり、どの順で集中すべきかという私の考えに基づいて並んでいます。
1. 個人ネットワーク

私にとって、個人ネットワークは特に初期に少数の人材を採用する場合において、最高の採用源の一つです。なぜなら、誰かを雇うかどうかを考えるとき、実際に答えるべき質問は二つあるからです:この人は仕事に必要なスキルを持っているか? そして、この人と一緒に効果的に働けるか?
大企業であれば、規模が大きく、十分な人数とチームがあるため、どこかのチームが誰とでもうまく協力できる可能性が高いので、最初の問題に集中できます。しかし、小規模な企業ではそうではありません。
誰かと効果的に協力できるかどうかは、成功を左右する重要な要素です。早期に間違った人を雇ってしまうと、会社に致命的な影響を与える可能性があります。
そのため、かつて一緒に働いたことがある人、あるいは信頼できる人が働いていた人を雇うことで、うまく協力できないリスクを低減できます。
したがって、起業家には個人ネットワークを活用して適切な人材を探すことを強くお勧めします。
しかし現実には、起業家が採用時に個人ネットワークを有効に活用していないことが多いと感じます。理由はおそらく二つあります:
-
一つは、雇用可能なすべての人を徹底的に調査するプロセスを持っていないこと。
-
もう一つは、友人に断られることを恐れていることです。しかし実際には、知人のネットワークから人材を獲得することは極めて貴重なリソースであり、単に声をかけるだけで得られるのです。
私は採用において厳密な手順を守ることを推奨します。まず、優秀なエンジニアとして知っている全員の名前をリストアップしてください。利用可能かどうか、あるいはすでに高値で会社を売却した人でも構いません。次に、彼らに連絡を取り、あなたが取り組んでいることに興味を持ってもらい、チームに加わってくれるか尋ねてください。断られたり迷われたりしても、説得を続け、オフィスに招待することも検討しましょう。
それでも失敗した場合は、他に適任者がいないか尋ね、新たなリストを作成し、同じプロセスを繰り返します。このプロセスは終わりがなく、上場企業の創業者であっても毎日これを実践しています。
会社が拡大しチーム編成が始まったら、従業員の個人ネットワークを活用して新規人材を発掘できます。チーム活動(例:分類作業)を行うことをおすすめします。各メンバーにLinkedInやFacebookなどのSNSを見直させ、適切な人材を共有スプレッドシートに登録させるのです。その後、直接候補者にフォローアップを行ってください。
詳細なプロセスを使用し、知人に対して積極的に依頼を行い、規模が拡大したらチーム全体のネットワークを活用してください。採用プロセスでは、食事や飲み物、ボーナスなどを提供してチームを動機づけ、適切なツールでこのプロセスを管理することも重要です。
2. 採用マーケット

採用マーケットは比較的新しい採用手法です。近年、LinkedInやGitHubでの接触といった従来の方法でエンジニアを採用することが難しくなってきたため、人気が高まっています。
採用マーケットはマッチングサイトのようなもので、エンジニアと企業がともにプロフィールを作成し、メッセージ交換によって面談の可否を決定します。
しかし、優秀なエンジニアの需要は供給を大きく上回っており、企業は通常、候補者に能動的にアプローチする必要があります。
採用マーケットの利点は、候補者の多くが積極的に転職を検討しているため、迅速に適任者を見つけられることです。
ただし、競争も激しく、特定のエンジニアを採用するには非常に効果的に説得しなければなりません。
また、採用マーケットは高額であることが多く、採用ごとに初年度給与の15〜20%が費用としてかかります。TripleByte、Hired、Vetteryは現在の主要な3つのマーケットで、いずれも無料で利用可能です。
TripleByteが他と差別化しているのは、より優れた候補者を提供している点です。これは、TripleByteの面接に合格した候補者の割合で測定されます。採用はファネルプロセスであり、自動的に調整し、候補者が各段階でどれだけ進むかの割合を把握することで、データを蓄積し習慣化する必要があります。
3. LinkedInまたはGitHub

LinkedInとGitHubは世界最大のエンジニア向けオンラインディレクトリです。大企業の採用チームは、これらのプラットフォームを使って一定の条件に合うエンジニアにコンタクトし、冷やかしメッセージを送って採用活動を行います。しかし、技術採用担当者が増加しているため、誰もがレスポンス率の低下に悩んでいます。
初期段階のスタートアップにとっては、関心を持つ候補者を引き寄せるために、膨大な数のメッセージを送る必要があり、多くの時間を費やすことになります。
そのため、採用をより効果的に行うには、大量送信ではなく、大企業の採用チームのように、時間をかけて深く調べ、メッセージをパーソナライズする必要があります。
候補者のLinkedInやGitHubを確認し、彼らの仕事内容を丁寧に読み、少数のターゲットを絞ったパーソナライズされたメッセージを送り、自分のプロフィールを読んだことを明確に示す証拠を提示してください。同時に簡潔さを保ち、プロフィールを読んだことを証明することが重点です。
最後に、メッセージよりもメールでの連絡の方がレスポンス率が高いという点に注意してください。LinkedIn Recruiter Lite(月額120ドル)に登録すれば、Connectifierプラグインを使って誰のプロフィールからでもメールアドレスを抽出できます。
4. 求人ボード

スタートアップの主な2つの掲載先はStack OverflowとAngelListです。Hacker News Jobsは除外しますが、これはYC企業専用であり、高品質のエンジニアが集まるため、通常2番目にランク付けされます。
求人ボードは質の問題がありますが、複数のプラットフォームに一度に投稿できるため、時間節約という利点があります。欠点は、多数の履歴書や応募者を読むのに時間がかかり、大多数の応募者は資格を満たしていないことです。
リターン率を最大化し、優れた応募者の数を増やすには、求人票を他とは一線を画し、魅力的なものにすることが重要です。
インターネット上の多くの求人説明は、採用部門やマーケティング部門のスタッフが作成し、企業のテンプレート言語を使用しているため、エンジニア層を惹きつけにくい傾向があります。
そのため、スタートアップの創業者は求人票に個性や情熱を反映させることができます。たとえば、第一人称で会社を設立した理由や、ミッションにどれほどワクワクしているかを記述するのです。
また、文化のユニークな側面や、直面している技術的・製品的課題の具体的な部分を強調するのも効果的です。これにより、適切な応募者を惹きつけ、会社をより深く理解してもらうことができます。
5. カンファレンス

最後に紹介するのは、物理的な対面イベントです。しかし、これは本当に効果的とは言えず、長期的な試みが必要です。数字もこれを裏付けていません。
対面イベントへの出席者も多くなく、ほとんどの場合、人々は無料の飲食目当てで参加しており、積極的に転職を探しているわけではありません。そのため、このようなイベントで本当に資格を持ち、積極的に転職を検討し、あなたの会社に興奮してくれる候補者を見つけるのは困難です。
また、この手法を成功させるには、見知らぬ人と効果的に話して説得する能力が個人的に求められます。確かに一部の起業家が対面イベントで成功していますが、その差はわずかです。
もし本当にこの方法を試したいなら、技術系カンファレンスに焦点を当てるべきです。つまり、人々が集まり、ノートパソコンを持ち寄って共に作業するようなローカルなプログラミンググループの方が、Dreamforceに行くよりも優れたエンジニアの源になる可能性があります。
自社のオフィスでイベントを開催し、個人ネットワークを活用して友人や彼らのエンジニア仲間を招くこともできます。例えば、TripleByteでは、あるエンジニアが熱心なEmacsユーザーであり、オフィスでBay Area Emacsミートアップを主催していました。
この方法は採用活動に直接成果をもたらしませんでしたが、エンジニアネットワークを構築・拡大する良い手段であり、将来価値を生む可能性があります。したがって、検討する価値は十分にあります。
いつリクルーターを使うべきか?
次に、いつリクルーターを使うべきかについて話します。
実際のところ、技術リクルーターを雇うべき時期を厳密に規定するルールはありません。10人未満の規模で採用を始める企業もあれば、50人を超えてから始める企業もあります。
私の経験則では、最初のエンジニアを雇った後で、リクルーターの必要性を検討すべきだと考えています。理由は、一般的な起業アドバイスがここに適用できると考えるからです。
つまり、採用を始める前に自分自身でいくつかの作業を行うことで、候補者をより正確に評価できるようになります。特に、会社を離れて誰かを雇う前に、自社のスタートアップでどのような人がその役割に適しているかの詳細を理解できるからです。採用の苦しみを自分で体験すれば、適切なリクルーターを選ぶチャンスも高くなります。
もう一つの理由は、これは営業に似ているからです。スタートアップの創業者として、常に製品を売り続けており、いつ本当に優秀な人材に出会うかわかりません。エンジニアを説得する技術を練習していれば、すぐに始められます。
したがって、私の提案は、技術リクルーターに任せる前に、最初の採用を自分で行うことです。その後、約6ヶ月間で少なくとも1人のエンジニアを雇い、良好な採用ペースを維持してください。そうでなければ、彼らはすぐに失業してしまうかもしれません。
最後に、経験上、リソース探し(電話やスクリーニングを含む)に50%以上時間を費やしている場合、採用支援を求め始める時期かもしれません。なぜなら、50%が採用に費やすべき限界だからです。
リクルーターの種類
リクルーターは大まかに3種類に分けられます:
-
まず一つ目は契約制リクルーターで、時給制でLinkedInでの冷やかしメッセージから初期の電話スクリーニングまで、さまざまなタスクを遂行できます。
-
二つ目は内部リクルーターで、フルタイムの技術採用担当者をチームの一員として雇用することです。
-
三つ目はエージェンシーで、本質的にセールスチームであり、LinkedInや他のプラットフォーム上でできるだけ多くのエンジニアに報酬を支払い、できるだけ多くの履歴書を企業に販売します。推薦したエンジニアを雇用した場合、通常初年度給与の25〜30%を請求します。
支援やリクルーターが必要な場合は、まず契約制リクルーターから始めるのがおすすめです。LinkedInやGitHub上のエンジニアに連絡し、有望な候補者の電話対応を任せます。その後、あなた自身がピッチャーとなって説得を行ってください。より広範な採用支援が必要になったら、フルタイムの内部リクルーターを雇い、テレアポの訓練をしてください。
まとめると、スタートアップの採用計画では、個人ネットワークを最大限に活用し、採用マーケットでの実験を行うべきです。LinkedInやGitHub上のエンジニアに対して、パーソナライズされ、的を射たアプローチに時間を費やしてください。最後に、求人ボード、面接、イベントは背景プロセスとして扱い、そこからの採用を期待せず、将来的に価値のある汎用チャネルを構築することを目指してください。
Ammon Bartram
私はTripleByteの共同創業者、Ammon Bartramです。以前はMichael SeibelとともにSocialCamを創業し、Twitchの初期スタッフでもありました。今日は、採用プロセスの2つのステップ:履歴書スクリーニングと電話面接について話します。
まず、なぜ私のアドバイスを信じるべきか説明します。一つの答えは、多くの面接を行ってきたことです。TripleByteに参加して以来、私は1000人以上のエンジニアを直接面接してきました。しかし、より良い答えは、TripleByteが非常に特殊な利点を持っていることです。候補者が複数の異なる企業の面接でどのように振る舞うかを観察でき、他人が持たないデータセットを得られるのです。それが今日私が共有するアドバイスの根拠です。
多くの企業の面接プロセス
多くの企業が採用している基本的な採用プロセスです。このプロセスはすでにかなり標準化されており、約95%のテック企業がこれらの基本ステップを使って候補者をスクリーニングしています。
-
まず履歴書のスクリーニングです。応募者が企業に応募すると、履歴書を提出し、採用担当者がその履歴書を見て、基本的に適しているかどうかを判断します。
-
次に、採用担当者による初步的な電話スクリーニングです。通常、30分程度の電話で、候補者のバックグラウンドを聞き、企業文化に合うか、会社に興味を持っているかを確認します。
-
次に技術的な電話スクリーニングです。エンジニアが30分から1時間の電話面接を行い、通常はプログラミング問題を解きます。時には難易度の高い問題が出ることもあります。この段階では、同期テキストエディタ(共有エディタやコードノートなど)を使って評価されることがあります。
-
次に任意のステップ:持ち帰り課題です。応募者が自分で完遂し、結果を企業に提出して評価される重要なプロジェクトです。
-
その後、現場での面接です。応募者が会社に来て、エンジニアと3〜6時間のミーティングを行い、個人的な問題について話し合います。
-
最後に意思決定会議です。通常、応募者が帰宅した翌日、面接担当者と採用マネージャーが集まり、印象を共有し、チームとして採用/不採用を決定します。
企業は応募者の2〜8%にオファーを出します。しかし興味深いのは、このプロセスの中で企業間で脱落者が発生する地点が大きく異なることです。
第一段階のスクリーニングでは、75%の応募者が文化適合性の観点から電話スクリーニングで落ちます。
その後の面接段階では、ほぼすべての応募者が通過し、ここで全てのスクリーニングが行われます。
雇用された人の約95%が働き続けますが、つまり約5%の技術職が数カ月以内に解雇されることを意味します。
候補者の視点から見ると、面接成功率の分布が見えます。
スキル上位数%のプログラマーは、ほとんどの面接で内定を得ます。
しかし、大多数のプログラマーは中間層に位置し、面接を受けたうち15〜30%の確率で内定を得ます。
興味深いことに、誰一人としてすべての面接に合格する人はいません。どんな面接後にも、魔法のように全社から内定を受けるエンジニアは存在しません。これは面接プロセス設計の主要な課題であり、ノイズの原因だと考えます。
面接官の評価信頼性
面接は再現可能で意味のあるプロセスだと思いますか? 同僚や従業員、あるいは昨年面接に合格した人たちを再び面接できるとしたら、彼らの何人が再び合格できると思いますか?
これは考える価値のある問題ですが、面白いことに、私たちはすでにデータでいくつかの答えを得ています。
そこで私は「面接官内信頼性」という統計値を計算しました。これはTripleByteのすべての面接官の情報を網羅しています。この指標は、異なる面接官が候補者を評価する際にどれだけ一致しているかを示します。
この指標の範囲は0〜1で、0は合意なしまたはランダムなデータの一致、1は完全な一致を意味します。私の研究では、合意値が0.1を超えました。
この合意値は明らかに完全な一致よりはるかに低いですが、ある文脈では、オンライン映画レビューのデータセットに対しても同様の計算を行いました。その結果、若干高いが似たような合意値が得られました。
つまり、面接官とNetflix視聴者が「誰が最も優れているか」を決める点で類似していると言えます。これは少し恐ろしいことです。
データによれば、面接は多くの採用担当者が思っているよりも不整合で混沌としています。
なぜ面接を行うのか?
もし面接がノイズが多いなら、なぜこのような方法を採用するのでしょうか? 試用期間で優れたエンジニアをふるいにかけられないでしょうか? それはとても良いアイデアだと思います。
実際に、誰かと一週間一緒に働けば、その人が優れた従業員かどうかをより正確に判断できます。これは3時間の面接よりも信頼性が高いです。しかし問題は、多くのエンジニアが試用期間を受け入れようとしないことです。
Triplebyteが行った調査によると、試用期間に参加したいと答えたエンジニアは20%に過ぎませんでした。試用期間にはいくつかのデメリットがあるからです。
そのため、最も優れたプログラマーの多くは、時間節約とスピードの面で、従来の技術面接を好む傾向があります。
したがって、試用期間は良い選択肢ですが、多くの優れたプログラマーを遠ざけたくなければ、従来の面接プロセスも継続する必要があります。
従来の面接におけるノイズを減らす方法
今日は、従来の面接におけるノイズを減らすための具体的なアドバイスをいくつか紹介します。
1. スキルの重要性
面接中のノイズを減らす方法の一つは、自社にとって最も重要なスキルを明確にすることです。
プログラマーにはさまざまなスキルがあります。効率的に作業する能力、慎重でゆっくりとしたテスト手法、数学やコンピュータサイエンスの理解などです。自社にとってどのスキルが最も重要かが不明確な場合、面接官が代わりに決めてしまいます。
つまり、よく出る面接問題を出し、それに対する回答が悪い候補者に失望するのです。その問題が自社に関係あるかどうかは問いません。
各エンジニアには偏見と意見があり、「自分が知っていることが最も重要なスキルだ」と考えます。
しかし、最も重要なスキルを明確に指定しなければ、彼らは自社に関係のない分野で失望することになります。
2. 構造化面接
面接のノイズを減らす第二の方法は、構造化面接を使用することです。
-
自由形式の面接では、面接官と応募者が部屋に入り、面接官の直感に基づいて質問し、回答に基づいて総合的な判断を下します。
-
一方、構造化面接は予測可能性が高く、明確な質問と評価基準を設定し、面接結果に基づいて総合的な判断を下します。
多くの人が自由形式の面接の方が良いと考えますが、データでは構造化面接の方が正確です。
したがって、面接プロセスでは、すべての応募者にまったく同じ質問をし、面接官に評価基準を明確に定義することが重要です。
これによりノイズの導入を避け、面接中のバイアスを減らすことができます。評価基準が明確であれば、面接官は人種や性別などの属性を無視しやすくなります。
次に意思決定の一元化です。このアドバイスは主に大企業向けですが、企業規模を問わず、最終決定には一人または一グループが関与すべきです。
面接官を「決定者」と見るのではなく、「メモ書き担当者」として、基準に従って候補者を評価する役割とすべきです。
その後、すべてのメモと評価基準を中央の一人またはグループに渡し、最終決定を行います。この目的も一貫性を高めることです。一人がすべての決定をすれば、一貫性はより高まります。
3. より良い面接問題の使用
ノイズを減らす第三のアドバイスは、より良い面接問題を使うことです。以下にいくつかの提案を示します:
まず、候補者に洞察を要求する問題は避けるべきです。代わりに、段階的に解決できる問題を選ぶべきです。
私の経験則では、「この問題は無視できるか?」と自問してください。解決法の中に、候補者が事前に知っており、友人やGlassdoorで読んだ情報に基づいて伝えることができるような単一の事実があれば、それは悪い問題かもしれません。
例として、「階段の一番下に立っていて、1段または2段ずつ上がれる場合、頂上までの道筋は何通りあるか?」という古典的な問題があります。答えはフィボナッチ数列ですが、それを知らない候補者は苦しむでしょう。
そのため、多段階の問題を選ぶべきです。これらは洞察を必要としないことが多く、優れた候補者でも面接中に詰まることがあります。問題が多段階であれば、ヒントを与えてもまだ十分な時間を残して、候補者がうまくやれる余地があります。
また、専門知識を避けるべきです。一般的なプログラミング能力を評価したいなら、リスト、ハッシュテーブル、文字列などの基本的な問題を出し、トライやプリフィックスツリーのような専門的な問題は避けましょう。アルゴリズムやデータ構造の知識を特に重視しない限り、候補者が問題の解決法を知っていることを確認してください。
全体として、古典的で最も基本的なコンピュータサイエンスの概念に固執するのが良いでしょう。
候補者が提示する問題を解決するには、準備に3倍の時間をかける必要があります。つまり、10分で解けると思う問題でも、30分かかる面接問題になる可能性があります。面接官は候補者よりも問題を考え解決するのが簡単だからです。また、問題の難易度を過小評価しがちなので、最適な問題を決めるために実際のリサーチが必要です。
さらに、面接で少なくとも4つの問題を出すようにしてください。各問題にはある程度のノイズがあるため、複数の問題を出すことで、より一貫した信号を得られます。おすすめの問題は、解決策を設計させるのではなく、特定のアルゴリズムを実装させるものです。
4. 資格の無視
資格は重要ですが、実際のプログラミングスキルとは関係なく、予測可能性しかありません。したがって、誰かを雇うかどうかを検討する際には、資格の影響を避けるべきです。
とはいえ、有名企業や学校で働いた・学んだ経験のある人は、何かしらのアドバンテージを持っているかもしれません。しかし、プログラミング能力を評価する基準としては使わず、面接官には候補者の実際のパフォーマンスを客観的に評価させるべきです。
面接中に面接官に資格を隠すことをおすすめします。強力な資格を持つ候補者にバイアスがかかり、不公平な評価につながる可能性があるためです。最終決定会議では、資格と面接結果の両方を考慮して最終判断を下します。
結局のところ、伝統的な資格を持たないがスキルのあるプログラマーを探すべきです。彼らは過小評価されている可能性があり、スタートアップにとって大きなアドバンテージになります。
5. 偽陰性率の考慮
面接では偽陰性率を考慮する
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














