ブレインパッドに新卒入社したデータサイエンティストの1年間を振り返る

2020年4月に新卒社員の皆さんが入社されてから、あっという間に1年が経ちました。
新卒データサイエンティストとして昨年入社した社員が、入社初年度の出来事・経験をご紹介します。
先日入社した今年の新卒社員の皆さんにもぜひ読んでほしいブログです!
f:id:brainpad-inc:20210405101950j:plain


こんにちは。アナリティクスサービス部の羽鳥です。

私は新卒2年目のデータサイエンティストで、現在は主に小売業の売上予測システムの構築に携わっています。

私が携わっている別のプロジェクトが事例として紹介されていますので、よければこちらの記事もご覧ください!
ai.brainpad.co.jp


本ブログでは、ブレインパッド新卒データサイエンティストとして入社から1年が経ち、この期間で得られた経験をご紹介したいと思います。

入社初年度の1年間を振り返る

新卒研修期間(2020年4月~6月):業務で活かせる実践的な内容をみっちりと

新卒社員が各部署に配属されるのは7月以降で、4月からの3カ月間は全職種合同・新卒全員で研修を受講します。2020年度は新型コロナウイルスの影響により、基本的にはリモートで研修が行われたというのが最大の特色だったかなと思います。

※ 元々オフラインで実施予定だった研修をオンラインで実施できるよう、急遽会社側が対応してくれました。以下に新卒研修についてまとめられた記事があるので、よければこちらの記事もご覧ください。(https://blog.brainpad.co.jp/entry/2020/08/07/101657)

また、ブレインパッドには、本来は社員のみが閲覧できる社内向けの資料やブログなどのコンテンツを公開するOpenBrainPadというプロジェクトがあります。その中で、新卒研修の資料も一部公開していますので、こちらもぜひご覧ください(https://twitter.com/Open_BrainPad)。

研修カリキュラムを紹介

私たち2020年度新卒社員は、下表のようなカリキュラムで配属前の研修を受講しました。
f:id:brainpad-inc:20210330103400p:plain

【自社理解】→【ビジネス基礎】→【エンジニアリング】→【データサイエンス】→【ミニプロジェクト】という流れで研修が進みます。全ての研修が作りこまれていて、しかもこの研修はほぼすべて内製なので、ブレインパッドで働く上でのマインドや振る舞い、基礎的な技術知識を学習することができました。

例えば、【データサイエンス】の中の分析演習では、各人がデータ受領 → データ確認・基礎集計 → データマート作成(前処理)→ モデリング → 評価などのKaggle likeなフローを体験しました。ちなみに、研修用に先輩が作成してくださったLeaderboardを活用しているためKaggleのようなコンペ形式でモチベーションが上がりました!

実務で役に立つという視点で振り返ると、Git研修は非常に役立っています。チーム作業を進める上で、Gitでのコード管理は必須なので研修段階で学べたことは良かったです。

Gitの新卒研修資料は、「OpenBrainPad Project」で紹介されています。https://speakerdeck.com/brainpadpr/git-hands-on

Phase3:ミニプロジェクト
研修最後の1カ月は、これまで学んできたことを活かして仮想的なプロジェクトを体験する「ミニプロジェクト」を行います。
今期の研修では、「B to B」「B to C」などビジネスモデルが異なるクライアント役が設定されていて、各自で設定を選択することができました。実際にクライアント役へのヒアリングから始めて、データを受領し、テーブル定義の確認や分析に耐えうるデータなのかを検証し、分析方針をクライアント役の社員の方に提案して議論を進めていくという本当の案件さながらの体験ができます。実際の案件では、顧客のビジネスを理解して課題を解決するための分析設計をすることが重要で、単純に機械学習モデルを使える形に落とし込むだけではないと改めて実感したのを覚えています。

ミニプロジェクトで得た経験は、現在の担当しているプロジェクトにも活きています。
現在携わっている売上予測システムの構築プロジェクトは、時系列予測タスクなので予測精度の良いモデルを作成することはとても重要です。しかし、精度の良いモデルを作成するだけではビジネス活用することが難しいことも現実問題としてあります。そのため、クライアントの業務要件に配慮した使いやすいアウトプットの作成、そして活用方法のサポートなどが大切で、その点を考慮しながら議論、実装を進めることを意識しています。

Kaggleにも参加しました

ブレインパッドは、やりたいことを相談すると大抵のことは否定されず、実施できる環境です。それは研修期間であっても変わりません。私は研修期間中の身ではあったもののKaggleのコンペに参加したかったので、社内の計算環境を使用できないか相談したところ承諾していただけました。そして、最初は一人でコンペに参加していましたが先輩が同じコンペに参加していることを知り、コンペの途中から先輩社員とチームを組ませてもらいました。先輩方とコンペの進め方を議論したり、Githubでのコードを共有することでコーディングのアドバイスをいただけて、勉強になることが多かったです。結果として、銀メダルを2枚とることができてKaggle Expertになりました。
Kaggleに取り組むことで分析時の手札を増やすことができ、自分では全く思いつかない素晴らしい手法も学べるのでこれからも参加していきたいと思っています。オンラインでの研修であったため、通勤時間や移動などの時間がないため、その分の時間を作業時間として捻出することができたのは、リモートの良い側面でした。

※ 当社はKaggle活動も行っていて、現行のコンペに参加するだけでなく、過去コンペの知見を共有するなどの活動も行っています。

アナリティクスサービス部に配属後(2020年7月~):先輩から知識・ノウハウをみっちり伝授

データサイエンティストは基本的にアナリティクスサービス部に配属されます。どの部署に配属されるかは6月の後半に上長との1on1で相談します。そして、7月から各部署に配属され、OJT期間が始まります。

OJT:頼れる先輩の元で、ついに案件に参加

OJT期間は、案件にアサインされ、集計やモデル作成、ドキュメント作成、顧客折衝などを先輩社員のサポートの元で実施します。案件といっても非常駐プロジェクト、常駐プロジェクト、社内研究プロジェクトなど様々で、どの案件にアサインされるかは上長と相談して決めます。私は非常駐プロジェクトにアサインされましたが、同期には常駐プロジェクトや社内研究プロジェクトにアサインされた人もいました。

アサイン後は、案件のキャッチアップから始まります。短期間で新しいタスクを頼まれても問題の無い状態までサポートしていただきました。
実際にコードを書く際には社内分析環境の使い方、Dockerでの分析環境構築、プルリクエストをWIPで出す、タスクをチケット管理するなどの基礎的な作業の進め方を教えていただきました。
また、効率的な進め方として先輩の作業環境を見せていただき、tmuxを使ってバックグラウンドで実験を回しつつhtopでメモリを確認して空きメモリで別作業を行うことやエディターのカスタマイズ、ターミナル環境など色々と作業効率を上げる方法を教えていただきました。

コードレビューではpep8に準拠しているかなどの基本的なことからわかりやすい変数名、処理速度と可読性のトレードオフ、実験のconfig設計、システム化を考慮して入出力の部分を疎結合するなど非常に多くの視点でデータサイエンティスト、エンジニアの先輩方から指導していただきました。

先輩から学んだ技術面以外のことで今でも継続して心掛けていることの一つに、ドキュメント化があります。作業の属人化を回避するためにタスク内容や分析方法、分析結果をドキュメント化しメンバーに共有することが大切だと感じています。メンバーの作業内容がドキュメントとして残り続けることで、分析の議論をそのドキュメントを基に行うことができたり、いつでも過去の分析結果を参照することもできます。プロジェクトを進めていく上で、作業を属人化させない状態にしておくことは重要なことの1つだと考えているのでこれからも継続してドキュメント化したいと思っています。

新卒として仕事を始めた当初はどの程度のタスクが渡されるのか不安に思っていましたが、各人の能力や工数はPM(プロジェクト・マネージャー)が管理しているので、メンバーは安心して作業に集中することができます。特に新卒は想定していた以上に様々な配慮をしてもらえるため、分析業務を経験したことがない方でも安心して取り組める環境だと思います。

特に以下が、作業する上での心理的安全性を高めてくれていたと感じています。

常にリモートMTG等で相談できる環境
仕事を進めるうえで、作業内容や社内ルールなどの様々なことで疑問点が発生すると思います。出社していればすぐに先輩に確認を取ることができると思いますが、リモート環境では毎回先輩の時間をカレンダーで確保する必要があります。
そこで、リモートMTGまでの導線を短くするために社内チャットのアナウンス部分(以下、画像参照)にオンラインミーティングのリンクを添付しておき、常にリモートMTGができる環境を整えてもらいました。15分悩んでもわからないことがあればすぐにリモートMTGを設定して相談できる環境だったのは、心理的安全性も高く自己成長面でも良い環境でした。
f:id:bp-writer:20210316104213p:plain

新卒勉強会:ベースとなる知識のインプットもしっかりと

OJT期間と同時に、新卒勉強会が始まります。
新卒勉強会では、データサイエンティスト、機械学習エンジニアが複数のグループにわかれ、毎日の業務時間のうち1時間を勉強時間として取り、計6冊の書籍をみんなで読みます。
この勉強会は、データサイエンティストとして業務を行ううえでベースとなる知識の共通化を目的として毎年実施している取り組みで、基礎的な数学から始まり、統計学、機械学習、時系列分析、最適化といった分野の書籍を1年程かけて精読します。勉強を進めていく上で疑問点が出てくるため、先輩社員がグループ単位で週次ミーティングを実施し、質問できる環境を作ってくれます。また、週次で解決できない問題は全グループが集まる月次の新卒勉強会ミーティングで解決します。このように、業務時間内に統計知識を学ぶ時間が与えられていて疑問点を解決するための仕組みも整えられているので非常に良い環境で勉強することができます。

新卒勉強会で扱っている書籍

  • 統計学のための数学入門30講-科学のことばとしての数学(朝倉書店)
  • 統計学入門-基礎統計学Ⅰ(東京大学出版会)
  • 統計モデルと推測-データサイエンス入門シリーズ(講談社)
  • はじめてのパターン認識(森北出版)
  • 実証のための計量時系列分析(有斐閣)
  • 最適化手法入門-データサイエンス入門シリーズ(講談社)
有償稼働:ついにクライアント企業の案件にアサイン

有償稼働はOJTを3カ月~6カ月実施した後、案件の状況などを加味して決まります。私は案件が次Phaseに移るタイミングがちょうどOJT配属から3カ月だったため、そこから有償稼働が始まりました。
有償稼働になると、本格的に分析業務が割り振られます。また、作業者としての役割だけではなく、少しずつ「自分だったらどのように設計するのか」など考えることが求められるようになっていきます。実際に自分が提案した方法が通ることもあれば、先輩からフィードバックをもらって修正することもあり、分析設計の難しさを感じました。

現在携わっている売上予測システムの構築プロジェクトはPoCのみで終わらず、実際にシステム化する段階まで進むことができたため、今はデータサイエンティストとしてシステム構築に関わっています。
当社は分析がメインの会社だと思われている側面もあるとは思いますが、優秀なエンジニアの方も多く在籍されています。現在のフェーズでは、データサイエンティストとエンジニアが組んで案件を進めています。そこで、「システム化する際、どのようなクラウドサービスを採用するのか」「時系列タスクにおけるMLOpsを考慮したシステム化をするにはどのような設計にしたら良いのか?」など、データサイエンティスト側の意見とエンジニア側の意見をすり合わせつつ議論を進めています。

データサイエンティスト側のシステム化の際の役割として分析を試行錯誤しやすい環境とはどのようなものなのか、ジョブのI/Oの設計、どのような順番、頻度で特定のジョブが回る想定なのか、予測精度を保つための仕組み作り、精度がでないような予測対象をどのようにして事前にキャッチするのかなど、様々な業務に適用させるための要件を定めていきます。もちろん、MLOpsの事例をキャッチアップすることも重要で社内の別プロジェクトの知見、主要な学会の論文や企業の実例、クラウドサービスのMLOpsの仕組みなど世の中に公開されている情報を整理することも必要となってきます。このように、受託分析サービスを提供する企業のデータデータサイエンティストでもシステム化に関わっていくことができるのも弊社の魅力の一つだと思います。

ブレインパッドに入社して良かったこと

ブレインパッドに入社して実際に過ごしていく中で良いと感じた部分を人、環境、制度に分けてまとめます。

人:様々な専門性を持った人が、それぞれを尊重している点が魅力

私が就活をしているときの軸の一つとして、多様性がありました。ここで言う多様性とは、自分とは異なるバックグラウンド、考え方を持つことを言います。私のバックグラウンドは機械学習のため、同じ機械学習を学んだ人とは仕事はしやすいかもしれませんが、全く異なる知識を得る機会は少ないと思います。

ブレインパッドには、数学、統計学、生物、物理、医学、経済学、情報工学、他にも多くの異なる学問を専攻していた人がいて、それぞれの専門性を生かした分析のドキュメントを社内で共有してくださるので非常に勉強になっています。
先輩社員のおかげで社内の知見共有が推進されていて、様々な業界のプロジェクトの知見や、最新手法のまとめ、流行りのライブラリの使用感など様々な情報が共有されているところも魅力の一つです。様々な業界のプロジェクトの知見を得られるのは受託分析サービスを提供している企業ならではの特色だと思います。そして、皆さん勉強することが習慣化されているため、社内でも有志の勉強会が多数開催されています。

同期は、様々な学問の学士、修士、博士がいて、学んできた分野も年齢も異なりますが、全員が専門性を持っていて優秀であり、さらにそれぞれの専門性を尊重できる人が多いと思っています。

環境:働きやすい環境です

コアタイムが11時~16時のフレックスタイム制を採用しているため、勤務時間の自由度は高いです。リモート環境でしたのであまり経験していませんが、満員電車はできれば避けたいですよね(笑)

服装はクライアント先に往訪、リモート会議をするとき以外は、基本的に自由なところも魅力的です。

制度:面白い、役立つ制度がたくさん

メンター制度:OJT以外でも先輩に相談しやすい環境があります

新卒だと学生時代とは環境が変わって不安に思うことが多いと思います。
メンター制度は、1年間各人にメンターがついて、月に1度ランチを食べながら業務やプライベートのことなど何でも相談できる制度です。私は特に業務上の悩みはなかったので先輩社員と楽しく会話をしながら、白金台の美味しいランチをいただきました。

肉会:他部署の人とコミュニケーションをとる良い機会

案件にアサインされると、自分と関わる人が案件関係者のみとなるなど限定的になってきます。他部署の方とも関わりが持てるように、社員マッチングアルゴリズムに基づき3名選ばれ、隔週でランチ or ディナーに行ける機会が設けられています。メンター制度よりも予算が多く、まれに予算が2倍に設定された肉会に当たることもあります!

BOOK-AID / SKILL UP-AID:自己成長を支援してもらえる制度

どちらの制度も書籍を購入できる点は共通なのですが、BOOK-AIDは読み終わった書籍は会社の本棚で共有されます。SKILL UP-AIDは年間12万円まで研修受講、書籍、有料論文、資格試験、学会参加など個人のスキルを向上させるために利用することができる制度です。私も多くの書籍を購入し、業務で必要な知識や身に着けたいスキルのキャッチアップをしています。

結び

今回は、ブレインパッドの新卒データサイエンティストの入社1年目についてご紹介しました。いかがでしたでしょうか?

ブレインパッドに入社した新卒データサイエンティストが、入社後どのような1年を送るのかについての、1つの事例として参考になれば幸いです。

最後となりましたが、当社では、データサイエンティストを積極的に募集しています。
新卒採用・キャリア採用ともに、ご応募をお待ちしています!

http://www.brainpad.co.jp/recruit/