はじめに
この記事は、Techouse Advent Calendar 2024 11日目です。
昨日は 藤瀬 さんによる 金曜日の夜は自然とエンジニアが集まって技術を語り合う、そんな会社にしたいんです。 でした。
12日目は、エンジニアインターンの sakaidubz が担当します。
本日は私の携わっているプロダクトであるクラウドハウス労務で行っているエンジニア長期インターン生のオンボーディングの効率化について紹介します。
弊社では、エンジニア長期インターン生を採用しており、社員と同等レベルのプロダクト開発に取り組むことができます。
近頃採用人数が増えてきたこともあり、より迅速で効率的なオンボーディングが求められています。
今回は、オンボーディングをどのように改善し、効率化に繋げたのかを解説します。
オンボーディングの目的
前提として、入社後のインターン研修生は研修修了面談を通過したのちに長期インターン生として事業部に配属されます。
(以下より、研修修了面談を通過したインターン生を「新人」と呼びます)
研修はRailsチュートリアルを通じてRailsの基礎を学んで頂きますが、研修を通過した後もドメイン知識や開発フローなど、実務に必要な知識を身につける必要があります。
そのため、以下のような目的でオンボーディングを実施します。
- 開発に関しての基礎知識を身につける
- プロダクトについて
- 開発環境について
- 開発フローについて
- 仕事に関しての基礎知識を身につける
- Jira・Confluence・Slack などの社内ツールの使い方
- チームメンバーとのコミュニケーション方法
私も研修通過後に上記の目的に沿ったオンボーディングを受けましたが、様々な課題があったのを覚えています。
また、オンボーディングを担当する側に回った頃にも同様の印象を受けていました。
今までのオンボーディングの課題
以前のオンボーディングは、開発環境面・対人コミュニケーション面など多くの観点から整備がなされておらず、受け入れ態勢は十分とは言えませんでした。
課題 1: 資料の数が多すぎる
初日にいきなり5を超える資料を往復しながら作業を進めるような状態でした。
これはどの資料を今見れば良いのかわからない、先ほどやった作業とのつながりがわからないなど不安定な状態でのオンボーディング進行を招く原因となっていました。
また、オンボーディング担当者が毎回変わるたびに作業の抜けや順序の違いを生む原因でもありました。
課題 2: オンボーディング当日に煩雑な依頼作業やアカウントセットアップで無駄に時間を食ってしまう
初日にいきなりシフト調整や各アカウントセットアップなどの事務作業で半日を費やしてしまうのはとてももったいないことです。
課題 3: 1つ目に取り掛かるタスクが新人にとっては時間がかかりすぎる
新人はいきなりプロダクトのコードを知らない状態で軽いバグ修正をアサインされたとしても、コードレビューまで1週間かかってしまうことはザラにありました。
これでは新人が素早くチームへジョインし、開発の感覚を掴める状態とは言えませんでした。
また、そのタスクのアサインもオンボーディング担当者が毎度用意・調整せねばならず、円滑にオンボーディングを進める上でのボトルネックとなっていました。
課題の整理
これらの問題は以下の悪影響を及ぼすと考えました。
- 新人の最初の体験が悪くなる
- 配属初期のストレスはなるべく減らすべき
- 受け入れられている実感を持つべき
- 新人が最初のうちに知っておくべきことが身につかない
- 基礎知識不足で無駄に時間を浪費してほしくない
これらの課題は後述する改善策で解決できると思い立ち、オンボーディングの改善に取り組みました。
どのように改善したか
改善 1: これさえあれば良いという1つの資料をまとめる
まず、オンボーディングに必要な資料を一本にまとめました。
この資料には、以下のような内容が含まれています。
- オンボーディング前日までにやっておくと良いもの
- 実務に関する各種説明
- 環境構築(へのURLのみ)
- 1stタスクに取り組む
- プロダクトの概要
- チケット駆動開発の流れ
- 1stタスクの開始
全てを一本の資料に組み込んでしまうと文章量が膨大になってしまうこともあり、環境構築手順書などは別資料へのリンクを貼るのみとしました。
新人がオンボーディングでやるべきことを一目で把握できるように、認知負荷軽減を目的として一元化しました。
改善 2: オンボーディング前日までにできることはやっておいてもらう
各種アカウントセットアップ、直近のシフト記入とそれに応じたジョイン後のチーム配属などは事前にチャットで調整するようにしました。
これにより、オンボーディング初日に事務作業で無駄に時間を費やさないようにしました。
改善 3: 高速で完了できる1stタスクを用意し、開発フローを体験してもらう
1stタスクは、環境構築後、1~2時間程度で完了できるものを用意しました。
内容としては、クラウドハウス労務のTechouse関係者のみが操作可能な画面である「開発者一覧ページ」に自分の名前と配属日、GitHub IDを追加してもらうというものです。
このタスクを通して、以下の開発フローをハンズオンで経験してもらいます。
- タスク(チケット)をJiraでアサインしてもらう
- チケットの内容を記載する
- ブランチを切る
- 実装をする
- コミットをする
- プルリクエストを作成する
- レビューを依頼する
- レビューを受ける
- Approveをもらう
- mainブランチへのマージを依頼する
- テスト環境で開発者QAを実施する
- チケットをリリース可能であると報告する
このタスクを通して、実際のタスクへ着手する前に開発フローを高速に体験・理解してもらうことができます。
改善の結果
オンボーディングの改善として上述のような取り組みを行ってきましたが、2ヶ月程度で以下のような成果を得ることができました。
まず初めに、新人の来社から数時間程度で一連のオンボーディングを終えられるようになりました。以前は数日を要していたため、大幅な短縮となりました。
また、初日に知っておきたい必要最低限の知識を体系的に身につけられるようになりました。よくつまずくポイントやよく質問されるような内容がまとまり、新人が知っておくべきことを把握しやすくなりました。
これにより、新人が仕事を始めていくにあたっての障害や認識のずれを極力減らすことができるようになりました。
そして何より、その日に1stタスクがマージされることで、チームへコミットしている感覚を持つことができるようになりました。
チームの一員として認められた新人はその後のタスクにおいて、プロダクトへの貢献意欲が高まるようになりました。
まとめ
今回は、Techouseのエンジニアインターン生のオンボーディング整備について紹介しました。
私の行った改善が新人のストレス軽減と、より迅速なチームへのジョインを促進することができたことを実感でき、非常に有意義な取り組みであったと感じています。
今後も新人の受け入れ態勢を整えるために、より効率的なオンボーディングを目指していきたいと考えています。
明日のTechouse Advent Calendar 2024は ショーン さんによる インターン生が突如現れた最強CTOとペアプロした話 です。
Techouseでは、社会課題の解決に一緒に取り組むエンジニアを募集しております。 ご応募お待ちしております。