2020年4月、当社には14名(技術職5名、総合職9名)の新卒社員が入社しました。
入社時の区分では技術職・総合職と専門が分かれていますが、実際の業務では相互に関わりあって日々の業務を進めています。そのため、配属先以外の業務について新しく入社した新卒社員にも知ってもらう必要があります。そこで、当社ではローテーション研修を実施し、業務について知ってもらう機会を設けています。
この記事では、ローテーション研修の一環として技術部門で実施した新卒総合職向けの開発研修について、概要とその振り返りを紹介します。
音楽聴いたり読書が好きです。(多読ではないです。)
ここ数年は常にショートヘアです。
暑さが出不精に拍車をかけている今日このごろ。
新卒総合職向け開発研修
「当社の技術部門ではどんな業務をしているのか」を新卒の総合職の社員にも体験を通じて知ってもらうべく、こんな研修を用意しました。
目的
総合職に配属される新卒社員にも、開発業務について体験を通じて知ってもらいたい。
一番の目的はこれです!
総合職配属となる新卒社員は、技術職が主に行なっている開発業務の現場に直接携わる機会はあまりありません。そこで、共に働く開発者の苦労や喜びを体験してもらい、実業務でも活かしてほしいという思いから、今回は開発業務の中でもプログラミングに特化した研修を行うことにしました。
しかし、準備を始める前には以下のようなそこはかとない不安がありました。
- 「開発業務を行う」 = 「それに伴う技術知識が多少なりとも必要」
- 開発業務の一部を体験してもらうことが目的なので、技術を教えることに特化した研修にはしたくない
- 研修期間は開発環境の準備や成果発表会まで含めて5日間
- さらに新型コロナの影響で初のリモートでの研修
- 「レポート作成などでしかパソコンを使わない」というような、プログラミングにゼロから挑戦する社員も居ると思われる
ひょっとして(いや、ひょっとしなくても)無茶ぶりでは……?
果たして無事に進められるのでしょうか?
概要
- Webアプリケーションを作ってみよう!
- 要件/シナリオ
- とある企業様からデータを管理するシステムを請け負った想定でWebアプリケーションを作る(データの登録・変更・検索・削除が可能なWebアプリケーションの作成)
- 使用技術など
- 開発環境はVirtualBoxにOSイメージをインポートする形で用意
- OSはCentOS 7
- 開発ツールはVisual Studio Code
- 開発言語は、Java(Spring Boot)とHTML/CSS/JS
- 要件/シナリオ
- 成果物例
準備
無茶ぶりと分かりつつも、あえてそのような環境にすることで、新卒社員同士で考えたり協力して乗り越えてほしいという思いから、「サポート担当の先輩社員たちはなるべく付きっ切りにならないようにしよう」という方針を定め、準備を進めました。
開発環境の構築手順書の準備
できる限り新卒社員自身で実施できるように、キャプチャを入れるなどして手厚く補足を加えた手順書を用意しました。
手順書の検証
総合職として入社した新卒2年目の社員に協力を仰ぎ、用意した手順書で開発環境の準備を独力で進められるか検証を実施しました。検証の結果、「新卒社員が独力で手順書だけに従って開発環境の準備をするのは、時間的に厳しそうだ」との意見が出ました。同時に「現状以上に手順書の文章を増やしても、ゴールが見えづらくなって余計に混乱する」という意見も出ました。新卒社員間の技術レベルの差異もあるため、一律の手順書で解決するよりも、サポート役をあてて柔軟に対応するほうが良いと考えました。
研修時のサポート体制
質問受付や状況確認のために、新卒社員を3名ずつのチームに分け、それぞれのチームにサポート役を1名つけて研修を進めるようにしました。 あわせて、チームごとのグループチャットを作成し、連絡事項などはそこで共有する形としました。
また、質問の受付や対応については、まずはグループチャットで新卒同士で教えあう形で進めてもらい、それでも解決できない場合はZoomやMeetで画面をサポート役と繋いで個別に対応する方針としました。
いよいよ開始
いよいよ技術部門のローテーション研修開始です。色々と準備はしたつもりですが、大丈夫なのでしょうか……。
初日:何ということでしょう……
初日は研修のキックオフから始まり、研修目的などの説明をした後で各チームに分かれて開発をするための環境構築を 進める流れです。
環境構築のリハーサルを行っていたこともあり、大丈夫だろうと開始時は考えていたのですが、 リハーサルに協力してくれた社員と新卒社員では1年分の経験の差があります。 そのためか、想定していたよりも難航することとなりました。
まず、用語がわからない
アプリケーション開発が初めてという新卒社員が大半で、そもそも日常生活では聞いたこともなければ使ったこともないツールや単語が次々と出てきます。噛み砕いたつもりではいたのですが、今何をしているのかをイメージできない受講者が大半でした。最終的にはサポート役の画面を共有しつつ、一緒になって操作を進めて解決しました。
各自のネットワーク環境の差
全員自宅からリモートで研修を受けているので、中には自宅のネットワーク環境が弱い新卒社員もおり、OSイメージのダウンロードや画面共有によるコミュニケーションがなかなかスムーズにいかず、研修が思ったように進まないことがありました。
このように新卒社員たちは「“?”ばかりの作業」に、サポート役は「技術に深入りせずにどう説明すればわかってもらえるか」にそれぞれ苦戦し、さらにネットワークの問題も障壁となり、想定より時間はかかりましたが、初日のうちに全員が開発に着手できる状態になりました。
2~4日目:開発に着手!
2日目以降は開発に着手していきます。2日目、3日目は初日と同様にサポート役が質疑などに対応する時間が多く、ほとんどペアプロ状態でした。課題資料の中に最低限のCRUD機能を実装するための参考サイトなどについても記述していたため、ある程度は各自で進めてもらえることを想定していたのですが、甘かったようです……。不安を抱えつつ4日目を迎えましたが、3日目までと変わってサポート役が入って対応する時間が減ったため、一安心しました。理由としては以下が挙げられます。
Javaの実装を切り抜けたことで事態が好転
3日目のうちにJavaでの実装を終えてHTMLなどの実装に取り掛かった新卒社員が多くおり、「変更点などが目に見えやすい部分」ということで自分が何をしているのかなどがわかりやすくなったため「訳もわからず四苦八苦している」という状況から脱し、楽しみつつ進めてもらえました。
3日間を経て、少し慣れた
当初は何もかも初めてだらけで戸惑いが大きかったようですが、2日目、3日目と進めていくうちにどことなく開発に慣れてきたことも好転した要因かもしれません。
自分で調べてみる、同期内での助け合い
少し慣れたこともあってか、「自分で調べてみる」「同期の中で教えあう」ということが自然に行えるようになっていました。
最終日:やり切った!
最終日の5日目は、午前中まで開発を進めて午後から成果発表会です。4日目終了の時点で全員ほぼ完成していたので、午前中は最終調整に充ててもらいました。各々の個性やコンセプトが色濃く出たアプリケーションばかりで、発表会を見た先輩社員からも称賛の声が上がりました。
苦労したからこその達成感
前半はかなり苦労している様子でしたが、後半に入ると達成感を持ちつつ実装を進められたようで、最終的には新卒社員から「楽しかった」という感想をもらえました。
より良い研修を目指して
「終わりよければすべてよし」と言いたいところですが、やはりつまずいたところや課題点もあったので、次回の研修時には、以下のようなことを意識すればより良い研修にできると思います。
用語集を用意する
最初のつまずきが用語の壁だったので、例えばツールの場合は「これはどういったツールで、何のために使うのか」を説明する用語集を用意するなどして、まずはその壁を可能な限り取り除きたいです。
やっていること、やろうとしていることを説明する
前半は特に「やっていること、やろうとしていることをイメージできない」というところが双方にとって辛いところだったと思うので、そこを少しでも解消できれば、と感じました。口頭説明が難しければ何か図を用意して説明しようと思います。
まとめ
今回研修を担当して、知識ゼロの新卒社員に上手く伝えられなかったり、そもそも自分も深く理解できていなかったりと「自分がいかに慣れに頼って仕事をしているか」ということを思い知りました。
慣れや身についた先入観などはどう頑張っても介入してくるものですが、「そこを超えてどう歩み寄れるか」がとても大事であることを実感したとともに、とても難しいことであると学べた5日間だったと感じました。
新卒社員からすると至らない点の多い先輩だったのでは……という気がしていますが、頑張ってついてきてくれたので非常にありがたかったなぁ、と思います。
最終的には「楽しかった」とも感じてもらえたので、業務の全てではないですが、「技術部門ではどのような業務をしているのか」を知ってもらえただけでなく、開発業務のやりがいや魅力についても伝えられたのではないかと思います。