読者です 読者をやめる 読者になる 読者になる

CA MOBILE エンジニアブログ

株式会社シーエー・モバイルのエンジニアブログです

シーエー・モバイル新卒エンジニア技術研修2016

研修

こんにちはメディアディヴィジョンの ono です。
シーエー・モバイルには、この4月に6名の新卒エンジニアが入社しました。
今回は、新人エンジニア向けの研修内容についてご紹介いたします。

研修のねらい

今回の研修の目的は「最高のスタートダッシュ」でした。
これまで当社の研修は LAMP 環境構築やシステム概論の講義形式で研修を行っていたのですが、
実際に研修のあとに業務で最高に走り出すためには、
「実務のフローの理解」 「自主的な問題解決」 「シーエー・モバイルの環境理解」
以上 3 点が不可欠と考え、 今回から研修スタイルを刷新しました。

研修テーマ

研修を実務に特化させるべく、新たな試みとして、
「実在の弊社サービスのバグ修正をテーマにした業務チケット消化バトル」
を行うことにしました(研修のために別の環境を用意しました)。

新人に実際に話しただいぶエモい研修説明

時は2016年 シーエー・モバイルに入社してきた6人の若者がやってきた。

若者達は突如試練にぶち当たる。

サービスの前任者が大量のバグを残したまま全員事故に遭ってしまった。

対応できるエンジニアは新人だけ・・・。

2チームに別れ、チーム内で協力しながら、

次の金曜日までにとあるサービスのバグチケットを解消し、リリースしなければならない。

先輩社員の協力を得つつも幾つもの困難を乗り越える

若者達は・・・、

果たして無事サービスをリリースすることができるのか・・・。

研修の事前準備

  • 研修用に用意した環境内で、実在の当社のサービスのコードに、あえてバグを仕込んだリポジトリを準備
  • git log を消すため .git 消して git init してそのあと各チームごとのリポジトリに登録
  • 開発サーバに実際、よく稀にあるようなバグ状態のプロジェクト設置
    • typo があってリンクが切れてる」
    • 「リクエストパラメータつければ他人の情報がみれる」
    • Apache エラーで立ち上がらない」 などなど
      調べる力、探す力、協力を仰ぐ力が試されるようなチケット25個
  • redmine でバグのチケットを起票

新人の実際にやった業務フロー

事前準備

  • ローカル環境セットアップ(Ansible)
  • リポジトリを fork

その上で
1. Redmine 起票されたチケットをアサイン
2. ローカル環境でブランチ作成
3. バグ修正を行う
4. プルリクエストを出す(GitHub Enterprise)
5. 先輩からレビュー(洗礼)を受ける
6. マージされたら開発環境で pull して確認

上記の当社の実際の開発フローを全員に体験してもらいました。

f:id:cam-engineer:20160603142348j:plain プルリクエスト説明中

研修中の様子

スムーズにいけたチームもあれば、環境を破壊してしまったチームもあり、
開発以外でもつまづいたりしていました。
毎日1時間、レビューおよび質疑回答時間として先輩エンジニアがフォローし、
また、Slack でも質問、回答を行い問題解決にあたりました。

悪戦苦闘する新人と先輩社員の図
f:id:cam-engineer:20160603142009j:plain

f:id:cam-engineer:20160603143137j:plain

研修振り返り&まとめ

内容を刷新しての初めての試みでしたが、運営の不備などはありつつも
研修を通して新人はプルリクでレビューを受ける文化に慣れ、
今現在実務に関わり、最高とは言わないまでも 「とびきりのスタートダッシュ」 を決めてくれています。

一方、研修後の振り返りで運営面での課題も多く見つかったので、来年の研修ではより良くなるよう調整をかけていきたいと思います。

この研修を通して、自分の修正内容がマージされることの難しさを感じてくれたと思っています。 配属後、新人が実際のプロジェクトで、初めてのプルリクマージができたら非常に喜んでいて、記念日として祝っているなど、 シーエー・モバイルに一つ面白い文化ができたと感じています。