こんにちは、今年入社した新卒エンジニア5人の内の一人の雪田です。社内では「おとうふ」と呼ばれています。入社して早三ヶ月が過ぎますが、社内で私の本名を知る人が何人いるんだろうと不安に思う日々を過ごしています…。

今年、フィードフォースには10名(総合職5名、エンジニア5名)の新卒社員が入社しました。私たち新卒エンジニア5名は約2ヶ月間の新卒研修を無事に終え、今は各サービスのチームに配属され、チームの1メンバーとしてバリバリ活躍しています!

そんな中、我々の師であり弊社の新卒エンジニア受け入れ担当でもある @a_know 師が、今年の新人研修を運営する側の視点で振り返って当ブログの 2016年度の新卒エンジニア受け入れを終えて という記事にまとめて下さいました。

そこで今回は、新人研修を受けた弟子(新卒エンジニア)の視点から、研修内容や学んだこと・思ったことなどを簡単にまとめたいと思います。フィードフォースの新人研修ってどんな感じなんだろう と気になる方は是非読んでいただきたいですし、新人研修の担当になったけどどうしようか予定が立っていない という方にも何か参考になれば幸いです!

はじめに

ボリュームのある記事となってしまったため、まずはじめにこの記事の構成についてご説明します。

この記事は大きく分けて以下のような3つのセクションに分かれています。

「フィードフォースのこれまでの研修と今年の研修」では、フィードフォースが これまでどんな研修に取り組み今年の研修では何をしたか をご紹介します。「集合研修」・「技術研修」では、今年の研修は どんなことをやったのかやってみてどう思ったか をご紹介します。

各自で必要な箇所だけ見ていただく形でも結構ですので、ご自由にご覧いただければと思います!

フィードフォースのこれまでの研修と今年の研修

ここでは、フィードフォースが これまでどんな研修に取り組み今年の研修では何をしたか をご紹介します。

今までのフィードフォースの新人研修

まず本題へと進む前に、これまでのフィードフォースの新人研修をご紹介します。

2014年度 OJTベースの研修

2014年度は新卒入社したエンジニアが一人だったということもあり、OJTベースで研修が行われました。初日で配属が決まり、メンターとペアプロをしながら技術書を使った学習やプロダクトのコードリーディングをすることで 仕事をしながら技術やサービスを理解していく という研修だったようです。

研修を受けた当事者である @t-nakano 先輩が書いた当ブログの記事で詳しく触れられています。

2015年度 新入社員研修を新入社員が自ら作る研修(!?)

この年は、フィードフォースで初の人事担当が誕生してから初めての研修だったこともあり、かなりユニークな研修が行われました。新入社員研修プログラムを新入社員が自ら創る研修 と題して、入社したての新卒社員が研修プログラムを1から組み立て、社員の前でプレゼンするというものです。2015年度は新卒入社のエンジニアが0人だったため、技術研修は行われなかった年でしたが、当時私がこの記事を読んだ時に衝撃を受けたのを今でも覚えています…。

rookie-training-2015

研修内容についてご興味を持たれた方は、是非下記のリンクもご覧下さい。

僕らが今年どんな研修をやったか

それでは以前までの研修について簡単に紹介したところで、いよいよフィードフォースの2016年度の新人研修についてご紹介しましょう。

今年の研修では、自走式徹底的相手目線 の2つがテーマとして掲げられました。

自走式 とは、何をどのようにして学ぶかは自分たちで考えて取り組み、自ら研修を作っていってほしいということを意味します。また 徹底的相手目線 とは、常に 相手目線で考える クセを身につけ他者に価値を提供できる人間になってほしい、というメッセージです。この2つのテーマを叩き込まれた上で、私たちは今回の研修へ臨むこととなりました。

我々新卒エンジニアは、二ヶ月間ほどの研修期間中、前半後半に分けて主に次の2つの研修を受けました。

  • 集合研修
  • 技術研修

