26卒向けエンジニア向けインターンシップ『Sprinters』の裏側 #Developer&Designer Advent Calendar 2024

Developer&Designer Advent Calendar 2024

Developer&Designer Advent Calendar 2024 23日目の記事です🎄

はじめに

こんにちは。
HR forecasterというプロダクトでエンジニアをしている松本です。

hr-forecaster.jp

関西在住の私は今年も昨年に引き続き加古川マラソンに参加しました。いつもアドベントカレンダーと同じ12月なのであれから1年がたったことを感じています。

今年は新卒採用のイベントの新規企画と開発を行ったのでその進め方や苦労した箇所について共有できればと思います。

使用用語について

厚生労働省によるインターンシップ基本方針の改定があり、弊社のSprintersもオープンカンパニーという名称にするか否か議論しました。
最終的に、他社の対応状況や自社採用への影響を考慮し、26卒は1Dayでも「インターン」という名称を継続利用と決まっています。
そのためこの記事でもオープンカンパニーではなくインターンという名称で記載しています。

オープンカンパニーとは、

就業体験を必須とせず、「個社・業界の情報提供等」や「教育」が目的となるイベント。

引用元:厚生労働省

上記より実施期間が4日以下のイベントはインターンではなくオープンカンパニーという名称になります。

目次

インターンの概要

弊社のインターン企画は、人事3名と企画エンジニア3名が担当しました。
インターン当日は上記の人事3名に加えて企画とは別のエンジニア3〜4名と数名の人事で実施しました。
学生さんたちは事前に人事で決めたグループに分かれて課題に取り組み、バックエンドエンジニアとして実務に近いフローでインターンを行います。
インターン当日の進行は人事が担当し、エンジニアは技術的なサポートを行います。

こちらがSprintersの特設サイトです。

www.persol-career.co.jp

開催日

インターンは以下の日程で開催されました。
第1回インターンは2024年7月6日(土)にオンラインで実施
第2回インターンは2024年9月4日(水)にオフラインで実施
第3回インターンは2024年10月10日(木)にオンラインで実施

参加者

今回は2026年度入社のバックエンドエンジニア募集を行いました。
特設サイトそのままですが、
・2026年3月以降に卒業予定の大学・大学院・専門学校・高等専門学校・短期大学生の方
・何かしらのプログラミング学習経験がある方
の募集なのでプログラムができる学生さんに参加していただきました。

インターンを実施するために

今回のインターンですが例年までのインターンとは異なり1Dayのインターンにチャレンジしてみたいということで始まった企画です。
2023年に実施したインターンのノウハウの流用が簡単にはできない状況からのスタートになりました。

paiza.jp

もちろん山のようにやらなければならないことがあったのですが、
上記であげた3つの担当グループ(人事・企画エンジニア・当日エンジニア)毎にどのような作業があったのかある程度時系列でリスト化してみました。

人事

  • インターンシップの方針を立案し、重要業績評価指標(KPI)を設定
  • 特設サイトの作成
  • 学生さんを募集し、面接を通じて参加者を決定
  • 企画エンジニアにスケジュールを伝え、必要な準備を依頼
  • 企画エンジニアと一緒に企画を考える
  • 参加者をグループ単位で集め、顔合わせを行う
  • サンプルプログラムが正しく動作するか、参加者に確認してもらう
  • 学生さんへのアンケートの作成
  • 当日エンジニア向けの説明を実施
  • リハーサルを実施
  • リハーサルの結果を振り返り、改善点を共有し、改善箇所の対応を行う
  • インターン当日(司会進行や参加者グループの会話促進を行う)
  • インターン当日の参加者フィードバック及びアンケート結果を振り返り、良かった点と改善点を整理
  • 次回に向けて内容をブラッシュアップ

企画エンジニア

  • 人事からインターンシップの内容と目的について説明を受ける
  • インターンの開催日時を元に開発スケジュールを立てる
  • 企画内容を具体化し、必要なシステムを準備
  • 学生さんが取り組む課題の動作サンプルを作成し、動作確認を行う
  • 学生さんが取り組むワークショップの内容の詳細に作成
  • リハーサルを実施
  • リハーサルの結果を振り返り、改善点を共有し、改善箇所の対応を行う
  • インターン当日(第1回・第2回は企画エンジニアも当日エンジニアとして参加)
  • インターン当日の参加者フィードバック及びアンケート結果を振り返り、良かった点と改善点を整理
  • 次回に向けて内容をブラッシュアップ

