every Tech Blog

株式会社エブリーのTech Blogです。

エブリーでの新卒1年目を振り返る

はじめに

こんにちは、開発本部のデータ&AIチームの24新卒の蜜澤です。
エブリーに入社してからもうすぐ1年が経つので、この1年間を振り返りたいと思います。
文字ばかりのポエムですが最後まで読んでいただけると嬉しいです!

入社前

まず、入社する前の私の状況について触れたいと思います。
大学ではデータサイエンス学部に所属しており、主に統計学・機械学習について学んでいました。
いわゆるコンピューターサイエンスのようなことは学んだことはなく、Webやアプリの開発経験もなく、触れたことがある言語はR・Pythonの2つのみで、データサイエンティストにとって必須とも言えるSQLも触れたことがありませんでした。
大学院には行かずに学部卒でエブリーに入社しました。

インターン

大学4年生の8月に3週間ほどと2~3月に内定者インターンをしました。
前述の通りSQLは全く触れたことがなかったので、8月のインターンでキャッチアップし、基本的なクエリは書けるようになりました。
インターン中はデリッシュキッチンのデータ分析やレシピレコメンドを行いました。

入社後1~2週間

入社1週目は全体研修を受け、2週目は今年度から新設されたエンジニア新卒研修を受けました。
エンジニア新卒研修の1週間が間違いなく今年1番大変な1週間だったと思います(笑)
この研修では、エンジニアとしてのマインド研修と、バックエンド、インフラ、モバイル、Web、データについて講義とハンズオンがある研修を受けました。
前述の通り、エンジニアとしての基礎素養すらない状態だったので、

  • バックエンドとインフラ何が違うの?
  • EC2?何それ美味しいの?
  • <>なんすかこれ?htmlタグ、、?知らんな〜

というような状況で、今思うとあまりにも無知すぎると思いますが、研修担当者はこんな状態の奴がいるなんて想定はしていないので、研修では

  • EC2立ててみよう
  • Webの画面作成してみよう
  • 画面遷移できるようにしてみよう

などの未知との遭遇のような研修内容で、泣きそうになりながら毎日研修を頑張りました!
研修後に同期に教えてもらいながら、なんとか研修の内容を消化していったのは今では良い思い出です!

4月後半~5月

エンジニア新卒研修を終えて、4月の後半からは部署での業務が始まりました。
この時期に取り組んだことは

  • デリッシュキッチンのユーザーのデータ分析
  • Amazon QuickSightの検証
  • aws研修や外部研修といった短期の研修

の3つになります。

データ分析は、行ったこと自体はレシピのお気に入り追加に関する簡単な分析でしたが、データがどこにあるのかや、どのようにデータ分析を行うのかといった基本的なことを学べました。

Amazon QuickSight(以下quicksight)を使用して、レシピデータ分析の汎用BIツールの開発を行いました。quicksightは社内での使用実績がなかったので、一通り触ってみて、何ができて何ができないのかなどの検証から始めました。
社内で使用したことがある人が誰もいなかったので、自分が社内で1番quicksightに詳しくなってやるという気持ちで毎日quicksightと格闘しました。
1ヶ月ほどquicksightの検証をしていたら、だんだんと慣れてきて、色々なことができるようになりました。

tech.every.tv
tech.every.tv

6~8月

徐々に裁量が大きくなってきたなと思う時期です。

  • 要件を満たすようなビジュアルをquicksightで作成する
  • 必要な中間テーブルを作成する

主に取り組んだことは上記の2つになります。

要件通りのビジュアルをquicksightで作成するというのが、この時期の一番のミッションでした。
quicksightの仕様を完璧に理解せずに、検証のためにクエリを叩きまくり、予算を超えたコストをかけてしまい注意されることもありました。
が、この経験のおかげで、早期からコストを意識した開発ができるようになったと思います!
様々な制約(実行時間やコストなど)の中で、要件を満たすために、中間テーブルの作成を検討し、ETLを組んで必要なテーブルを用意するということもできるようになりました。
必要なデータを自分で準備し、可視化の方法を考え誤解のないようなビジュアルを作成するという、データサイエンティストの基礎能力を鍛えることができた期間でした。

9~12月

この1年の山場の期間でした!

  • Web開発

主に取り組んだのはWeb開発です。
私の所属はあくまでデータ&AIであり、本来ならばWeb開発はスコープ外とはなりますが、若いうちに色々な経験を積んだ方が良いという上司のアドバイスがあり、私自身も挑戦できる環境があるなら色々なことに挑戦したいと思っていたので、Web開発に挑戦しました。

htmlもcssもコンポーネントという概念も何も知らない状態だったので、初めに作成したものはベタ書きばかりのクソデカコンポーネントで、それを見た同期や上司のなんとも言えない表情は今でも覚えています(笑)
そんな状態でしたが、同期のサポートを受けながら、毎日ゴリゴリと開発を行った結果、アトミックデザインの理解、reactの状態の理解、figmaを元にcssでデザインを作成など基本的なフロントエンド開発ができるようになりました!
htmlすら知らなかった状態に比べたらかなり成長できたなと思います!
フロントエンドの実装を知ることで、データのことのみを考えた実装ではなく、その後のwebのことまで考えた設計ができるようになりました。
ただ、バックエンドやインフラまでは手がまわせなかったので、今後の課題として残ります。

また、PDMやデザイナーとすり合わせを行いながら、チームで開発をしていくことの難しさも学ぶことができました。
各ポジションごとに譲れない部分があり、どこに落とし所を持っていくのが良いのかをエンジニアの視点で考えながら、ディスカッションをするのはとても難しく頭を悩ませる日々でした。
開発を進めていくうちに、適切なすり合わせタイミングや伝え方がわかってきて、大きな手戻りをせずに開発ができるようになっていきました。

1~3月

自分の甘さを実感した期間です。

  • バグ対応
  • quicksightでのビジュアル作成

この2つが主に取り組んだことです。
なんといっても、自分が作成したETLが原因でバグが起きてしまい、その対応をし、根本対応策を考えるというのが、1番大きなタスクでした。
バグが起きたことで、自分の設計の甘さを実感するとともに、再発防止策を考えるのはとても学びになりました。
また、データ関連のバグの原因調査をどのように進めていけば、早期に原因を発見できるのかも学べました。

まとめ

1年を振り返ってみて、エンジニア素養ほぼ0の状態から、ETL作成やフロントエンド開発ができるようになったということでかなり成長できた1年ではないかと思います!
毎日の成長は微々たるものでしたが、改めて1年を振り返ってみたことで、毎日コツコツ積み重ねることの偉大さを実感できました。
とはいえ、1カ月後には優秀な新卒社員がたくさん入社してくるので、負けじとさらなる成長をとげるように日々精進していきたいと思います!