FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

新卒でデータチームにJOINして1年が経ったお話

こんにちは。新卒2年目の山上です。
データチームにJOINしてちょうど1年が経ったので、この1年間について書いてみたいと思います。

私がデータチームを志望したのは3つの理由からです。

  • できる同期に埋もれていたので、何か強みが欲しい、、!と思ったから
  • BIやAIなどの裏側にはデータ分野は欠かせなく、とてもホットな分野だから
  • 漠然とネット広告にがっつり関わりたい気持ちがあったから

現時点で強みにはまだまだできていないですが、ホットな分野でがっつりネット広告に関われて充実した毎日を過ごさせていただいております👏

データチームについて

私が所属しているデータチームについて簡単に紹介します。
まず、データチームでは

  • 広告配信実績データ
  • 行動ログデータ
  • 顧客管理データ

などのデータを扱っており

  • BI, レポート, 分析
  • 広告運用効率化
  • AI, 機械学習

などに活用されています。

また、私がチームにJOINした昨年の7月時点ではエンジニア5人のチームでしたが現在は13人に増え、昨年の10月頃からデータチーム内で主に2つの役割でチームを分けて活動しています。

データチームの説明

上記図のようにチームは分かれていますが、

  • チーム横断でレビュー
  • 一時的にリソースが足りない時は、業務をもう一つのチームにタスクを巻き取ってもらう

など、同じ領域を担当しているチームだからこそ臨機応変に対応できる部分がたくさんあり、協力しながら業務を行っています。

やったこと

私はDataFeatureチームに所属していて、この1年間大きく分けて2つの業務にコミットしました。

  1. データベースにデータを格納するETLパイプラインの開発
  2. データの格納状況を可視化するシステムの開発 (Scala

今回は業務内容について詳しくは書きませんが、自分が思っていた以上にいろんな技術を触らせてもらえた1年間でした。
特に触ったサービスは下記です。

・Digdag, Embulk, Apache Spark
・Arm Treasure Data
・AWS(S3, terraform, RDS, ECS, DynamoDB)
・Scala, Play Framework

苦労したこと

ドメイン知識

データチームは開発するにあたり広告媒体知識が必要ですが、種類が多く触ったことがない広告媒体がほとんどで、MTGでも議論に参加するのが難しい話題も多いです。
DataFeatureチームは半数以上の人がチームに入って1年未満のため、下記のような指標値を決めてチームで星取表を作り基準値を下回る媒体に関しては、勉強会を開いてチーム内のドメイン知識の向上を図りました。

レベルの定義  
レベル1. 媒体知識・コードを全く知らない  
レベル2. 媒体の用語を知っている、マイクロサービス間のデータの流れを理解している  
レベル3. 一部のコードを理解している、他者のMRに対して変更箇所の正しさがわかる、またはコード編集したり、一部の要件定義・設計をしたことがある  
レベル4. 全コードの実装を理解している、他者のMRに対して未変更箇所への影響がわかり、修正漏れに気がつける  

また、個人的にSepteniJapanでコンサルをやっている同期に媒体知識を質問しまくったりしました。
本当にありがとう同期のみんな、、、!

コミュニケーション能力

今まで生きてきて、コミュニケーションは得意ではないが苦手でもないと思ってました。が、完全な過信でコミュケーション力の乏しさを痛感しました、しています、、
データチームはセプテーニ・オリジナル内だけではなく、グループの海外拠点の人たちともよくやりとりをします。
その中で、

  • 自分の伝えたいことが伝わらない
  • 伝わっているのかわからない
  • 相手が伝えたいことを完全に理解できない

など、やり取りさせてもらっている相手にはたくさん迷惑をかけてしまいました。
(私は英語もできないので全て日本語でやり取りさせてもらっていますが、海外の方も日本語がお上手なので非は完全に私にあります)

Tryとして、

  • 主語と述語と目的語を意識する
  • 認識齟齬が生まれないよう、都度確認をする

この2つは必ずするよう心掛けています。

また、提案してもらった案に関して「それが本当にベストプラクティスなのか?」を考えずに話を進めてしまったことがありました。
先輩は「素直すぎる」という柔らかい言葉で注意してくださいましたが、どう考えても責任感がなさすぎただけだったと思います。

Tryとして、

  • 提示された情報の正しさを、自分でも確かめる
  • 自分なりに積極的に提案を持ちかけるよう努力する

をできる限りするようにしています。
また、自分では解決できそうにない時は、すぐに先輩に頼るようにしています。

メンタルコントロール
新卒あるある?だと思うのですが(私は特に)、新しい環境ってしんどいし、できることがないのもしんどいし、とにかく毎日がしんどいです。中1の時も高1の時もバイト始めた時も経験したやつ、、、
毎日がとにかく反省しかないのですが、高校の時の部活の顧問に教えてもらった、
1つ以上褒めてから良くないところを反省する
を実践することによって、「XXとXXとXXは確かに良くなかったけど、○○は今日頑張ったし〜」って気分になれるのでおすすめです。
褒めポイント探すのってすごい難しいんですが

とか、

とにかくなんでもいいからポジなことを探しまくったら一つくらいはあったりします、、、🤗

最後に

大反省ブログみたいになってしまいましたが、この一年間の間にできるようになってことは少なからずあって、質問したらすぐに答えてくれる先輩がいて、裁量を持ってやらせていただける環境にとても感謝しています。
今後は

  • メンタルを強化する
  • チーム内での存在意義を見出す

あとは技術ブログにもかかわらず技術要素0なブログを書いてしまったので

  • 技術ブログをかけるくらいの技術を身につける

も追加して、この3つを目標にデータチーム2年目を頑張っていきたいです。
また、先日JOINしたBN*1の教育を立候補してやらせてもらえることになりました、、!
至らない点ばかりで申し訳ない気持ちもいっぱいですが、一緒に成長するぞ〜!って気持ちでやっています!
お互いチームの戦力になれるように頑張って行きたいです。
データチームのみなさん、セプテーニ・オリジナルのみなさん今後ともよろしくお願い致します!

*1:セプテーニでは新卒のことをBNと呼びます