BrainPad株式会社ブレインパッドのデータ活用に関する取り組みや製品・サービス開発の裏側、社員の日常などをご紹介します。ブレインパッドの日常2017年4月に入社した新卒エンジニアが、入社からこれまでの約1年間を振り返り、研修や業務内容などをご紹介します!こんにちは。私は新卒一年目のエンジニアで、現在はブレインパッドのプライベートDMP「Rtoaster(アールトースター)」の開発チームに所属しています。今回は、ブレインパッドの新卒エンジニアの入社からの一年間をご紹介したいと思います。この写真は2017年4月の入社式での一枚です。ここからブレインパッドエンジニアとしての一年が始まりました。部署に配属前の数ヵ月間は、新卒の新入社員全員が一緒に研修を受けます。きなエディタも様々です。Engineering」の習得を目指しました。(※2017年新卒入社の職種はエンジニア、データサイエンティスト、ビジネス職でした。現在の職種はhttp://www.brainpad.co.jp/recruit/をご確認ください。)カリキュラム私たち2017年度新卒社員は、下表のようなカリキュラムで配属前の研修を受けました。見ると、プログラムの種類が豊富でかなり充実しています。座学だけでなく、手を動かす演習もカリキュラムに含まれています。・フィードバックと、分析の一連の流れを体験しました。社内改善プロジェクト配属前研修の仕上げとなる最後のテーマには、「社内改善プロジェクト」という小さなプロジェクトに取り組みました。プレゼンを2~3人のチームで行いました。私のチーム(エンジニアチーム)に与えられたお題を、簡単にご紹介します。当社には、「肉会」と呼ばれる福利厚生制度があります(社内制度についてはこちら)。「肉会」は、「シャッフルランチ」や「ランダムランチ」とも呼ばれるもので、システムがランダムに選んだメンバーとの食事代を会社が補助してくれる制度です。「社内で好評の肉会を、もっとみんなにエンジョイしてほしい」ということで、肉会に関連した新しいサービスを作って欲しいというのが、クライアント役の先輩社員からのお題でした。作ったもの実装したのは、社内限定の口コミサイトです。・肉会の口コミ(日付、場所、写真などを含む...)をアップロードする画面(下図左)・アップロードされた情報を閲覧する画面(下図中央)・肉会があった飲食店を閲覧する画面(下図右)の大きく3つの画面から構成されています。シンプルなアプリケーションですが、使いやすくなるように、以下のような補助機能を提案・実装しました。Engine(GAE)上にデプロイしました。当社の配属前研修は、ビジネス、エンジニアリング、データサイエンスのすべてのカリキュラムが混ざっているのが特色だと思います。私はエンジニア採用だったのですが、ビジネスの研修で学んだことはBtoB製品を考える手助けになっています。データサイエンスの研修では、私はルールベースでの予測をSQLで作るところを、データサイエンティスト採用の同期はランダムフォレストなどの難しい手法で取り組んだりして、考え方の違いを実感しました。多くの研修がありましたが、一番大変で、かつ印象に残っているのは、最後の社内改善プロジェクトです。私のチームのクライアント役の社員は、わざと(※)ふわっとした要求(例:「インスタグラムみたいなの作ってよ。オシャレなアプリも必須」)を提示してきました。クライアント役の先輩社員やチームメンバー、サポート役の先輩社員と議論を行い、実現できそうな、具体的な機能・優先度(例:「インスタグラムを作りたいというより、画像アップロードしたいんですよね?」「アプリ必須というより、スマホで使えればいいのですよね?」)に落とし込んでいきました。その作業が大変でもあり、また、面白くもありました。新卒全体での配属前研修の後は、各配属先に分かれての配属先での研修と業務を行います。ここでは、私の所属するマーケティングプラットフォーム本部開発部の研修と業務についてご紹介します。開発部」は、プライベートDMP「Rtoaster」や運用型広告最適化ツール「L2Mixer(エルツーミキサー)」などの、デジタルマーケティング製品の自社開発・運用を行っています。配属前の研修では、全部門・全職種が一緒に行われるということもあり、プログラムの「中身」を指導してもらう時間はありませんでした。配属後は、その「中身」の部分を改善するための研修があり、開発部の諸先輩からコードレビューを受けました。当社の開発(データサイエンティスト含む)の多くは、コードレビューを開発プロセスに取り入れています。Vue.js(フロントエンド)で、ログを可視化するWebアプリケーションを作り、そのソースコードをレビューしていただきました。上の画像がレビューの模様です。100近いコメント(図中、右の吹き出し)の数々が諸先輩の指導の手厚さを物語っています。下の方では、コメント件数が「99+」と上限に到達してしまいました。・実装の前の段階で確認を取る、より小さな単位でのプルリクエストなどで、手戻りを小さくする・ライブラリやツールを使用する時は、ドキュメントをキチンと読み込むなどの対策を先輩方と議論し、改善しました。プルリクエストでさまざまな指摘をいただいた中で、特に苦労したのは変数やメソッドなどの名前の付け方(例:メソッド名に行っている作業を過不足なく書く)です。先輩からは「名前をうまく付けられないのは、その前の設計ができてないからだ」などのアドバイスをいただいたのですが、そう言われても難しい...と苦労しています。業務エンジニアが、製品の開発に携わるには、その機能・内部実装を理解する必要があります。いうわけで、私も自分が携わる「Rtoaster」の機能・内部実装の理解に業務として取り組みました。機能・内部実装の理解と言われて、正直私は「簡単そうだなー」と若干なめていたのですが、内部の実装を掴むのはそれは大変(※)でした。・「Rtoaster」の機能がかなり充実している・そのため、コードの行数が多い・パフォーマンスを追求するため、内部で「頑張っている」部分もあるため、やむを得ない部分もあるのですが、別の原因として、ソースコードをいきなり眺めるだけで理解しようとしたのがまずかったと思っています。マニュアルや社内文章で「その機能で、何をしたいのか」を把握してから読む、シーケンス図などのUML図で全体像を可視化して把握するなどを行うようにして、理解の速さが少し向上しました。読むだけではなくちゃんと開発も行っています。特定のお客様用のデータを取り込みプログラム(いわゆるETL)を書いたり、既存機能をクラウドストレージを使用するように変更するなどです。ETLの業務の一環では、先輩社員とお客様を訪問し、コミュニケーションスキルを勉強させていただいています。コンサルタントの社員の持つ、お客様のやりたいことと、弊社のプロダクトができることを、柔軟に読み替えできるスキルは見習いたいところです。Azure、ベアメタルサーバー、オンプレミス(実機)といった様々なインフラ環境を利用しています。私も、社内で運用するサーバーの構築を行っています。開発環境として第二の人生を送るため、そのセットアップを私に任せてもらいました。年収数年分の重みを感じつつ、OSのインストールやRAIDの構築、また、Jenkinsなどの開発ツールのインストールを行っています。社内の開発環境には、いろいろな機能が詰め込まれている&普段触らないサービスも多いので、移行作業はやりがいに満ちあふれていますし、クラウド全盛のご時世に、このような実機に触る機会があるのは貴重な経験だと思っています。社会人一年目は、初めてのことばかりで不安になる時もあります。当社にはそんな不安を助けてくれるメンター制度があり、近い部署や年齢が近い先輩社員がメンター(指導役)となり、メンターとメンティ(指導される方)の食事代を会社が補助してくれます。最近の技術トレンド、社内制度、美味しいお昼ごはん・晩ごはんなど、業務に関係すること・しないこと、多くのアドバイスをいただいています。(写真は、優しいメンターから、役に立つアドバイスを頂いている様子です。)メンター制度の他にも、先ほどご紹介した「肉会」や、部署の先輩とのランチ(ウェルカムランチ)、クラブ活動といった制度があり、会社に早く馴染めるような仕組みとなっています。開発部の新卒にはジョブローテーションがあり、部内のグループ(主にプロダクト単位)を移り渡ります。私はまだ二つ目のグループですが、製品の性質による開発活動の違いや、構成メンバーによるチームの雰囲気の違いを知ることができるほか、いろいろな人と関わることができて、大変勉強になります。まとめ今回は、ブレインパッドの新卒エンジニアの入社一年目について、ご紹介しました。いかがでしたでしょうか?・弊社が分析「だけ」の会社ではなく、エンジニア(や、もちろん営業やコンサルタントやバックオフィス)もいること・新卒エンジニアが入社後、どんな一年を送るかを、少しでも感じていただければ幸いです。ちなみに、私の入社前のイメージと、入社後の実際は下のような感じです。■入社後*(配属後含め)意外と研修の時間がある*泥臭い仕事(サーバーのセットアップなど)も結構ある*ちゃんとフレックスしてる*土日はちゃんと休める最後となりましたが、弊社では、開発エンジニアを積極的に募集しています。採用ページスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。