hey Product Blog

こだわりを持ったお商売を支えるプラットフォーム「STORES」の開発チームによる技術ブログです。

2年間実施してきた体験入社のノウハウ

STORES 予約 で Webアプリケーションエンジニアをしています。ykpythemindです。

STORES 予約 チームでは採用選考プロセスの1つとして、体験入社を実施しています。今回はその体験入社の内容とTipsを書きます。

想定読者は、チームとして採用活動をしたいエンジニアやマネージャーの方といった、体験入社という特殊な選考プロセスについて興味のある方を対象します。今回書く内容はあくまで私達のスタイルに合う形でブラッシュアップしてきたものなので、組織やチームに合わせて少しずつ変えていくのが良いでしょう。

体験入社とは

f:id:ykpythemind:20220330140727p:plain

体験入社は、1日開発チームにジョインして実際のSTORES 予約 の開発タスクを実施していただく選考になっています。大まかな1日の流れは後述します。

今日(2022/03/30)現在、チームではオンライン体験入社を実施しています。*1

体験入社にはざっくり以下のような特徴があると考えています。

  • 良い点
    • チームにとっても、候補者の方にとっても、お互いに一緒に働くイメージを持てる
    • Pull Requestのレビュー会を実施するので、実装や設計上での着眼点や、あえて行わないことや好みといった点を話し合うことができ、より技術的な側面を見ることができる
  • 悪い点
    • 契約や支払い周りの部分で他部署にとって運用負荷になる
    • 平日に実施するので、候補者の方には基本的に1日おやすみを取ってもらうことになってしまう

全体の流れとしては以下のような運用です。

step 実施するチーム やること 
実施日のヒアリング 採用チーム 候補者の方から希望実施日や、オフライン or オンライン実施の希望を伺う。謝礼金(+交通費)支払のための個人情報や口座情報もヒアリング
日程の設定 採用チーム 決定した日時でGoogleカレンダーの日程を抑え、開発チームに共有する。
詳細を候補者に連絡 採用チーム 実施日程と、体験入社の流れを解説したドキュメントを連絡する。*2
体験入社のしおりを作成する 予約チーム 体験入社のしおりを作成(後述)
候補者用アカウントの準備 予約チーム Google Workspaceのテンポラリなアカウントを発行し、社内のSlackのシングルチャンネルゲストに招待する。
体験入社PCの準備 予約チーム 体験入社用のPC環境を用意します。セットアップ済のPCがあるので、大体その環境下のアプリケーションコードを最新にする作業のみで終わる。
当日 予約チーム 候補者の方に来ていただいて1日開発する。
終了した後 予約チーム 候補者の方がお帰りになった後、チームメンバー各々のフィードバックを集め、選考する。

Tips

以下、実施する上でいくつかの知見を紹介します。

メンターを決めておく

候補者からの質問の1次受けや、各セクションのファシリテーターとしてメンターを1人置くようにしています。スキルセットの近さ等も加味しつつチーム内で毎回ローテしています。

体験入社のしおりを作成する

当日の初めに、以下のような体験入社のしおりをお見せしています。これはGitHub Issueを候補者ごとに作成するものです。

f:id:ykpythemind:20220330140748p:plain
体験入社のしおり(例)

大体の1日の流れは、基本的には上記のように進んでいきます。

情報をGitHubに集約する

チームではGitHub Issues以外にも使用しているツールがありますが(esaFigmaなど)アカウントの発行等のオペレーションが必要なのと、体験入社の時間でどちらにしろ読みきれず候補者の方の認知負荷になる傾向が多かったので、最小限の情報を集約することにしました。

ざっくりとしたサービス構成であったり、よくある質問などをGitHubWikiにエクスポートしています。

f:id:ykpythemind:20220330140816p:plain

現実にある課題を実施してもらう

1日実施していただくタスクは、現実に私達のバックログに存在する課題を行っていただいています。これは優先度の問題で未着手になっているもので、だいたい半日ほどでPull Requestの形になるようなものを想定しています。

単なるコーディング課題にならないよう、答えが完全には決まっていないプロダクトの課題を、エンジニアサイドの意思決定込みで取り組んでいただけるよう意識しています。

体験入社用のPCを貸し出しする

当日、1から環境のセットアップしてもらうと時間がかかってしまうので、毎回体験入社用の開発PC(Macbook Pro)を貸し出しています。開発環境のサーバ等が起動した状態にしていて、初めに15分ほどざっくり操作してデモをお見せしています。

ちなみに、US配列/JIS配列 どちらのキーボードも用意しておくのが個人的なポイントです。パフォーマンスを発揮していただく上ではなるべく普段と同じ環境で実施してもらいたい為です。

トークテーマ集を作っておく

恥ずかしながら、私達はアドリブで話すのがあまり得意ではありません。 ランチの時間に雑談時間を取っていますが、ここで話す内容が尽きてきた時の為にトークテーマ集を用意しています。

f:id:ykpythemind:20220330140835p:plain
エディタについての話題は少々センシティブかもしれません

あくまで面接ではないので、面接チックにならないように気をつけています。 転職のきっかけはカジュアル面談のステップでは話しきれないこともあって、毎回そこそこ盛り上がる傾向にあります。

TeamViewerを使う (オンライン)

以下ではオンライン体験入社の場合のTipsをいくつか紹介します。

候補者のご自宅から体験入社PCにアクセスしていただくため、Team Viewer を使っています。*3

f:id:ykpythemind:20220330140911p:plain

当日の流れはこのようになっています。

  1. 候補者の方に、あらかじめお伝えしてあるGoogle Meetに参加してもらう
  2. Team ViewerのアクセスIDとパスワードをお伝えする
  3. 候補者の方に体験入社PCに接続してもらう。開発環境と体験入社のしおり、Slackが開かれている状態になっているので、すぐに課題の説明に入れる

VSCode Live Shareを使う (オンライン)

概ね不満がないTeam Viewerですが、スクロールをしようとすると動作が遅いという問題があります。したがって、候補者の方がコードを読んで書く上ではVSCode Live Shareを推奨しています。

  1. 体験入社PC上のVSCodeをホストとして、VSCode Live Shareのセッションを開始。参加URLを発行する。
  2. 候補者の方に参加URLをお伝えし、候補者のVSCodeでセッションに入っていただく。

Live Shareだと、メンターや他のメンバーも参加できるので便利です。

まとめ

いかがでしたでしょうか。今回は体験入社の運営サイドの知見をいくつかご紹介しました。 お互いミスマッチ無い採用活動という観点で、とても良い取り組みになっています。 社員として運用側に参加してみると、採用に対して圧倒的自分ごと感が出てくるとのことで、チーム作りの一貫にもなっているような気がします。

体験入社を考えているチームにとって、何かしら参考になると幸いです。 また、 ヘイ株式会社では絶賛採用活動中です。ご応募をお待ちしております。

*4

*1: さまざまな状況を鑑みた上でオンラインとオフラインの実施を切り替えており、今後はオフラインでの実施を主体にしていく予定です。

*2: このタイミングで、クラウド契約書サービスを用いて秘密保持契約を締結していただいています。

*3: 体験入社より前の日にご案内して、あらかじめクライアントをインストールしてもらっています。いくつかリモート接続のソフトを試しましたが、TeamViewerが1番トラブルがなく便利でした。

*4: 体験入社については heynote 「未来のメンバーと一緒に働く。STORES 予約のエンジニア体験入社」 にも記事があります。