以前の研修に比べて特に大きく変わったことは、職種に関係なく全員で参加する研修 がある点と、技術研修の中で1週間ずつそれぞれのサービスのチームに配属される ローテーション配属 の期間があった点の2つだと思います。他にも新しい取り組みとして、空き時間にも各自で学習を進められるような環境である オンライン学習サイト の活用、現場の実践的な内容を教わり現場社員との交流の場になった 社員が講師となる講義、といったものがありました。また、それぞれの研修の内容には、過去の研修で行われた研修の形式もブラッシュアップした形で取り入れられ、フィードフォース史上最も充実した研修 になったと言えるでしょう。

私は入社前からフィードフォースの過去の研修の記事を見て、どんなことをやってきたかは知っていたのですが、今年の新人研修の内容を知った瞬間 今年はマジなヤツだ… と直感しました。研修内容を知った時は、その内容からフィードフォースの新人に対する熱意や期待が感じられ、ここまで新卒にリソースを割いてくれるなんて! と嬉しく思いました。一方で、その期待に応えなければ…! と、やる気や緊張感がひしひしと湧いてきたのを今でも思い出します。

それでは以降で、それぞれの研修について簡単にご紹介したいと思います。

集合研修

それではまず 集合研修 についてです。

この研修は入社してすぐに行われ、職種に関係なく今年入社した新人10人全員が参加しました。集合研修の意図は、「社会人としての基礎」 を身につけ、「フィードフォースについて理解するため」 のものである、と最初に説明がありました。

集合研修では、次の5つの研修を受けました。

  • マナー研修
  • オンライン学習サイトの動画視聴
  • 社員による各種講義
  • 2社合同で「新人研修を教え合う研修」
  • 営業ロープレ研修

新人が人事にマナーを教える「相手目線のビジネスマナー研修」

マナー研修では、「弊社の人事に新人がマナーを教える」 という通常とは全く逆の形式で行われました。

新人が人事にマナーを教えるプレゼンをするというアウトプットを目標に、そこまでの準備をほぼ自分たちだけで調査しまとめました。マナーについては、オンライン学習サイトのマナー講座の動画の視聴や、ネットの文献の調査、先輩社員に実践的な内容のインタビューなどで調査しました。最終的に、人事からも好評を得るようなプレゼンをアウトプットすることができました。

manner

やはり自分たちの手で調査してまとめただけあり、受け身でマナー講座を受けるよりもインプットの量が多く、かつ実践的な知識を身につけることができたと思います。特にエンジニアに関しては、配属されてしまうと マナーを意識するタイミングが激減してしまう可能性 があるので、ここで基礎を身につけられたのは大きかったなと今になって感じています。

この研修に関しては弊社人事のブログでも紹介されているので、もしご興味があればぜひご覧になってみて下さい。

Schoo・マナビトを使った動画視聴による学習

研修期間中、Schooマナビトオンラインのアカウントが配布され、マナーや業界用語に関する動画を視聴しました。

必須受講の動画と視聴期限が会社側から与えられたので、動画の視聴はチームで計画を立て、研修の空き時間を使って見る形でこなしました。

研修の中では教えてくれないような基礎的な内容もこの動画視聴で抑えられたので、社会人の基礎や業界知識を身につける上では非常に役立ったなと感じています。また必須受講の動画以外にも豊富にコンテンツが用意されていたので、自分の興味のある動画を視聴することができる自由度の高さもこの方法ならではだなと感じました。

講義

この研修では、社員が講師 となって 講義形式 で行われました。

講義内容は全て実務に関連するもので、自社のサービス内容に始まり、営業やマーケティング、果ては技術的な知識まで、フィードフォースに関わる全ての業務に関連する内容 が網羅されていました。実際に第一線で働いている社員に直に講義をして頂けたので、非常に実践的な知識を身につけることができました。

lecture

講義の中には、社長が講師となって会社のビジョンを語る という講義もあり、会社や社員に対する社長の熱い思いを聞くことができる貴重な機会でした。また、配属後には関わる機会が少ない社員の方々ともこの講義を通して交流することができたので、社員を知るという意味でも良い機会だったなと感じています。

lecture-by-president

2社合同研修

