Reach One|株式会社ビズリーチ(BizReach)【企業公式ブログ】

株式会社ビズリーチの公式ブログ「Reach One(リーチワン)」です。 Reach Oneでは、ビズリーチのメンバーやプロジェクトの紹介、社内外のイベントレポートなどを通じて、「ビズリーチのイマとこれから」をお伝えします。

REACH ONE

ビズリーチのイマとこれから

「”価値あるサービスを生み出すエンジニア”になるために」新卒エンジニア研修を全公開!

こんにちは!
今年の4月に新卒エンジニアとして入社しました、倉橋と申します!

先日、4月の後半から行われていたエンジニア職の新卒研修を終え、現在は学生とOB/OGをつなぐ「ビズリーチ・キャンパス」というサービスの開発に携わっています。

今回はビズリーチの新卒エンジニア研修の内容、それぞれのプログラムを企画してくれた先輩社員の意図、そして実際に研修を受けたばかりの私も含めた新卒エンジニアの声をお届けします!

この記事を通じて、エンジニア志望の学生さんに少しでも興味を持っていただけたり、自身のリアルな1年後を想像していただけたら幸いです。

この研修を通して、新卒エンジニアに目指してほしい姿

はじめに研修全体の運営を担当してくれた山本に、本研修を通して新卒にどんな姿を目指してほしいのか聞きました。

f:id:bizreach:20160823213758j:plain

ビズリーチ事業部 エンジニア

山本 凌平 / Ryohei Yamamoto


2016年新卒エンジニアとして入社。2017年度第3四半期のプロダクト開発部門VP(優秀賞)。
現在はiosアプリの開発などに従事。17卒エンジニア研修の全体運営を担当。


「新卒エンジニアのみんなには研修を通じてWebアプリケーション開発の基礎を学んでもらうとともに、「ビズリーチらしいエンジニア」になってほしいと思っています。ビズリーチらしいエンジニアとは、技術だけではなくビジネス的思考も併せ持ち、本質的に価値あるサービスを生み出せるエンジニアのことです。 エンジニア研修はどうしても技術中心の内容になってしまいますが、それぞれの研修を担当し見守ってくれる社内のエースエンジニア達とたくさんコミュニケーションをとることで、課題解決のための思考力など、技術面以外の重要なスキルも吸収してほしいと思っています。」

研修全体のスケジュール

新卒研修は以下のようなスケジュールで行われました。

f:id:bizreach:20170822152925p:plain

f:id:bizreach:20170822121832p:plain
社内エンジニアによる講義の様子

今回は他ではあまりない、HTTP・DB/エンジニアの心得・Twitterの3つの研修について詳しく掘り下げていきたいと思います!

1. HTTPサーバー実装研修

HTTPサーバー実装研修は今年初めて導入された研修です。
Webアプリケーションの根幹とも言えるHTTPサーバーをRFC,JavaDocという公式ドキュメントのみを用いて作ります。 いくつかのステップに分かれており、ステップが一つ終わるごとに先輩エンジニアのみなさんにレビューしてもらい、通れば次のステップに進むという形式で行われました。  

エンジニアとして重要な「公式ドキュメントを見る癖」をつける

 私自身、「本当にHTTPサーバーなんてゼロから作れるのか。。」と思っていたのですが、概念の理解などから丁寧にステップ化されており、他の研修と平行して1ヶ月半ほどで作り終えることができました。途中からはリーダブルなコードの書き方、クラス設計、オブジェクト指向まで話が広がり終盤は実装したコードをいかに綺麗に書き効率化するかをずっと行っていました。 作り終わってみるとコード量も数百行程度しかなく、実装もさほど難しくないものとなりました。普段、中でどういった動きをしているのか分からないものを公式の情報のみを使って作り終えたことは、自分にとって自信となり、その後の研修や業務でも公式ドキュメントを確認する癖がつくようになりました。

公式ドキュメントを読むことで低レイヤーの技術に挑戦する

