ペパボ新卒エンジニア研修 前編

#pepabo #rails #ruby

今年の4月に株式会社paperboy&co.へ入社し、気がつけば年の瀬までやってきた。

次世代・4期生の内定式はもう2ヶ月以上も前のことで、既に新卒5期生のための採用ページがオープンしている。

新卒採用2015 | 株式会社paperboy&co.

創立12年目を迎えた私たちペパボは2015年度新卒入社する新たな仲間を募集します!
今後さらなる成長を遂げるために、私たちとともに「もっとおもしろくできる」を本気で取り組んでくれる仲間との出会いを楽しみにしています!

2013年を省みる

学び続けることを選んだ

私はペパボ3回目の新卒採用に選んでいただいた。そして2013年、新卒エンジニアとして研修にOJTにと、多くのことを学ばせていただいた。

もちろん、ソフトウェアエンジニアという、果てるまで学び続ける道を選んだのだから、「学び」は終わらない。 羽を休めることはあっても、次に飛ぶ瞬間を考え続けなければならない。

しかしこの1年で学んだことは、誇らしいことも悔しいことも、ひときわ強い印象になるのだと思う。 研修がこの1年で納まり、部署配属という次のフェーズが待っているからだ。 表面的には地続きに見えるかもしれない。しかし、心のうちには大きな段が見えている。

歪な轍

この1年間の締めくくりとして、先輩たちが振り返りを認めている。 さて、自分は何を書こう。

しかし、考えても、自分自身に振り返れそうなものが見当たらなかった。

振り返るからには、何かの成果を提示すべきだ。 ソフトウェアエンジニアであるならば、それが何らかのプロダクトであるに望ましい。 そんなものは無かった。 このことは少なからず自分にとってはショックだった。 何をやってきたのだろう。

この1年で描いたはずの軌跡は、あまりにも無自覚に歩んだおかげでジグザグとしている。

学生の延長で、

会社と離れたところでは、@matsumotoryさんから知り得た変化点検出を基に、ペーパを提出できたことは嬉しかった。 お陰で9月頃まで学生(研究生)作業を余儀なくされたわけだが、今はそれが良かったと感じている。

言ってしまえば、この成果は拙い。 学生時分の私は勤勉な人間では無かったし、それがそのまま反映されたのだ。 仕方が無い。

しかし、この成果と後悔は、学生としての再挑戦という意識をもたらしてくれた。 良かったと言うのはこのことである。 いつになるかは分からない、しかし私はいつかまた研究をすると思う。

この蜿蜒とした歩みも、長日月を迎える頃にはきっと良いものに見えるだろう。

何はともあれ、妙味に富んだ1年であったと思う。

「次」の話。

話を変えよう。

振り返るにあたって、何かを残したかった。 残せるものがあれば、きっと何かに繋がるだろう。 そう考え、来年ペパボに入社してくれる人たち、ひいては次の次、そのまた次へと続く新しい世代の人たちに向けて、ペパボ新卒エンジニア研修について紹介しておこうと思う。

研修の内容は毎年アップデートされていくので、これが来年再来年も続く保証は無い。 むしろ確実に変化する。 だから全て鵜呑みにすることはお勧めできない。 とはいえ、いわゆるWebサービスを運営する企業が、新卒社員に対してどのような教育をしているのか、その輪郭のようなものが見えてくれれば嬉しい。

人によっては取るに足らない話かもしれないが、何かの役に立てることを願う。

新卒エンジニア研修

ペパボの新卒には研修が与えられる。

当たり前に聞こえるかもしれないが、研修を受けさせてもらえるというのはそこまで当たり前ではなく、ありがたいものだと思う。

ペパボの新卒エンジニア研修は大きく分けて2つのフェーズがあり、1つがアプリケーションサイド、1つがオペレーションサイドをさらった内容になっている。 ペパボ新卒エンジニア研修の前編として、以下より続くのが、5月半ばから約一ヶ月にわたり実施されたアプリケーションサイドの研修である。

Rails Tutorial

仰々しい言い回しで繋いだが、実はペパボ新卒エンジニア研修の前半は、ほぼ全てこれである。

私たち新卒エンジニアに課せられたのは、Ruby on Ralis Tutorialをクリアすることだった。 Rails TutorialはRubyとRuby on Railsを使った開発者向けWebテキストだ。

本テキストのコンセプトは分かりやすい。

From zero to deploy

… The goal of this book is to be the best answer to the question, “If I want to learn web development with Ruby on Rails, where should I start?” …

新卒エンジニアはこれをChapter 1から最後まで走り抜く。 月曜日から金曜日までこれを繰り返す。 Ruby 2.0と、当時はRC版だったRails 4を用いて開発していた。 ちなみにこのRails Tutorialを一通りやると、最終的にはTwitterライクなWebアプリケーションが完成する。

1日の流れをカンタンに書けば以下のようになる。

  1. 出社。
  2. 10時に朝会、今日何をやるか、どこまでを目指すかの共有を図る。
  3. Rails Tutorialに出てくる内容について、柴田さん(@hsbt)によるミニ講義を受ける。
  4. 前半戦、ひたすらChapterをこなす。
  5. 15時ごろから1時間、先輩社員の皆さんによる座学を受ける。
  6. 後半戦、ひたすらChapterをこなす。
  7. 日報を書いて定時に退社。

日によっては座学やミニ講義は無かったりするのだが、概ね上記のとおりである。

講義と座学

テキストだけが無造作に与えられたわけではない。 上に書いたとおり、技術基盤チームの柴田さん (@hsbt) による講義があり、「Rubyにおけるテストの文化」「MVC」「Railsの仕組み」「モデリング」等々、Rails Tutorialを読み進める上で重要な知識を教えていただいた。

また座学では、先輩社員たちの得意分野についてたくさんのことを教えていただいた。

ボリュームがありすぎてこのエントリに収まりきらないのだが、トピックをかいつまんで紹介すると、jQueryやRESTのようなフロントサイドの知識であったり、レガシーコードとの向き合い方からモデリングのような設計の話であったりと多岐に渡る。

web development

先ほどの引用に”with Ruby on Rails”とあるが、Rails Tutorialを一通りやると、本質は”learn web development”にあると感じるようになった。

どういうことか。

別言語でWebアプリケーションの開発経験がある人であれば、きっとこのWebテキストはRailsの仕組みや設計思想、あるいはRubyというオブジェクト思考言語やその流儀を知る一冊になるのだと思う。

私が感じたのは、Ruby on Railsはあくまでツールであり、しかしその裏にはっきりとした思想が存在するということ。 そしてそれを通じて、Web開発をするとは何かを教えてくれたということである。

これですべてが分かるわけではないが、しかし、Webアプリケーション開発の手触りを感じた。

今でも、Railsで何かを動かそうと思った時に、このテキストを開いている。 “Zero”という状態から”Deploy”に至るまでを、RubyとRuby on Railsを使って導いてくれる良書だと思う。

終わりに

終わりに、と書いたが、研修の話はまだ続く。

前編があれば後編もあるわけで、次回はオペレーションサイドの研修について紹介しようと思う。

正直に言えば、こっちは結構大変な研修だったのだが、自分の道を確立させてくれた重要な研修だっただけに慎重に紹介したい。 前後に話を分けたのもそのためである。

随分とまとまらない長話を書いてしまった。 ここまで読んでいただいた方には感慨無量である。