株式会社マーケティングアプリケーションズ様と合同で、両企業の新人が研修で学んだこと をお互いに発表し合いました。

mapps-and-ff-presentation

同じ Web マーケティング業界で事業を展開している両企業ですが、事業内容や新人メンバーのキャラクターの違いが出ていて、活発で盛り上がりのあるプレゼンの場となりました。社外の同期の知り合いを作る という意味でも貴重な場だったなと感じています。

弊社の公式ページにもこの研修に関するお知らせがありますので、もしご興味があれば是非ご覧ください。

営業ロープレ試験

この研修は、1. マナーが出来ていること2. 相手目線であること3. 自社のサービスを理解していること の3点を確認するための研修として行われました。

営業チームやマーケティングチームの社員の方々に サービスを売り込むクライアント役 になってもらい、新人が 営業担当役 として 自社のサービスを売り込む商談 をする、という形で行われました。この研修では、クライアント役の社員の方々から合格を頂くまで再挑戦しなければならず、新人一同必死になってロープレの練習をしていました。

roleplaying

いざ実践の場になると分からないことがあったり、型にはまった説明で真の相手目線になっていなかったりと、相手目線やサービス理解の部分で苦戦しているメンバーも少なくなかったと思います。

以下のFacebookの投稿は、全員がロープレに合格した際の投稿です。

集合研修を通して学んだこと、感じたこと

それではここで一旦、集合研修を通して学んだこと、感じたことを振り返ってみたいと思います。

エンジニアにとっての集合研修の重要性

集合研修ではエンジニアの業務に直接関わる内容こそあまり多くはありませんでしたが、社会人としての基礎自社のサービス理解 を学ぶ上でとても役立ちました。やはりエンジニアとしてサービスの開発に関わる以上、自社のサービスのことは誰よりも理解していなければならないし、サービスを使うお客様の目線からより良い物を作っていくという考え方や意識が必要不可欠だと思います。チームに配属されてからではなく、このタイミングでこれらの心構えを身につけることができて本当に良かったなと感じています。

エンジニアが営業ロープレ試験を受けたことについて

お恥ずかしい話になりますが、エンジニアも営業ロープレ試験をやるという話を聞いた当初は、「それって本当にエンジニアに必要な研修なのかな…?」 と疑問を持っていました。ですが実際にやってみると、お客様の課題が何かを知ること・それを解決するための最善の方法を提案できることは、サービスを売る側だけではなく サービスを作る側にも必要なこと であると初めて知ることができました。また、相手は必ずしもお客様だけでなく、チームで開発をする上では チームのメンバーに対しても相手目線であること が求められることも学ぶことができました。

集合研修を受けてみて

エンジニアとしてこの集合研修を受けてみて、この研修は 絶対やっておいた方が良かったな と強く感じています。入社直後のタイミングで、集合研修を通して今後も常に持ち続けるべき知識や考え方を学ぶことができて本当に良かったと、チームに配属された今だからこそ痛感しています。

技術研修

さて、集合研修が終わった後は、いよいよお待ちかねの 技術研修 が始まりました。余談にはなりますが、集合研修の期間中はほとんどコードをかける機会が無く、新卒エンジニア一同コードを書きたくてムズムズしていたもどかしい期間でした笑。その反動か、このあとの技術研修はみんな生き生きと取り組んでいたのはいい思い出です。

この研修では、実際に業務で必要になる 技術の学習 と、実際に配属される可能性のあるチームで1週間ずつ働く ローテーション配属 を経験しました。一日の半分を 技術の学習 の時間、もう半分を ローテーション配属 の時間というように区切って行われました。

技術の学習では、我々の師である @a_know が講師役となって、次の技術書の内容をなぞる形で勧められました。

上記の本を取り上げて、講義形式やハンズオン形式、勉強会形式など様々な方法で取り組みました。ただ、 @a_know が私たち新卒エンジニアに「私は講師役だからといってあなたたちに技術を教えるつもりはない、私と一緒に勉強して一緒に学びましょう」と念を押して伝えました。そのため、技術研修中は常に 講師や本から与えられるものが全てではない、自分たちで +αのインプットをしていこう という意識を全員が持って取り組めていたと思います。

