2021年エンジニア新卒の技術研修について(研修資料付き)

こんにちは。2021年新卒育成室(エンジニア)の室長をしております佐藤です。
この記事は『Applibot Advent Calendar 2021』24日目の記事です。

アプリボットでは新卒へのサポートの一環として、さまざまな研修を独自に行っています。本記事では、2021年度入社のエンジニア新卒に対して実施した研修の一つである技術研修について紹介していこうと思います。

アプリボットの室長制度についてはこちらの記事をご覧ください。
参考:「室長制度」~各分野のプロが集結し、会社における課題を解決!~


目次

  1. 技術研修とは
  2. なぜ技術研修を実施したのか
  3. 実施内容
  4. おわりに

1. 技術研修とは

技術研修とは、アプリボットのエンジニア新卒に対して行っている研修です。
2020年から開始し、2021年の今年が第2回の実施となりました。

講義&ハンズオン形式で、現場社員からゲーム開発に必要な技術について学んでもらいます。
全6回の実施(厳密には前後編に分けたものもあるのでもう少し回数ありましたが)で、今年の内容は以下のようになっております。

第1回 UNIXコマンド
第2回 通信周り
第3回 データ構造とアルゴリズム
第4回 ゲーム開発全般
第5回 テスト / アーキテクチャ
第6回 データベース


2. なぜ技術研修を実施したのか

2021年度の新卒育成では、テーマと1年後に達成していてもらいたいビジョンをいくつかかかげております。そのビジョンの一つが『計算機科学を理解している』状態を目指すというものです。

技術研修の実施目的は以下に設定しています。

  • 1年後の新卒ビジョンの『計算機科学を理解している』を達成すること
  • ゲームのエンジニアとして知っていて欲しい知識が学べること

また、『計算機科学を理解している』状態を細分化して、以下のように定義をしました。
それぞれの項目について満たせるよう、実施内容を設計しました。

項目概要
ネットワーク・IPアドレスやDNS, また代表的な通信プロトコルについて知見があり、サーバー・クライアント間の通信の流れを理解していること。
・通信の瞬断や帯域制限などの、モバイルネットワーク特有の問題について対策ができること。
データベース・排他制御、トランザクション、デッドロックなどの基本的なDBの知識を有してること。
・長期に渡るデータ構造の拡張性担保や継続的なデータ量の増大への対処といった、ゲームサービスに特化したデータ構造設計ができること。
セキュリティ・基本的なwebアプリケーションの脆弱性について知っていること。
・ゲームサービスに対する典型的な攻撃手法についての知識を有し、対策手法の提案やチートに対して堅牢な設計・実装が行えること。
マルチメディア・ゲーム開発で扱うメディア(アセット)の管理や配信について、可用性の高い手法が提案できること。また、そのシステムの構築が行えること。
・各種アセットのデータフォーマットについて理解し、状況に応じて適切にクオリティとパフォーマンスの取捨選択ができること。
ハードウェア・モバイル端末のハードウェア特性を理解し、考慮したシステム設計・実装ができること。
┗ タッチパネルディスプレイに特化したUIシステム・各種センサーを用いた機能実装など
ソフトウェア・OSの役割や機能、種類についての一般的な知見を有すること。
・一般的なモバイル向けOSの特性を考慮したシステム設計・実装ができること
┗ マルチタスク実行を前提としたアプリケーションの振る舞い・アプリを提供する上での一般的なレギュレーションなど
システム構成
要素
・モバイルゲームサービスにおける、一般的なシステム構成を理解していること。
・仮想化・コンテナについての一般的な知識を有していること。
コンピュータ
構成要素
・コンピュータの基本的な構成要素とその役割について、一般的な知識を有していること。
・ゲームサービスの利用において、上記構成要素がそれぞれどのように活用されているか理解していること。
┗ クライアントアプリケーションにおけるCPU,メモリ,ストレージ,GPU,VRAMなどの役割や挙動
┗ 各種サーバアプリケーションにおける計算機リソースの効率的な利用
基礎理論・コンピュータサイエンスに必要な基礎知識があること。
┗ 2 進数の特徴や演算,基数に関する基本的な考え方
┗ ベン図などの集合,確率や統計,数値計算,数値解析に関する基本的な考え方
┗ ビット,バイトなど,情報量の表し方や,情報理論に関する基本的な考え方
アルゴリズムと
プログラミング
・データ構造およびアルゴリズムの特性について広く理解していること。また、それらを状況に応じて取捨選択し、適切な設計や実装として活用できること。
・言語仕様について深く理解し、効率的で可用性の高い実装ができること。

3. 実施内容

技術研修では基礎的な部分は触りに留め、主に実践的な部分を研修していきました。基礎的な部分だけで終わってしまうのであれば、それは大学の授業で十分というのもありましたし、基礎的な部分だけだとどうにも身に付きづらいためです。

各回ごとに現場社員の方に研修講師の依頼をし、より具体的に実務に活かせることがイメージ出来るような内容で研修を一緒に設計していただきました。

ここでは、実際の研修で扱った資料をそれぞれ紹介させていただきます。

第1回 UNIXコマンド

第2回 通信周り

第3回 データ構造とアルゴリズム

第4回 ゲーム開発全般

第5回 テスト / アーキテクチャ

第6回 データベース

ゲームにおけるテーブル設計


4. おわりに

今回はアプリボットで2021年度に実施したエンジニアの技術研修についてご紹介しました。

研修は1回行ったら終わりではなく、今年研修を受けた人が来年研修をする側に回ってもらい、毎年内容をアップグレードして運用していくものとして扱っています。アプリボットでは、来年度、再来年度とより新卒をサポートできるように社員一丸となって新卒育成に関わっています。

もし、弊社に興味を持ってくださった方がいらっしゃいましたら、採用ページも覗いていただけると幸いです。

最後までお読みいただきありがとうございました。


関連記事一覧

てっくぼっと!をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む