ベイジエンジニアチームでは、採用課題として、二次面談の際に『ライブコーディング』を実施しています。リアルタイムで複数人で開発を行うペアプログラミングのようなイメージで行っているライブコーディングについて、今回はどんな目的で何を行っているのかを紹介します。
ベイジでは元々、二次面談の際に模写コーディングの課題提出をお願いしていました。しかしながら、1ページとはいえサイトをまるまる模写して提出いただくのは負荷が高く、時間もかかる上に、成果物を見ても、どのような考えでどうやって実装したのかが詳細まではわからない点をデメリットに感じていました。
リアルタイムでお互いにコミュニケーションを取りながら進められ、その場で完結するライブコーディングの方が、双方にとって効率的でより良いと感じ、ライブコーディングへの移行を決めました。
具体的な課題内容は伏せますが、目的や方法などが何らかの参考になれば幸いです。
ライブコーディングを行う主な目的は以下になります。
ライブコーディングは、採用応募者に参加いただくほか、ベイジからファシリテーター1名、エンジニア1名が参加します。音声コミュニケーションツールはGoogle Meetを使用し、エディターと実装画面を共有しながら進めます。実施時間は30分程度としており、実装途中でも切りのいいところで終了とします。(制限時間内に完成まで辿り着いていなかったとしても問題ありません。)
環境構築関連で何かトラブルがあった場合は、なるべくサポートします。
当日滞りなくライブコーディング課題を行うため、採用応募者の方には、当日までに以下の準備をしていただくようメールでご案内しています。
何を考えて何を実装しようとしているのか、言葉に出しながら進めてもらいます。(独り言を言いながら実装するイメージ)
実際に二次面談でライブコーディングを実施する際には、事前に用意した参考動画をお送りしますので、イメージがつきやすいかと思います。
ファシリテーターはタイムキーパー役を担うほか、採用応募者の緊張がやわらぐよう声かけを行います。「いいですね」「あと〇分です」など、ライブコーディングが行いやすい場作りを意識して発言します。
実装に関してのファシリテーションはエンジニアが行います。「まず、何から手をつけますか?」「今なぜその実装をしましたか?」と質問し、深掘りしていきます。採用応募者が悩んで動きが止まってしまったら、さり気なくサポートします。
HTMLのモックはある程度の状態まで完成させたものを用意しているので、その場で共有します。採用応募者がGoogle Meetの機能を使用して、実装画面を画面共有します。
課題は二つ用意しており、課題1が早く終わった場合は、課題2として課題1から発展した内容の実装をお願いする形にしています。おおまかな流れは以下になります。
その他、以下のルールを設けています。
現時点でメリットに感じている点をまとめました。
ライブコーディングを行った回数はまだ少なく、改善の余地のある部分はあるかと思いますが、現時点での実施方法やメリットをまとめました。少しでも、採用課題のヒントになれば幸いです。