「知らない」から「わかる」までの道のりを学ぶ。2021年新卒研修リポート【サーバーサイドエンジニア編】
-
2021年新卒入社
サーバーサイド
エンジニアS.S
はじめまして。
サーバーサイドエンジニアのS.Sです。
今年の4月に新卒として入社し、それから半年ほど経った現在は、ある運用タイトルに配属され、イベント実施に必要な機能の追加実装を担当しています。
配属直後のため、まずはプロジェクトの全容把握に努めているところです。
さて、本稿では、私が受講した配属前研修を振り返りながら、そこで得られた学びや反省についてお話しします。
研修スケジュール
まずは大まかな研修の流れを振り返ります。
研修はおよそ2ヶ月半ほど実施していただきましたが、大きく2つのパートに分けられます。
集合研修
前半1ヶ月は、座学を中心とした集合研修を実施していただきました。特に印象に残っているのは「企画力実践(DAY1〜3)」と題した研修です。
これは主にプランナー的な観点に触れるための研修であり、既存のエンターテインメントや好きなものを掘り下げ、コンセプトやターゲットを推測するものでした。
職種別研修
集合研修の後、サーバーサイドエンジニアだけを対象にした研修が始まりました。
サーバーサイドエンジニア向けの座学は以下の通りです。
● コロプラ流開発マインド
● 先輩講話
● サービス全体のレイヤー説明
● webアプリケーションの構成とMVC
● オブジェクト指向におけるデザインパターン
● DBについて(MySQL・Spanner)
また、後半の1ヶ月半は、個人でシステムを企画/開発する「システム開発研修」と、Unityの基礎を学ぶ「Unity研修」を受けました。
この1ヶ月半の研修期間のうち、大部分を占めたのはシステム開発研修です。
「システム開発研修」で与えられた制限は、
- 「リモートワークの生産性を高めるような」or「在宅児童に向けた知育タイプの」システムであること
- PHPのLaravelフレームワークを用いて開発すること
の2つのみ。
この制限に沿っていれば作るシステムは自由だったため、まずは企画を固めるところから始まりました。
課題やターゲットを詳細に分析して企画を立てるのは初めてだったので非常に苦労しましたが、先輩社員の方にインタビューをしたり、レビュアーの方と企画案をブラッシュアップしたりしながら、作成するシステムを決定しました。
企画決定後は、自分で決めた要件/仕様に沿って実装を進めました。
研修終了時に成果物発表の場が設けられていたため、作りたい機能とスケジュールとのバランスを取りながらシステムを完成させました。
本稿では、そういった研修を通して学んだことについてレポートします。
学び
そんな濃密で有意義な2ヶ月半を通して得た最も大きな収穫は、「学び方」について身をもって知ることができたことだと思っています。
少し時系列は前後しますが、私は配属当日(つまり研修の全日程が終わったあと)、このような図を以て人事の方にお話しいただきました。
私が研修を通して学んだのは、まさにこのフローに沿った「学び方」であり、配属後も焦ることなく着々と「わかる」ことを増やしていける行動のヒントであったことを、研修終了後に認識しました。
このような学びが得られた背景には、2ヶ月半に及ぶ研修の順番が大きく影響していると感じています。
企画/ゲーム業界の開発について「知らない」状態
まず私の場合は、多くのことを「知らない」状態から始まりました。
ゲーム開発をした経験もなければ、空想の範囲を越えた「企画」をしたこともない。唯一webアプリケーションの開発経験のみを引っ提げて臨むエンタメ業界の研修への心持ちは、正直不安が大半を占めていました。
座学を通して「知った」状態
先述の通り、研修の前半1ヶ月は座学中心のものでした。
非常にわかりやすくご講義いただけたので、抱えていた「理解できるか」という不安とは裏腹に、よく理解することができました。
特にゲーム開発に関わる部分は先輩社員の方が教えてくださったのですが、専門的な用語の使用は控えつつも、働く上で必要な知識についてはわかりやすく解説いただいたため、すんなりと飲み込むことができたのだと思います。
先述の「企画力実践(DAY1〜3)」という研修では、既存のエンターテインメントのコンセプトやターゲットを推測する課題に取り組み、 ゲームを企画する上で必要な考え方を知りました。
どのようなエンターテインメントにも「誰をどんな感情にしたいのか」といった根底にあるコンセプトがあり、それを実現するための手段を作るという大きな流れを学び、また、講師の方のお話から、これらを明確に決めておくことは、チームで同じ目的を持って開発する上で非常に重要であるということも知りました。
開発研修で「やってみ」て「わかった」状態
後半のシステム開発研修では、自分で考えながら手を動かす時間が大半を占めました。
その作業の中で、座学で知ったことがらを意識的に使う機会が多くありました。
例えば、作るシステムを考えるフェーズでは、「誰をどんな感情にしたいのか」「そのためにどのような体験を与えるのが最適か」などの考え方を学んだ「企画力実践(DAY1〜3)」研修の知識が役に立ちました。
その他にも、"コロプラの"エンジニアとして働く上で必要な考え方を学んだ「コロプラ流開発マインド」の座学研修が真に意味するところを意識しながら、習った技術をコードに落とし込む必要がありました。
いずれも座学中に取っていたメモを参照しながら、あるいは同職の同期とその内容についてすり合わせを行いながら、手探りで実践に落とし込んでいきました。
振り返ると、この研修中に意識的に使用した考え方や技術は、今でも使用することが多々あります。
反対に、もし今メモを見て「ああそんなんやったな」と思い出すことがあれば、その項目はまだ「知っている」だけということになるでしょう。
これが「知る」と「わかる」の違いなんだろうと思います。
知らないことに過度に恐怖しないように。
単に知ったのみで「完全に理解した」などと思わないように。
学びたいことがあればこの大きな流れから逸れないように。欲張って無理に近道を探さないように。
これらの規矩の重要性は、配属された今まさに理解が進んでいる最中です。
配属後はもちろん、人生全てに応用の効く「学び方」の大枠を学べたため、本研修は総じて意義深いものだったと感じます。
人との関わり
新型コロナウイルスの影響を受け、全日程オンラインでの研修でしたが、多くの人と関わりを持つ機会を設けていただきました。
何度も個人開発で頓挫してきた私がシステム開発研修を走り抜けることができたのは、そんな多くの方の支えがあったからに他なりません。
同期
開発期間中、誰よりも関わっていたのが、唯一の同職同期であるA君です。
システム開発研修が始まった直後、A君の提案により、1日の終わりに2人で話す時間を30分間設けました。
その実、その日の進捗状況や技術相談をラフに話すのみだったのですが、これが大変大きな支えとなりました。アイデアを出し合ったり、自分が実装に落とし込めていない技術を教えてもらったり、スケジュール感の確認をしたり。
とはいえ一番大きかったのは、在宅で感じやすい孤独感の低減という精神的な部分だったように思います。
メンター
こちらの記事でも記載されているとおり、コロプラには研修期間中にメンター制度という制度があります。
2ヶ月半の研修期間中、新卒サーバーエンジニア2名に対して、5名の先輩社員にメンターとしてついていただきました。1日1回、メンター1名と話す夕会の時間を設けていただいたのですが、こちらはより業務レベルでの質問や漠然とした質問をさせていただく場として非常に助かりました。
どんな質問でも、粒度が荒くても一緒に考えて答えてくださるので、大変頼もしかったです。
様々なバックボーンをもち、異なるプロジェクトで働く先輩とラフに話せる機会があったことは、今思えば非常に贅沢な時間だったと思います。
レビュアー
システム開発研修中、企画のレビューからコードレビューまで、一貫して一人の先輩がついてくださいました。企画段階では何度も一緒になって練り直していただいたり、開発段階では実業務を見据えたコードレビューをしてくださったりと、システムを完成させる上では欠かせない存在だったと感じます。
以上の皆様には、この場を借りて改めて感謝します。
最後に
研修期間、特に個人開発期間は技術的にも精神的にも大変な部分はありましたが、ありがたいことに多くの方の支えもあり、大変実りのある研修でした。
配属されて数ヶ月経った現在は、尊敬する先輩がたくさんいて、新しいことだらけの非常に刺激的な環境で日々学んでいます。
足りない部分はまだ多くありますが、より良いものを作れるよう、研修で学んだことを忘れずに成長していきたいと思います。