また、各新卒エンジニアに対して一人の先輩エンジニアにメンターとして付いてもらいました。実はこのメンターの先輩エンジニアの方々とは、集合研修の期間から毎日ふりかえりを行い、ローテ配属やプレゼンで困ってることや集合研修の悩みなどを相談させてもらっていました。技術研修の期間中はその日の良かったことや学んだこと、悩んでることなどの共有・相談させてもらったり、技術的な質問の相手になってもらいました。

それでは、具体的に技術研修ではどんなことに取り組んだか、簡単にご紹介しましょう。

入社前課題

いきなり技術研修の話から少しそれてしまいますが、新卒エンジニアの育成に関するものだったため、こちらで紹介させていただこうと思います。

今年は新卒エンジニアに対して入社前課題が与えられました。課題図書として、弊社で使用されているプログラミング言語 Ruby に関する技術書 『たのしいRuby 第5版』 が配られ、入社日までに「その技術書の範囲の中から出題される100個の問題の解答を作る」という宿題が出されました。問題集は Gist にアップロードされ、解答も Gist 上に作成する形で行われました。以下が内定者に課された100問ですので、ご興味がある方はご覧ください。

Gist - たのしい Ruby 達成度確認テスト.md

ruby-test

このタイミングで Ruby の基礎を身につけることができたので、Ruby に関しては入社後に基礎的な内容でつまずいたり、全員の理解度がバラバラということはほとんどありませんでした。

データベース基礎

さて、まず技術研修で一番最初に取り組んだのは、データベースの基礎についてです。

データベースに関しては、『ゼロから始めるデータベース操作』という書籍を読みながら、ハンズオン形式 で進められました。ローカル環境に MySQL をインストールして、書籍に書いてある SQL をターミナルに手で打ち込みながら学習を行いました。この時から、毎朝 @a_know が新卒エンジニアに対してその前の日に学んだ内容から質問する時間が用意されました。そのような復習のための時間があるおかげで、自然と前の日の内容をあらかじめ復習しておくという意識が身についた気がします。

Web の基礎

データベース基礎の学習が想定よりも早く進んだため、こちらの Web の基礎の学習は時間に少しゆとりを持って行われました。Webの基礎の学習では、『Web を支える技術』 を読んで学んことをまとめた記事を書き、社内の Qiita:Team というドキュメント共有ツールの 記事にまとめる形 で進めました。

記事を書く中で、書籍に書いてある内容だけではなく 現在の最新情報を追加で調べて 書いたり 書籍で詳しく言及されていない箇所を深堀 することで +αで学んだことを書く ようにまとめました。記事にまとめるためスピードは遅くなってしまいましたが、読んだ内容を記事としてアウトプットすることで、より質の高いインプットが得られたかなと思います。また、社内で記事を公開したため、その記事に対して社内のエンジニアからアドバイスや指摘が入ったことも記事を書く学習ならではだなと思いました。

qiita

Rails の基礎

DB の基礎、Web の基礎を学んで、次はいよいよ Ruby で実装されたWebフレームワークである Rails の基礎を学びます。Rails の基礎に関しては、『パーフェクト Ruby on Rails』の前半部分に書かれてある Railsの思想Railsの周辺技術 について取り上げて学習しました。

最初は記事を書いてまとめようと思っていたが…

最初は、Rails の基礎に関しても Web の基礎の学習の方法と同様に Qiita:Team に記事を書いてまとめる形で進める予定でした。ただ、以下の理由から Rails の基礎に関しては記事を書きながらの学習は適していないのではという意見が出ました。

  • 記事の作成は非常に時間がかかる
  • 研修の期間は決まっているので、ここで時間がかかると後々の Rails アプリを作る研修に時間を割けなくなる
  • それぞれが同じ内容の記事を作ることになるので効率が悪い

そこで、@a_know の提案で これ以降の研修の進め方を全員で話し合って決める ことになったのです。

研修の進め方の話し合い

