新卒エンジニア研修2017の準備

みんなのウェディング、松久(@kamonegi1977)です。
2017年6月〜7月に行った新卒エンジニア向け研修についてです。「2ヶ月の新卒エンジニア研修を受けて変わったこと」では、研修を受けた視点での紹介しました。今回は、指導側はどんな風に研修を作っていたのか紹介します。

みんなのウェディングの新卒研修について

新卒社員全員が、一緒になって4月〜5月は研修を受けます。この期間は、職能に関係なく、ビジネスマナーや様々な部署での研修を受けます。研修は下記のことを行なっています(そのときによって違いがあります)。

  • ビジネスマナー
  • 営業同行
  • デザイン
  • 技術

新卒エンジニア研修について

6月〜7月は、エンジニア向けの研修になります。
新卒向けエンジニア研修のゴールは「Railsを利用してウェブアプリケーションを正しく作れる」です。ゴールを達成するために、3部構成の研修を行いました。

第一部: Rails について学ぶ。SQLを使う

Rails について学ぶこと。SQL を知って使えるようになってもらうこと。 この2つができるように、下記のことを行いました。

  • Rails チュートリアルの写経
    • プルリクエストを作りレビューを受ける
  • 課題図書で SQL について学ぶ
    • 改訂第3版 すらすらと手が動くようになる SQL書き方ドリル

上記に加えて、課題図書として「いちばんよくわかるHTML5&CSS3デザインきちんと入門」を読んでもらうことにしました。

第二部:座学と実習

実際のウェブサービス開発で必要となることを、座学や実習を行いました。講義をするのは、社内エンジニア数名が担当しました。
ウェブサービス開発全般で必要となる知識を優先し、実際の業務で利用している技術や起こり得ることを織り交ぜながら、1週間程度行いました。

  • ウェブセキュリティー
  • RSpecによる自動テスト
  • haml/Sass
  • テーブル設計
  • AmazonWebServiceの利用
  • オブジェクト指向設計

用意した資料

私は、テーブル設計について担当しました。約 80 ページ程度の資料を用意して、丸一日の座学と実習をしました。
座学では、どうしてテーブル設計が大切なのか?第3正規形までの設計に関する話や、弊社のテーブル設計状況について説明しました。

座学の後に演習を行いました。
「歌舞伎の口コミを投稿できるサービス」を例題として、サービスの変化とテーブルに行われる変更について体験してもらました。設計したテーブルについてレビューをすることも体験してもらいました。

第三部:アプリケーションを作る

第二部までで学んだことを踏まえて、第三部では実際にアプリケーションを作ってみました。研修の最後に作ったアプリケーションについてプレゼンしてもらいました。
チュートリアルを haml/Rspec で書き直してもらうことで、実際の業務に向かう準備をしてもらいました。

  • Rails チュートリアルを haml/RSpec で書き直す
    • 第一部からやっている人もいた
  • アプリケーションを作ってみる

開発プロセスを学ぶ

研修中、計画とふりかえりを定期的に行いました。実際の開発でも、計画とふりかえりをしているのに倣っています。
ポストイットの剥がし方(アジャイル練度と呼ばれていた)から、KPT によるふりかえりを行いました。ふりかえりや、スプリントレビューについては、「アジャイル開発を導入して1年以上経ちました」に詳しく書きました。

新卒エンジニア研修の後に OJT を行う

研修が終わり、新卒エンジニアは現場での開発に入りました。
新卒エンジニアを 2つのチームに分けて OJT を行いました。サポートする社員が新卒エンジニアの近くに座り、声をかけやすい状態で行うことを心がけました。また、GitHub でのテーブル設計レビュー、コードレビューも行なっています。

OJT のあとのふりかえり

OJT(On-the-Job Training)は、8月から10月上旬ぐらいまで行いました。
OJT でどんなことができたか?できなかったか?もっとよくするためにどのような取り組みをするか?ふりかえりをしました。
新卒エンジニアはもちろんですが、指導側も足りない点があったと思うので、OJT で困ったことを言ってもらうようにしました。

新卒エンジニア研修の準備

ご紹介した新卒エンジニア研修の内容を決める前に、何人かのエンジニアで「教える技術」の読書会をしました。教える内容も大切ですが、どうやって教えたらいいのか?を知ることによって、より効率的に教えることができるのでは?と考えたからです。

その後に、何をどうやって教えるのか決めていきました。準備のなかで、自分たちがやっている開発の流れを書きだして話したりしました。それぞれがやっていることを話してみると、知らないこともあって、新卒研修の準備が教える側の学ぶ機会となりました。

課題図書

研修のために、課題図書を@1syoが中心となって選びました。課題図書は新卒研修の教科書の役割を果たしました。自分が読んだことない本もあったので、読んだ本について社内の esa に書いて書籍情報の共有を促進するきっかけになりました。

分野 書籍
アーキテクト Webを支える技術
アーキテクト イラスト図解式 この一冊で全部わかるWeb技術の基本
オブジェクト指向設計 オブジェクト指向のこころ
SQL 改訂第3版 すらすらと手が動くようになる SQL書き方ドリル
SQL 達人に学ぶSQL徹底指南書
SQL 10年戦えるデータ分析入門
DB設計 楽々ERDレッスン
DB設計 達人に学ぶDB設計徹底指南書
テスト Everyday Rails - RSpecによるRailsテスト入門
セキュリティ 体系的に学ぶ安全なウェブアプリケーションの作り方
HTML いちばんよくわかるHTML5&CSS3デザインきちんと入門
CSS はじめてのCSS設計 フロントエンドエンジニアが教えるメンテナブルなCSS設計手法

研修で注意したこと

いくつか注意したことがあります。

1つは、行動に注目しました。
例えば、コードレビューで前回指摘したところが出来ているようになっていたら褒めたりしました。また、esa に書かれる日報には星をつけたり、返信を書くようにしたりしました。出来なかったことができたら、もっと良くなるにはどうしたらいいか?を提案するようにしてみました。

2つめは、師弟関係にならないようにしました。
「先生」とか「師匠」と呼ばせないことを心がけました。「教える側と教わる側」の関係になってしまい、自分で考えることを忘れてしまうのでは?と考えたからです。

3つめは、押し付けすぎないようにしました。
コードレビューでは、コードが書かれた理由を考えながら「こうしたらどうだろう?」を言うようにしました。たまに「これはダメ」だと伝えると「◯◯さんに言われたから」で終わってしまうことがあります。「私はこう考えたけれど、あなたはどう考えますか?」と聞くことで、考えてコードを書くことを促したかったからです。

まとめ

「正しいものを正しく作る」という話があります。「正しいもの」を探すために、リーンスタートアップ、ユーザーストリーマッピング、デザインプスリントなど仮説検証するアプローチがあります。しかし「(仮説検証でわかった)正しいもの」を見つけても「正しく作る」ができなければ成立しません。両方揃ってプロダクト開発は進んでいくことになります。

エンジニア研修をしてみて、プロダクトを「正しく作る」について改めて学ぶことができました。


みんなのウェディングでは、一緒に働く仲間を募集しています。
「Railsを利用してウェブアプリケーションを正しく作れる」ことに向かい合いたいエンジニアや、仮説検証をしながらプロダクトを作りたいエンジニアに興味のある方は、Wantedlyからご連絡ください。または @kamonegi1977 に直接連絡いただいても大丈夫です。