この記事でわかること
・ メガベンチャーの1年目のバックエンドエンジニアとして、4月~6月にやった全てのタスク
・ とある1日の仕事のながれ
・ 上長、メンターから評価していただいたこと
はじめに
初めましての方ははじめまして!! お知り合いの方はこんにちは!!
ファッション関係のメガベンチャー企業でバックエンドエンジニアをしている れいれい(@reirei-anpan)です 💁♂️
ふと思いました... 学生のときに漠然とメガベンチャーにいきたい!!とはおもってたけど、メガベンチャーの新卒1年目のエンジニアってどんなことしてるんだ?? と思っていたな~と。
そして、僕はイメージがもてないまま就職活動にのぞみました。もしあのとき新卒1年目のエンジニアがどんな仕事やタスクをやっているのか知っていればもっと就活しやすかったのではないかと思いました...
そこで、新卒2年目に突入した僕が当時の僕と同じ疑問をもっている方に向けて、すこしでも参考になればと思い新卒1年目の4月~7月にやっていたことを記事にしてみました!!
1日の働き方やタスクレベルでどんなことをやっていたのか、そして上長から評価された動きをこれ以上ないくらい赤裸々に書いていくので少しでも参考になれば嬉しいです🫡
いいね!! もまってます👏
チームについて3行で紹介
- 主に検索に関わるAPIを開発、また様々なAPIを扱っているので、それらのAPIを呼び出すためのAPIも開発している
- チームの構成は正社員メンバーは5人 + 業務委託の方数名
- Java / Spring Boot, Elasticsearch, Datadog をよく触ってる
よく使っているツール
- JIRA Software (タスク管理)
- Confluence (ドキュメント作成)
- IntelliJ IDEA (統合開発環境)
- Swagger (API開発者向けのツール)
- SonarCloud (コード解析ツール)
- GitHub (ソースコード管理)
- Docker (仮想環境)
- Elasticsearch (全文検索エンジン)
- Datadog (サーバー監視&分析サービス)
- Azure Data Studio (sqlクライアント)
新卒1年目の4月~6月にやったことを簡単に紹介
4月~6月も含めて書いていると膨大な量になるので簡単にだけ紹介しようと思います!!
- 4月
- 入社式
- 部署説明やマナー講座
- チーム開発研修(要件定義, 環境構築, 実装, デモ動画作成, 全社員へプレゼン)
- 5月
- チーム配属
- 配属先チームで研修(APIに機能追加, SQL)
- 3つくらいのAPIの環境構築
- 上長, メンターと1on1 毎日
- 6月
- 検索に関わるAPIのエンドポイントを1つ開発(OpenAPI定義, Mock作成, 実装, テスト)
- 上長, メンターと1on1 週1回
- 前期目標作成開始
ものすごく簡単にですがこんな事やってました 🙆♂️
7月にやったことを赤裸々に紹介
開発業務
"検索に関わるAPI の開発編"
- 検索に関わるAPIのエンドポイントに実装した機能の並列化
- 6月の段階で、自分が担当したエンドポイントの2つの機能実装(OpenAPI定義, Mock作成, 実装)が完了していたのでそれらを並列化するタスクです。
- 2つの機能については詳細は公開できないのですが、1つ目が"商品に関わる件数を取得する機能", 2つ目が"性別に関わる件数を取得する機能"です!!
- 並列化は経験がなかったのでめちゃくちゃたいへんでした... ここだけで1週間以上実装にかかってます
- 並列化した機能の単体テスト
- "JUnit"を使って単体テストを書いていきました
- 単体テストは"SonarCloud"を使用して自分が実装した箇所のテストカバー率が100%になるようにしていきます
- ちなみにですが、JUnitもここではじめましてでした...単体テストの完了も1週間程度かかってます
- "商品に関わる件数を取得する機能"にバグが見つかり改修
- 正しい件数を取得できない実装になっていたので修正しました
- 本番リリース前に気がつけてよかったです... 当時は震えてました...
- 並列化した機能のリクエスト, レスポンスをスプレッドシートに記録していく
- 実際に開発したAPIのエンドポイントにリクエストをお送り、返ってきたレスポンスをスプレッドシートに記入していきました。たくさんのパターンがありますが1つ1つ丁寧にやっていきました
- リクエストを送る時のパラメーターが1つ不必要になったため改修
- 自分の担当したエンドポイントにリクエストする際のパラメーターが不必要になったため改修しました
"ここで検索に関わるAPIの開発は終了"
"検索に関わるAPIを呼び出すための、呼び出し用のAPI 開発編"
- 呼び出し用のAPIの環境構築
- はじめて呼び出し用のAPIを触るので、まずは環境構築です!!
- 呼び出し用のAPIのOpen API定義とMock作成
- yamlファイルに定義を記述したのち、定義がうまくいっていることを確認するために固定値を返すMockを作成しました
- 呼び出し用のAPIから検索に関わるAPIを呼び出す実装
- もともとあった機能に、検索に関わるAPIに自分で実装した"性別に関わる件数を取得する機能"を組み込むような実装をおこないました
- ここが7月で一番大変だった気がしていて、2週間くらいかかってます...
- dev環境のデータべースに接続するために設定
- dev環境にはRDS for SQL Serverを使用しているのでこれにつなぐために設定を行いました
- 自分が実装した部分の単体テスト
- "Spock"を使って単体テストを書いていきました
- 呼び出し用のAPIでは"Spock"を使用しており、"検索に関わるAPI"では"JUnit"を使ってます!!
開発以外の業務
- チームの朝会の司会
- 月, 水, 金で朝会をやっていて、月曜日の司会を担当させていただいてます!!
- QA(Quality Assurance)対応
- 他チームの方からバグ報告や調査依頼が来た時に対応するイメージです
- QA対応の1次受けを担当
- 他チームから連絡が来た際に1番に反応をして自分で解決できそうなら自分で解決し、難しそうであればタスク化してチームメンバーにお願いをするという形にレベルアップしました!!
- SQL研修資料の作成
- チームで使っていたSQL研修資料が古くなっていたため、既存の資料をアップデートし、新しくBigQueryで手軽に行えるSQL研修資料を作成し展開しました!!
- 前期目標の完成
- 6月~9月までの間の目標を立てました(これをもとに前期の評価がきまる大事なやつです)
- 内容について簡単に触れておくと、定量目標(数値で図れるもの)と定性目標(数値で評価できない目標のこと)をそれぞれ複数個立てました
- 月, 水, 金に一日30分~60分で AIZU ONLINE JUDGE(プログラミングコンテスト)の問題を解く
- メンターと話して"アルゴリズムとデータ構造"への知見を深めるとエンジニアとしてぐーんと成長できそうということでやりはじめました!!
- ちなみに"前期目標"の1つでもあります!!
- プログラム設計書の最新化
- 自分が実装した箇所のプログラム設計書の最新化をおこないました
- ディレクターと1on1
- あらためてチーム役割や中長期的なチームの方針を解説していただきました
- めちゃくちゃ雑談しました🥰
- チームについて困っていることや改善したいことはないかなどをきいてくださいました
- 僕は社会人になるまでディレクターが何をする役職なのかさっぱりだったのですが、チームリーダークラスのまとめ役がディレクターでした
イベント系
- 25卒の学生向けMeetupに参加
- パネルディスカッション形式で会社での働き方についてお話しました!!
- ブレイクアウトルームに分かれて学生さんたちの質問に答えさせていただきました!!
- 同期ランチ会の企画
- 仕事で近いことをやっている同期に連絡をとりランチ会を開催しました
- 前期目標はどんなものにしたのか、どんなタスクをやっているのか、雑談をしました!!
- チームメンバーの対面交流会の幹事
- チームメンバーの方が東京にくる機会があったのでオフラインで交流を深めようということで、人数確認、お店決め、予約等をさせていただいて楽しく交流会をしました!!
- マネジメント勉強会へ参加
- 全社的にやっているマネジメント勉強会に参加しました
- 僕はマネジメントされる立場ですがマネジメントする側がどのような視点でマネジメントしているのかを知りたかったため参加させていただきました!!
- 1on1をより有意義に活用していくための勉強会
- こちらも全社的にやっている1on1勉強会です
- 上長, メンターに毎週1on1で時間をいただいているため良い時間にしたいとおもい参加させていただきました!!
- Java勉強会へ参加
- 複数のチームが集まって月1回行っているJavaの勉強会です!!
定期的にやっていること
- MTG 毎日平均1時間30分
- 日にもよるのですが毎日平均1時間~1時間30分くらいミーティングをやっています
- 他チームに比べるとかなり少ない方だとおもいます
- 上長(チームリーダー), メンターと1on1 週1回
- 上長とは前期目標の内容を相談して毎週ブラッシュアップしてました
- メンターとはペアプロしてもらったり、APIの仕様でわからないことや実装で疑問におもったことをきいて疑問の解消の時間にしてもらってました
- チームでCoffeeチャット 週1回
- 弊社はフルリモートのためコミュニケーションを取る機会が自然と少なくなります!!なので週1回オンラインで集まって一緒に作業しております!!
- チームランチ会 週1回
- コミュニケーションを取る機会を増やすため、Google Meetを使用して、週1回一緒にランチをたべてます!!
- 新卒からするとチームの人とコミュニケーションとるってめっちゃ大事だし、楽しいことなのでありがたいです!!
- 日報を書く 毎日
- チームに配属されてからずっとやっていることなのですが毎日ブログバリの日報を書いています!!(文字数でいうと2500文字前後くらい)
- やってる理由としては上長, メンターへの作業の見える化, 勉強になったことのアウトプット, 翌日のタスクを整理するためにやっております!!
- 上長, メンターに今日やることを報告する 毎日(朝)
- 前日に日報で洗い出したタスクを毎朝報告し、どのくらいの時間でやるのかとステータスの変化をスレッドに共有しています(未着手, 着手, 完了等)
- やってる理由としては上長、メンターへの作業の見える化、時間を明確に伝えることで集中力の向上、単純にやってる感があって楽しいからです!!
とある1日の働き方を紹介
上長、メンターに評価されたこと
たくさん評価していただいたのですが中でも特に評価されたことを3つ書こうと思います!!
-
"主体的"に動けていて良い
- 自分からこのタスクをやってみたい、タスクをやっている時にこんな課題を感じたからこんな資料を作りたい、1on1の時に必ず話したいことを用意しているなど自分から提案したり、しっかり準備をしていることを評価していただくことができました!!
-
日報が良い
-
毎日2000字~3000字の日報を書いて上長、メンターに共有しています。その結果、作業の進捗が1日単位で把握できたり、詰まったりしているところもわかるため、安心できると評価していただけました!!
-
こんな見出して日報書いております👇(長いのでおりたたですます)
日報のテンプレート
業務内容と所感 ・午前 ・午後 よかった点(Keep) 改善したい点(Problem) 次回試すこと(Try) 今日学習したこと 今日の雑感 明日やること
-
-
質問のしかたが良い
-
上長やメンターに質問する際に最初に自分で言語化してから質問することを心がけています。その結果聞きたいことが明確になり、自分が試したことや課題の背景まできれいに伝えられるので答えやすいと評価していただけました!!
-
こんな言語化をして質問しています👇
質問のテンプレート
実現したいこと エラー内容 自分が試した内容と結果 原因だと思われそうな箇所 参考資料
-
最後に
ここまで呼んでいただきありがとうございました!!
新卒として入社して4月~7月までにやったことをまとめてみました!! "メガベンチャーの新卒エンジニアがどんな仕事をしているのか"が少しでも伝われば嬉しいです!!
もう少ししたら26卒の就活も本格的に始まっていると思います!!面接時に必ず聞かれるであろう"どんな仕事がしたいか??"に具体的に答えられるようなヒントになっていれば更にうれしいです!!
では、また別の記事でお会いしましょ~~、バイバイ👋