弊社の新人エンジニア研修カリキュラムを惜しみなく公開してみる - Feedforce Developer Blog

Feedforce Developer Blog

フィードフォース開発者ブログ

弊社の新人エンジニア研修カリキュラムを惜しみなく公開してみる

こんにちは!今年の4月にポテンシャル枠で入社した id:daido1976 です!引き続き Rails に弄ばれる日々を過ごしています。

さて、今回は約4ヶ月間の新人エンジニア研修を受け終えた私が弊社の研修カリキュラムを公開し、まとめや実際に受けてみての感想を書いていきたいと思います。

前提として

フィードフォースでは今年4月〜5月のほぼ同時期に e-Navigator というプログラムを通じて、私を含む3名の実務未経験エンジニアが入社しています。

今回の研修は、e-Navigator でもレビュアーだった @sukechannnn がメンターとして上記3名の新人エンジニアをフォローする体制で進めました!

研修の成果を3行で

  • 入社時に「プログラミング歴3ヶ月の超初心者エンジニア」だった私が
  • フィードフォースで約4ヶ月間の新人エンジニア研修を受けて
  • 配属後にある程度自走してコードが書けるぐらいのスキルを身につけることが出来ました!

ざっくりスケジュール

4月

5月〜6月

7月

  • ローテーション配属研修(2チーム)
  • シンプルな Todo アプリの API 開発
  • 社内フロントエンド研修
  • 社内インフラ研修

各研修についてのまとめや感想

『プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで』の例題を解く & 読む

所要期間: 約1ヶ月

  • 表紙の 「Rails をやる前に、 Ruby を知ろう」 の通り、Rails での開発を意識しながらピュアな Ruby の基礎を学び直せる良書。
  • クラスやモジュールはふんわり知ってる程度でしたが、この本を読んで初めて自分で定義しました。
  • 各章の例題を GitHub の PR ベースでレビューしてもらったり、本書内の Minitest を RSpec に変えてテスト書いたり、 RuboCop 導入したり、とメンターである @sukechannnn のファインプレーが光りました。

『わかばちゃんと学ぶ Git使い方入門』 を読む

所要期間: 約3日

  • 入門書の名の通り、Git の概要を掴むにはよかったです。
  • ただ、研修としてはもう少し SourceTree に特化していない内容も知れるといいなと思いました。

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

Vim 研修(vimtutor を2周する)

所要期間: 約2日

  • vimtutor がナイス教材過ぎました…(しかも無料 & インストール不要)
  • Vim への恐怖心がなくなったのはだいぶ大きかったです。(vimtutor やるまでは Vim 怖かった…)

『パーフェクトRuby on Rails』の1章〜5章を読む & 6章〜7章のアプリ作成

所要期間: 約1.5ヶ月

  • 所要期間的に今回の新人エンジニア研修のメインだったように思います、 rails new のところからがっつりレビューしてもらい、ログイン、CRUD、多対多の関連、E2E のテストまで、一通りの Rails アプリケーション開発を学べました。
  • プロダクトのコードはほぼ写経だったこともあり、RSpec でいい感じのテストを書くことに一番頭を使いました。このタイミングで当たり前にテストを書く習慣が身についたのはとても良かったです。

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails

『メタプログラミングRuby 第2版』 を読む

所要期間: 約2週間

  • メタプログラミングについて学ぶというよりも、基礎を学び終えた初学者がより深く Ruby 内部の構造について学ぶ書という意味合いが強かったような気がします。
  • オブジェクトモデル、メソッド、ブロック、スコープ、クラス & モジュール定義について学び、この頃から irbpry 上で出てくる Ruby 組み込みのエラーメッセージが怖くなくなりました。
  • あと読書感想会は本当にやってよかったです。

メタプログラミングRuby 第2版

メタプログラミングRuby 第2版

『Webを支える技術』 を読む