こちらの研修を運営してくれた田所に話を聞きしました。

f:id:bizreach:20160823213758j:plain

スタンバイ サーバーサイドエンジニア

田所 駿佑 / Shunsuke Tadokoro


2015年に新卒として入社したscalaエンジニア。求人検索エンジン「スタンバイ」のWebクローラー開発を担当。今年の新卒研修では、HTTPサーバー研修の運営を担当。

「Webフレームワークやライブラリを適切に扱うためには、それが低レイヤーの概念をどのように抽象化しているのかを知らないといけない場面があります。この研修ではHTTPサーバーの実装を通じて、低レイヤーの技術に挑戦する勇気や興味、「何かあったときに中身を追求しようとする姿勢」を身につけてもらうことが目標でした。 またドキュメント読解力を鍛えるべく、「参考にしてよいのはRFCやOracleの公式ドキュメント等の一次情報のみ」という制限を設けました。鍛えた読解力で、噛み砕いた情報が少ない最先端の技術にもがんがん挑戦していってほしいと思います。」

2. OSSコミッターによるエンジニアの心得

HTTPサーバー研修と並行して行なっていたのが、DB研修とエンジニアの心得についての研修です。
こちらは社内で使用しているDBFluteというO/Rマッパーのハンズオンを、メインコミッターである久保さんに行なってもらい、同時にエンジニアの心得を学ぶ研修です。 (久保さんは創業以来、新卒研修でお世話になっている外部講師です。) 今回は久保さんが話してくれたエンジニアの心得について、いくつか取り上げたいと思います。

エラーメッセージは読むものではなく解読するもの

 私たちはエンジニアでいる限りエラーと付き合って行くことになります。エラーを推測して確認して…。先輩エンジニアの方々に聞いたら「こうじゃない?」と推測は返ってきますが結局それを確かめなければ答えには辿りつきません。それはエラーメッセージも同じで、答えを言ってくれるわけではないと思います。そうなるとエラーメッセージは読むだけではなく、読んで解読しなければなりません。  私は今までエラーメッセージを読んでもきちんと原因究明をせずに直してしまうことが多くありましたが、この話を聞いてからは一つ一つの内容をきちんと紐解き解読していくという意識を持つことができています。今ではエラーを解読するのが楽しくなってきています。(笑)

(参考)久保さんのブログ http://d.hatena.ne.jp/jflute/20130522/errorsinging

なぜその質問をするのか

 もとの問題Aがあり、それを解決するためにBという手段が必要だけど、それを実現するためにはCという手段が必要になり、さらにそれを実現するためにはDという手段が必要になり…。そこで「Dってどうやればいいですか?」と質問する。この場合、もしDを導くまでの道のりが間違っていなければ問題はないですが、そもそもDにたどり着くまでの過程で道を踏み外していたら、Dを解決しても根本の解決にはなりません。プログラミングの世界では問題が非常に複雑になることが多くあるので、常にこれが根本の問題なのか疑っているくらいでちょうどいいのではないかと思います。

なぜその質問をするのか、何が聞きたいのか。研修を受ける前まで、私は単純に「相手は背景が知りたいのだろうな」ということくらいしか考えていませんでした。 しかし「なぜ質問の背景を知りたいのか」ということに焦点を当てると、そもそもその質問により課題解決ができるのか、もっと良い方法があるのではないかということに考えが至るようになります。 私自身上記のような質問の意図がはっきりしないことで何度も深堀をして頂くことになり、先輩の時間を無駄にしてしまうことが何度もありました。久保さんの話を聞いて質問の深堀を行うことで、その質問によりどのようなことが解決されるのかを、常に意識できるようになりました。

(参考)久保さんのブログ http://d.hatena.ne.jp/jflute/20170611/askingway1

多くの現場を経験したベテランエンジニアが伝えたいこと

f:id:bizreach:20160823213758j:plain

「DBFlute」のメインコミッター

久保 雅彦 / Masahiko Kubo


