この記事はSafie Engineers' Blog! Advent Calendar 1日目の記事です
導入
はじめまして!2024年に入社し、現在は第4開発部 コアデバイスグループに所属しております山口と申します。
今回は、2024年新卒エンジニア研修の紹介をしたいと思います。
新卒研修の軽い紹介
セーフィーの新卒研修ではチーム開発をおこなっています。チーム開発を通してチームマネジメント・開発(フロント、サーバ、デバイス、CI・CD)・運用・保守を学んでいくのが目的になります。
チーム開発では、2024年度の新卒エンジニアは7名で「社内の負」を解決するシステムについて、アイデアを出し合って開発しました。新卒エンジニアメンバーで話し合った結果、社内で用意されている「異才ランチ」という福利厚生制度に着目し、これを活性化しようという話になりました。
異才ランチを効率化するシステムについては他のテックブログで紹介があると思いますので、本記事では頭出し程度にしておきます。
また、新卒研修のトレーナーには去年の新卒の方々が担当してくださっています。
新卒エンジニアメンバーが執筆した記事については以下リンクをご参照ください!
- 新卒研修の紹介とチーム開発前にやったこと←本記事
- アジャイルを実践してみる
- isai connectについて
- isai connect開発のアウトプット_サーバーサイド
- isai connect開発のアウトプット_フロント
- isai connect開発のアウトプット_インフラ (12/6 公開予定)
- isai connect開発のアウトプット_デバイス (12/7 公開予定)
- 新卒研修の成果発表とその後 (12/8 公開予定)
チーム紹介
新卒研修を始めるにあたってチーム名とロゴを作成しました。
今後会社で24卒エンジニアと認識されるより、チームとして認識してほしいこと、チームとして一体感をだしたいなどが理由です。
チーム名には悩みましたが、各メンバーの頭文字をとって
ロゴは新卒デザイナーに作成してもらいました。こちらも何度かやり取りを繰り返し、最終的に以下のようなデザインになりました。
このロゴは開発したプロダクトでも使用しています。
開発体制について
チーム開発でプロダクトをリードするプロダクトリーダーと技術まわりについてリードするテックリードといった役割もチームで選出しました。
出社する頻度もチーム内で決め様々な働き方を試してみて、自分にはどの働き方があっているかなども考えました。
リモートワークでのコミュニケーション方法について考え、我々は「Gather」を使用してみました。リモートワークの際、Gatherではマップ上で話しかけたい人の近くに移動すれば会話ができるので、現実でちょっと話を聞きに行くみたいな感覚に近いものがあって気軽に相談もできたのが良かったと思います。
下記の画像は実際に開発中に使用したGatherの画像になります。
利用ルールは下記のように定めていました。
- 利用ルール
- 利用する曜日:月・水・木
リモート可能な日に利用
- リモート: 月
- 出社: 火・金
- 自由: 水・木
ログイン時間:出勤時~退勤時まで
- 利用範囲はSSSTIFYの7名とする
- 他者の招待は原則NG
- トレーナーさんなど参加が必要な場合は相談
- カメラは常にON
- マイクは基本OFF、話しかける際にON
- 雑音などを拾う可能性があるため
- 全体のミーティングはGoogle Meetを利用
- 個人間の話し合いではGather上で画面共有など利用可
- チャットはSlackを利用し、Gatherでは使わない
- 履歴を残しておくため
我々のチーム開発ではアジャイル開発を取り入れ、スプリントごとに各領域の開発をできるようにもしました。
例えば、今スプリントでフロント開発していた人が次回スプリントではデバイスの開発をしているといった感じです。
下記のように開発に向けたチームの目標を決めていました。
- チームでやりたいこと(目標)
- 型にはめたスクラムを経験してみる
- レビューを定期的に受ける(進捗定例)
- スプリントを2周以上回す経験をする
- 使ってもらえるプロダクトにする
- 満足度などの定量指標を設ける
- 自分が使いたいプロダクトを作る
- 全員が全ての技術に触れる
- 1スプリントで二つ以上の技術を触れることが目標
- いっぱいタスクを消化している人にどんなタスクあるか相談するのもあり
- チケットは基本メインの技術スタックをとっても良いが、他の分野についてはレビューで寄与する
- レビューでは動いたからOKといったものではなく、積極的に実装者やその他の関係者に質問するなど理解を深めるよう意識する
- 型にはめたスクラムを経験してみる
タスク管理について
タスク管理には「Backlog」を使用しました。
チーム開発ではgitのbranch名をBacklogの課題IDと紐づけることでgithub上でプルリクがマージされたらBacklog上でのチケットも完了ステータスに移行するようにし、なるべく繰り返し作業を減らすことを意識して開発に集中しやすい環境を目指しました。
githubのプルリクとBacklogのチケットが紐づいていることで、どのチケットに対するプルリクなのかも一目で判断でき履歴を追いやすいのも良かったです。
コーディング規則
こちらはプルリクでチェックすべきコーディング規則の内容になります。プルリクの内容がどの領域に対する変更なのかでプルリクのテンプレートが決まります。
テンプレに記載されている項目を担当者は確認し、確認ができし次第レビューを各メンバーへお願いするといった流れでレビューしていました。
また、各フォルダごとにCodeOwnerを選定し、各領域で必ずレビューをもらうべき人を決めていました。変更に対して責任を持ってレビューをするといった意味合いも含んでいます。
チーム開発前にやったこと
チーム開発がはじまるまでは初めに「Udemy」という動画教材を取り扱っているサイトを用いてプログラミングの基礎について学習をしていました。
私たちはセーフィーの新卒二期生ですが、一期生の方々の研修フィードバックを元に厳選した動画を中心に学習を進めていました。
既に基礎を理解している人は自由に興味のある領域の動画で学習していました。動画教材のリストとしては、セーフィーのプロダクトに関係のあるものが主に選定されています。
Githubを学んだことがない人はUdemyの動画から学んでいましたが、それだけでは理解は浅かったので、チームで集まって実際にコマンドを叩きながら理解を深めていました。やはり実際に手を動かして学ぶのが一番です。
まとめ
本記事を読んで、少しでも入社したときのイメージがついていただけたら幸いです。
研修終了後、別々の部署に配属された事でSSSTIFYのメンバーとの直接的な接点は減りましたが、他部署のシステムや技術について気軽に相談できる関係性が構築できて今も仲良くさせてもらっています。
また、セーフィーでは新卒採用が始まってから2年が経過していますが、実際に研修を経験した方々のフィードバックから研修内容を柔軟に変えて、最良の研修を模索している段階にあります。
来年度入社される新卒エンジニアの方々のためにも、今回の研修についてしっかりフィードバックを行いました。
今後もさらに研修内容をブラッシュアップしていき、来年度の新卒エンジニアの方々が楽しいと思える研修にできると嬉しいです。