所要期間: 約1週間

  • 実は入社前に一度読んだことがあったのですが、『パーフェクトRuby on Rails』のアプリ作成と並行して進めることで、より理解が深まりました。
  • 2部の URI と 3部の HTTP がものすごく勉強になりました。特に HTTP のところは RSpec や cURL で値をいじって、返ってくる値も覗きながら読むと、ものすごく捗りました。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

社内スクラム研修

所要期間: 約0.5日

  • 社内随一のアジャイルお兄さん id:pokotyamu によるスクラム研修。
  • 座学パート1時間弱、レゴスクラムによる実践パート2時間強の研修で、スクラムの「守」の部分をがっつり学ぶことができました!
  • 一緒に研修を受けた人事インターンの方が感想記事を書いてくれています。

media.feedforce.jp

ローテーション配属研修(2チーム)

所要期間: 各1週間ずつ

  • 各チームに1週間ずつ、お試し配属のような形で実際のプロダクトのコードを触りながら、軽めの改修や新機能の一部を実装しました!
  • 当時の雰囲気は以下の記事をご参照ください。

developer.feedforce.jp

シンプルな Todo アプリの API 開発

所要期間: 約1週間

  • @sukechannnn が鬼のようなスピードで Swagger で書いてくれた仕様書をもとにゼロから Rails の API サーバを作りました。
  • 後述するフロントエンド研修、インフラ研修と併せて、API の実装〜React で SPA 作成〜AWS でデプロイまで一貫して経験することで、イマドキの Web アプリケーション開発の全体像を掴むことが出来ました。
  • 超シンプルなアプリケーションでしたが、『パーフェクトRuby on Rails』がほぼ写経だったこともあり、自分の頭を使って開発を進められて楽しかったです。

社内フロントエンド研修

所要期間: 約0.5日

  • id:hano_tea に基礎編、id:otofu-square に実践編を担当していただきました!
  • 基礎編では SPA 作成に必要最低限の ES6、JSX の書き方を教えていただき、実践編では自作した Todo アプリ API を使った SPA を React で実装しました。
  • React を触るのは初めてで JS もほとんど書いたことがなかったので、途中ちょっと取り残されそうになりましたが、なんとか食らいついて完成まで持っていくことができました!

社内インフラ研修

所要期間: 約0.5日

  • 『Amazon Web Services 基礎からのネットワーク&サーバー構築』 を教本に自分で開発した Todo アプリ API を手動デプロイしてみようという研修です。
  • 事前の知識として EC2 と S3 ぐらいは聞いたことあったものの、VPC?Internet Gateway?Route Table?みたいな状態でした…が、諸先輩方に一つ一つ丁寧に教えていただきデプロイまで持っていくことができました。
  • 翌日 React で実装した SPA も Heroku にデプロイし、Web の世界に自作アプリが羽ばたいた時にはとても感動しました…!

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版

そして研修は続く…

上記の研修に加えて、チーム配属後の研修図書として以下の本をプレゼントしていただきました!

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

  • 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/06/23
  • メディア: 単行本(ソフトカバー)
  • 購入: 68人 クリック: 1,802回
  • この商品を含むブログ (140件) を見る

SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)

SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)

ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道

ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道

ちなみに私は『リーダブルコード』『オブジェクト指向設計実践ガイド』『SQL ゼロからはじめるデータベース操作』を読み終えて、今は『ふつうのLinuxプログラミング』を読んでいるところです。

『オブジェクト指向設計実践ガイド』についてはとても良い本だったので、また社内で読書会を開催しようと思っています!

最後に

今回は弊社の新人エンジニア研修カリキュラムをご紹介しました!

来年以降の新人エンジニア研修には自分自身が積極的に関わっていきたいという考えもあり、カリキュラムをよりブラッシュアップさせていくためにも記事としてまとめ、研修の振り返りを行いました。

この記事をきっかけに、もっとこうした方がいい、うちの会社ではこんなことやっている、みたいな情報が集まるといいなと思っています。

それでは、またお会いしましょう ^^