OSSのO/Rマッパー「DBFlute」のメインコミッター。OSSコミッターとしての活動と並行して、ビズリーチの新卒研修や社内勉強会なども行っている。

「もともと昨年までの新卒研修でjavaやO/Rマッパーの技術的指導をしており、1日の終わりに心得のようなものを語るという形でした。今年は当初、研修を担当する予定はなかったのですが、昨年の新卒入社メンバーに「久保さんのDB研修やエンジニアの心得の話はとてもためになるので、ぜひ今年も研修をしてほしい」と言ってもらい、8日間javaの応用とO/Rマッパーの研修、エンジニアの心得の研修を担当させていただきました。ビズリーチの新卒エンジニアは優秀なメンバーばかりなので、極端に言うと自分で勉強すれば技術は身につくだろうと思っています。しかし、よくあるのが現場に入って学んだ技術を活かせなかったり、エンジニアとしての成長が止まってしまうことです。なので私が様々な現場で見たり経験してきたことを活かして話をすることで、エンジニアとして生きていく上での心得を持ってもらいたいんです。私は、技術だけでなく思考をきちんと身につけることが優秀なディベロッパーになる条件だと考えています。」

f:id:bizreach:20170822122148p:plain 研修最終日に全員でフルートのポーズで集合写真

3. ビズリーチ伝統のTwitter課題

HTTPサーバー研修が終わったメンバーから、それぞれの事業部に仮配属されます。 そこで取り組むのが、ビズリーチ伝統のTwitter課題です。 こちらは3週間で簡易なTwitterのクローンアプリの実装をし、そこにオリジナルの施策(機能・デザイン等)をいれ、それぞれ発表会を行うものです。

f:id:bizreach:20170822122236p:plain
実際に作ったTwitter「Color Tweet」。主にSpring、Thymeleaf、DBFluteを使用している

f:id:bizreach:20170822122247p:plain
社内のオープンスペース「ソロモン」にて行われた発表会

そもそもWebアプリケーションを作成したことがない人もいるなか、3週間でフロント・サーバーサイド実装・DB設計・デプロイまで全て1人で行う無茶振りとも言える研修ですが、 「何が分からないか、分からない」というような状況から、活路を見いだせるのか。Webの全体像を学ぶだけではなく、今後業務を行う上で重要となる課題を紐解いて整理し、解決していくプロセスも学ぶことができます。 また、経験者にとっても普段あまり触ることのないAWSの設定や、オリジナルの施策を発表会でどう伝えるか、さらにそのサービスを発展させる為に何が必要かなど応用的部分も多く学べる研修となっています。

業務に入る前に自分に何が足りないのかをしっかり理解する

この課題を通じてゼロからアプリケーションを構築することにより、業務で使う技術のインプット・アウトプットをしっかり行うことができたと感じます。また、業務を行う上で自分にとっての課題や足りない部分が何かを理解し、それをメンターの方と共有することができました。自分の強み・弱みを理解ししっかり振り返りをすることで、非常に学びのある課題になったと思います。

3週間という短いスケジュールで作り込む

ゼロからアプリケーションを作り、3週間でデプロイまでするというのは非常に厳しいスケジュールでした。当然見積もりが甘いとスケジュール通りに進まないことも多く、思ったように進捗が出ない場面も多くありました。 ただ時間がないからといって妥協せずに、最後まで作りこむ経験は非常に価値があったなと思いますし、今後常に意識しなければならないと思います。またどうしてもわからない時にしっかり質問し、他の先輩も巻き込むことでビズリーチで非常に重要な巻き込み力も鍛えられたかと思います!

無茶な課題を出された時に解決する力を身につける

Twitter課題全体を統括してくれた栗田に意図を聞きました。

f:id:bizreach:20160823213758j:plain

人事企画部

栗田 祐志 / Yushi Kurita