話し合いでは、各個人が 今の研修のいいところ微妙なところ・問題点 を付箋に書き出して意見交換をし、それらを踏まえてどういう進め方がベストかを全員で話し合いました。結果、Railsの思想 に関しては記事を書く形でまとめ、Railsの周辺技術 に関しては勉強会形式で一人一人担当の範囲を決めてお互いにプレゼンしあう方法を採用しました。勉強会形式ではそれぞれが別々の範囲を担当するため、個人個人の理解度に差が出てしまうのでは、という懸念がありました。その点は、出来る限りハンズオン形式で手を動かす時間を設けたり、サンプルコードを使って例を示すことで可能な限りカバーする工夫をしました。結果として、勉強会形式を採用したことで作業の効率や時間は大幅に改善し、この後に行う Rails アプリを作る研修に余裕を持って取り組むことができました。

勉強会形式でお互いに発表し合う

私たちは Railsの周辺技術 を以下の5つのテーマに分け、発表日を決めて勉強会を行いました。

  • JSON
  • Asset
  • Turbolinks
  • ロードパス(autoloadなど)
  • Sidekiq(非同期処理について)

質疑応答の時間を設けて1テーマ30分で発表をしました。当日は同期内からも質問が多く上がったり、講師の @a_know からも鋭いツッコミや質問が入るなど、大いに盛り上がりました。質問されて答えられなかったことや全員の理解が甘いところについては、後日記事にまとめたり全員で勉強する時間を設けることで知識の抜け漏れが無いようにしました。

Rails アプリを作る研修

Rails の基礎を学んだ後は、実際に Rails を使って Web アプリを作りました。基本的に『パーフェクト Ruby on Rails』の第6章以降を読んで、イベント告知アプリを実装しました。

この研修では、社内の業務でも使われているテスト駆動開発で行い、Vagrant 上の仮想環境にデプロイするところまでを目標にして取り組みました。実装にあたっては、GitHub に自分のアプリのリポジトリを作成し、PR を作って講師の @a_know にレビューをしてもらい OK が出たらマージするという 実際の業務でも行われている作業 に沿って行われました。レビューでは間違っていることを指摘されるだけでなく、ここはどういう意味だろう?ここをこうするとどうなるだろう? といったような 本を読んで写しているだけでは答えられない ような質問があり、本に書かれている以上のことを学ぶことができました。また、これを通して、ただ本を読むだけではなく読んでいて気になるところを自発的に調べるような習慣がつきました。

最終的には、研修期間中に全員が以下の機能の実装まで行うことができました。

  • Twitter ログイン機能
  • イベント登録
  • イベント一覧

アプリの実装については、本に書かれていること以外にも、社内で使われている技術を積極的に採用して実装を行いました。

  • deppbot による 継続的な Bundle Update を実現
  • テンプレートエンジンに slim を導入
  • CircleCI による 継続的インテグレーション の実現

また、デプロイの環境を構築する際にサーバの設定を置くためのリポジトリを作り、Chef を使って cookbook を書いて Vagrant の環境を構築しました。Vagrant 上にアプリをデプロイする際には、capistrano を使ってデプロイの自動化を行いました。

ローテーション配属研修

ここでは、技術の学習の研修と並行して行われた ローテーション配属研修 (以下ローテ配属)についてご紹介します。

新卒エンジニアたちは、研修期間が終わった後にどのサービスの開発チームに配属されたいか希望を出すことになっていました。そこで、希望の配属先を考える上で チームの雰囲気や業務を体験して知っておく ために用意されたのが ローテ配属 です。ローテ配属では、1週間ずつ計5つのサービスに配属 されて、そのサービスの開発チームの業務を体験しました。

機能の実装や修正などの業務では、基本的に現場のエンジニアと新人がペアプログラミングで作業を進める形で行われたため、普段仕事でどんな作業をするのかを知ることができました。ペアプロなどを通して効率よく作業するためのテクニックやエディタの設定なども教えてもらうことができ、エンジニアとして成長することができたと思います。自分が手を動かして作ったものがサービスの一部としてリリースされることになるため、作ったものが世の中に発信される充実感や達成感を味わうことができました。各チームではペアプロ以外にもチームのミーティングやチームランチなどのコミュニケーションの場が用意されており、普段のチームの雰囲気を知ることができる機会になったと思います。

