新卒エンジニアが入社してから経験したことを振り返った

こんにちは、2021年に新卒で入社したエンジニアの岸田(@mwudo)です。

入社してからあっという間に月日が流れる中で、振り返ってみると色々なことを経験していたので、配属されて半年が経った頃に社内のLT会で発表しました。

せっかくなので、その内容についてまとめようと思います。

自己紹介

大学、大学院ともに情報系の学科に進学して、コンピュータ・サイエンスと呼ばれる内容については幅広く勉強しました。研究では車両が様々な機器と通信する技術のV2X通信に関わる内容を行っていました。

もちろんアプリケーションの開発も個人開発で行っていたり、インターンなどにも参加していました。

最近は、家の近くにたまたまあった、ボルダリングジムに毎週通い、壁に登っては落ちてを繰り返しています。

研修期間

入社して約2ヶ月間は、弊社以外のグループ会社の新卒との合同研修があります。内容は新卒の大半が営業よりの職種のため、弊社やグループ企業の事業領域であるインターネット広告についての座学がほとんどでした。座学の他にはグループワークもある感じです。

※ 早くコードを書きたくてウズウズしていたのはここだけの話

インターネット広告について

座学の一つであったインターネット広告については、Google や Yahoo!、Facebook などの広告媒体の特徴の紹介や、実際に広告を入稿する際の手順について学びました。

広告を入稿する作業は社内でいくらかは自動化されている部分もあって効率的に出来るようになったいましたが、それでも複雑な部分もあって大変でした。

大変だったという感情と同時に、このような作業で時間を奪われるよりも外部ツールなどを利用して、よりお客様の成果に直結するような業務に注力すべきだなと思い、弊社のプロダクトのATOMなどの価値について実感できました。

自主学習

研修の後半では、配属先の部署に割り当てられた時間があり、部署によっては書籍を読んで発表したり、同期のエンジニアは早速プロダクトの開発などやっていました。

自分の配属先の部署では、自由に時間を使っていいよということだったので、開発で使われる言語である Go の言語仕様を読んだり、記事などを読んだりして復習をしていました。

読むだけのインプットと並行して、Go の文法などを紹介する資料も作りながら理解を深めていました。

ただ、資料作りだけだと退屈になる時もあるので、合間にプロダクトのコードを読んで、気になる箇所があれば先輩に質問もしていました。

f:id:shinnosuke-K:20220130140424p:plain
資料を作ることを宣言した時

配属後

本配属がされてすぐにプロダクトの開発をしたわけではなく、まずは細かなタスクを消化しつつ、自主学習の時と同様にコードを読み進めていました。

細かなタスクを簡単に紹介すると

  1. CI に OpenAPI の Linter や脆弱性をチェックするツールの導入
  2. OpenAPI の定義を自動で反映させる

特に2番目のOpenAPI の定義を自動で反映させるについては以前ブログに書いてたので、興味ある方ご覧ください。

developer.so-tech.co.jp

細かいタスクを一通り終えたら、いよいよ本格的に開発業務入っていきました。

API の開発

OpenAPI の定義に沿って API を実装していきます。開発を始めた当初は比較的簡単な API を振っていただき、すでにあるコードを参考に実装を行っていきました。

API の実装とレビューなどが完了したら、フロント部分を開発している方が画面を通じて対象の API を叩いてもらい、不具合があれば、都度修正を行うサイクルを繰り返しています。

開発を繰り返すうちに、開発しているプロダクトのドメイン知識が分かるようなっている実感があります。

もちろん、実装方針などで悩むこともあるので、都度相談をして、開発内容についての認識をできるだけ揃えるように努力しています。

バッチ処理

広告媒体のデータを API を通じて定期的に取得する処理を実装しました。

具体的には必要な情報を取得するために媒体の API を調査した後、データを取得し、DBなどに保存する処理を実装していくことになります。

特に媒体の API を調査する時はドキュメントがほとんど英語の場合なのですが、広告で使われている単語の表現が日本語と英語で異なっている事があり、苦労したことがあります。

ただ、媒体の API を使った実装を早めにやったことで、今後の媒体追加時の対応で何をやれば良いかイメージが付きました。

バッチ処理を実装する以外にも、バッチ処理が実装されているリポジトリを始めて触るメンバー向けに、アーキテクチャやリポジトリ内で登場する単語について資料を使って説明なども行いました。

勉強会

グループ会社にもエンジニアやそれに親しい業務をしている方がいて、その方々との交流やアウトプットの意味も兼ねてオンライン勉強会を開きました。

勉強会の内容は、自主学習時に作成した資料を使って Go を紹介するものと、各プロダクトで使われている技術について紹介するものです。

最初は、ほそぼそとやろうと思っていたのが、色々な所で勉強会をやっていることを発信したら、興味を持ってくださる方もいて、勉強会の規模が想像以上のものになりました。

資格の勉強

AWS Certified Solutions Architect – Associate (通称:SAA) を取得しました。

AWS Certified Solutions Architect – Associate 認定

取得した理由は、インフラを用意することはSRE を担当しているエンジニアがいるのでないけれど、AWSのサービスを使う場面はあるので、サービスそれぞれの特徴を知っていることは今後のためにもなると考えたからです。

実際に勉強をしていく中で、触ったことがないサービスに対しての知識が深まり、触ったことがあるサービスはより細かい内容について理解することができました。

おわりに

改めて振り返ると、想像以上にいろいろなことをやっていたなということが分かりました。

逆に日々の業務の振る舞いと色々なことをやっているおかげで、チームの方々からは新卒1年目ではない事になっています(褒め言葉)

引き続き、プロダクトに貢献して今回紹介した内容以上の成果を出せるように精進していきます!