2013年新卒入社。大学在学中に友人たちと起業後、2013年にビズリーチに入社。エンジニアとして従事した後に人事に異動し、エンジニアの新卒採用、全社の人事制度企画などを担当。Twitter課題の統括や、新卒研修全体の運営にも関わる。

「3週間でゼロからTwitterのクローンを作り、独自の施策を盛り込みデプロイするというのは新卒にとってはなかなか厳しい課題だと思います。もちろん今までの研修の集大成としてゼロからWebアプリケーションを作るというゴールはありますが、より重要なのは自走して前に進むことができるかどうか、それに加えてわからない時に適切に質問をしたり周囲を巻きこめるかどうかです。新卒のメンバーには心得として、「露骨に答えを聞くのではなく、考え方や調べ方を聞くこと」を伝えています。メンターにも、なるべく答えを教えず「どうやったら進ませてあげることができるか」を考えてもらうようにしました。」

研修全体を通して

講義をはじめ、サーバー研修やTwitter課題等、社内の多くの先輩エンジニアが新卒研修の運営やサポートをしてくれ、改めて会社からの期待や育成への本気度を感じました。

研修が終わった時、”優秀なエンジニアに近づけているか”

講義からTwitter課題までを終えた時に、初心者・経験者問わず同期全員が4月の自分とは別人のような成長を遂げていました。ただ正直にいうと知識面でインプットをする時間がたくさんあったので、技術的な成長をするのは当たり前だと思っています。 重要なのは「今後優秀なエンジニアになれるか」「その素地を固めることができたか」です。HTTPサーバー研修などは直近で実務に活きる知識とは言えないかもしれませんが、抽象化されたものを扱う時に公式ドキュメントに当たることができるのか。先輩エンジニアに正しく質問することができるのか。こういったことを研修全体で意識し学べたことが、一番大きかったと感じています。 この意識を持ち続け、今後の業務で実践していくことが、優秀なエンジニアになるために必要不可欠なことだと考えています。

研修全体を通して見えた新卒の成長 

こちらは再び全体統括の山本に聞きました。

f:id:bizreach:20160823213758j:plain

ビズリーチ事業部 エンジニア

山本 凌平 / Ryohei Yamamoto


「今回の研修を通して、新卒のメンバーの技術に対する好奇心・探求心が非常に高くなったと感じました。HTTPサーバー研修で先輩エンジニアよりもRFCを読み込んできたり、常にJavaDocを読むようになったりと、普段からプログラムがどう動いているかにフォーカスを当てて行動できるようになったなと感じました。また技術に限らず、自分たちが学んだことをLTなどを行い同期の間で発信できるようになったのは、非常に良い成長だと思います。もともと「自己紹介LTをやってみよう」といってやり始めたのですが、いつの間にか同期で情報発信・共有するためのツールとして仕組み化されていました。常に吸収して自分たちなりに考え行動し、周りを巻き込めるようになったことは非常に大きな成長だと思いますし、研修を通じてこのような成長をしてくれたことは自分にとっても大きな意味がありました。」

最後に

ビズリーチの新卒エンジニア研修がどのようなものか、少しでもお伝えできましたでしょうか。 私たちは、一緒に価値あるサービスを生み出す仲間を探しています。 特に学生の方々にこの記事を読んでいただき、少しでも自分がエンジニアとして新卒入社した時の姿を思い浮かべていただいたり、ビズリーチに興味を持っていただけたら幸いです。

ビズリーチの新卒採用情報はこちら

www.bizreach.co.jp

エンジニア社員のインタビュー
新卒エンジニアのインタビュー
f:id:bizreach:20160823213758j:plain

この記事を書いたメンバー

倉橋 直也 / Naoya Kurahashi


東京理科大学を卒業後、2017年4月に新卒エンジニアとしてビズリーチに入社。学生時代は情報系の学科でプログラミングの基礎を学びつつ、学生団体等でアプリ開発やWebフロントの開発に従事。現在は新卒事業部にて「ビズリーチ・キャンパス」の開発に携わる。