技術研修を通して学んだこと・感じたこと

それでは、技術研修を終えて学んだこと・感じたことをまとめたいと思います。

技術の学習とOJTのバランス

今回の研修では、純粋に技術を学習する時間とローテ配属で業務をしながら学んでいく時間が半々に分かれていました。ただ知識をインプットするだけではなく、研修で学んだ技術を業務でアウトプットすることができる環境 が用意されていたため、インプットとアウトプットのバランス が取れていたと思います。午前中の研修で学んだ知識がローテ配属先でも役に立つということも少なくありませんでした。

一方で、技術研修で後に学ぶ内容や習わない内容が先に業務で出てきてしまうこともあったため、もしも来年も同じような方法を採用するのであればその部分の連携が取れると更に良い研修になるかなと考えています。

困った時・悩んだ時に相談しやすい環境

この研修中は、困った時や悩んだ時に すぐ相談しやすい環境 が整っていたなと思います。一日の終わりにメンターとのふりかえりで都度現状を共有するタイミングあったため、そこで話しを聞いてもらって助言を頂いたりすることができました。講師の @a_know との 1 on 1 面談では、技術的なアドバイスや社会人としてのアドバイスはもちろん、今後のエンジニアのキャリアの話など様々な話を聞いてもらい面倒を見ていただきました。このような場があったことで、自分が気付けていない新たな発見があったり、困っていることを相談できたため、研修時間外にも意思疎通や相談の場は大事だなと感じています。

情報をアウトプットする機会が多かった

技術研修では、特に基礎部分の学習において、アウトプットの機会が非常に多かった なと感じています。エンジニアとして、自分が学んだ技術や調査した内容をまとめて何らかの形でアウトプットすることは非常に大切なことです。今回 Qiita:Team に記事をまとめたり、勉強会用のスライドをまとめるといった作業を通して、エンジニアとして どうやって情報をアウトプットしどのように共有すれば良いか を学ぶことができました。これもただ受け身になって受ける研修では体験できなかったことかなと思います。

ただし、記事に学習内容をまとめる方法では内容が濃くなりすぎたり量が増えすぎたりしたため、どの程度の内容の記事にまとめるかはしっかりと運営側で決めてあげて 研修の期間に見合ったスピード感で進めていく必要がある かなと思いました。

受ける側も運営する側も一緒になって組み立てていく研修

先ほどご紹介した通り、今回の研修では、研修を計画した側が一方的に進め方を決めたわけではありません。受ける側が進め方に疑問や問題点を感じた時に、全員で話し合って研修の進め方を決め直しました。今回全員で話し合って進め方を考えるという選択肢が出てきたのは、普段 アジャイルという考え方 に基づいて開発を行っているフィードフォースだからこその考え方なのかなと感じました。この話し合いは、研修を受ける側に寄り添いながら、受ける側にとって最適な研修はどんなものかを考える上で絶対にあったほうが良い取り組みだなと感じました。

まとめ

さて、2016年度の新人研修についてお話ししてきました。いかがだったでしょうか。
フィードフォースにとっては新人研修元年とも言える年になったのではないでしょうか。

実は来年、私たち新卒エンジニア5名が技術研修の担当をすることが現時点で決まっています。@a_know の記事でも触れられているように、今年の研修のふりかえりを行い、来年の研修につなげるため何を改善し何を行ったら良いかについてメンターを含めた全員で話し合いました。

来年は我々の後輩が入社してきますし、今後もフィードフォース新卒採用を続けていくはずです。その際に万全の受け入れをするためにも来年以降は今年の新人研修を更にブラッシュアップし、フィードフォースの文化として、フィードフォースならではの新人研修にしていけたらなと考えています。

  • このエントリーをはてなブックマークに追加
Feedforce Developer Blog

新しいブログへ移行しました!こちらもよろしくお願いします。