当日エンジニア

  • インターンの資料を受け取り内容を把握
  • 当日エンジニア向けの説明を受ける
  • リハーサルを実施
  • リハーサルの結果を振り返り、改善点を共有し、改善箇所の対応を行う
  • インターン当日
  • インターン当日の参加者フィードバック及びアンケート結果を振り返り、良かった点と改善点を整理

インターンを実施するために の まとめ

細かい作業やエンジニアの私からは見えてない作業もありますが、概ねこれらの作業が完了していないとインターンは実施できませんでした。

企画内容について

私は主に企画エンジニアだったので企画の際に気になったポイントについて共有したいと思います。
もちろん企画内容が一番重要でエンジニアだけではなく人事と協力して試行錯誤の末完成したものですが、基本的に外部公開はしていないのでそれ以外で大事なポイントです。

環境構築が難しい

今回は参加者のPCに環境構築してもらう形で企画を進めました。
その場合、問題点として大きいのが環境構築でした。
プログラムするためにはそのプログラム言語を動かす環境を整える必要があるのですが、開発でよく使うDockerの環境がない場合、同等の環境を作ることは困難になります。
今回の企画では環境構築の容易さも考慮に入れてPython、C#、Javaなどの他の候補もある中Node.jsを採用しました。
その結果、MacやWindowsでも、スムーズに参加者に環境構築をしていただくことができました。
参加者には授業や流行なのかCやPythonの経験が多い印象でしたが、実務で環境構築に差分が良く出ている印象だったので今回はNode.jsで実施してTypeScriptでの開発を行なっていただくことにしました。

ワンポイント

データベースもバックエンドエンジニア向けだと必須技能になってくるのですが、環境構築の難易度が高いことやデータベースに精通している参加者がチーム毎に分散されない可能性があったので見送りました。
代わりにデータベース相当のWeb APIを用意してそちらに対してリクエストを行う形にしました。

課題のレベル感

参加アンケートの結果、プログラミングを中長期のインターンやアルバイトでやっている参加者と、授業でしかやったことのない参加者では大きな技術レベルの差ができてしまっていました。
どちらの参加者にも楽しんでもらうためには、課題の内容も技術力がないと参加できないものから所属チームの方針や考え方によって差が出るような内容にする必要性がありました。
プログラムはあまり得意でなくても自分のできることをチーム内で探して、意見出しを行うことや、円滑に方針決めをやっていくことで課題に参加してもらうことができるように工夫しました。
今回の課題では技術レベルや解決したい問題によって課題一覧から好きな数の課題をチームで決めた方針に沿って好きな順番で取り組んでいけるようにしました。
これらにより、実際の業務と同様に、明確な答えは無いがチームでの結果を皆で反映していくプロセスを少しでも体験してもらうことができていればなと考えています。

最後に

インターンシップを成功させるためには、いくつかの重要な心構えが必要です。
まず、学生さんたちのスキルレベルを考慮し、適切な課題を設定します。環境構築は人により差分が大きい作業であるため、十分なサポートを提供します。
企画はチーム全体で作り上げるものであり、全員の協力が重要です。インターン当日は非常に大変な作業ですが、その分達成感も大きいです。
スケジュールは常にタイトであり、効率的な作業が求められます。
メインの業務もあり工数が限られているため、優先順位を考えた作業が必要です。
納期が迫る中でも、品質を向上させる努力を怠ることはできません。
インターンシップはやりがいのある経験であり、学生さんたちの成長を見守る喜びがありました。

このように、インターンシップには多くの準備と工夫が必要です。エンジニアと人事が協力し、学生さんたちにとって有意義な経験を提供するために全力を尽くしました。

松本 健作 Kensaku Matsumoto

クライアントP&M本部 プロダクト統括部 クライアントサービス開発部 HR_forecasterエンジニアリンググループ リードエンジニア

2023年2月にパーソルキャリアに入社。現在はHR forecasterの開発に従事。

※2024年12月現在の情報です。