はじめに
本記事は、22卒1年目の成長シリーズ 14日目の記事です。
こんにちは。現在 ABEMA でバックエンドエンジニアをしている上田 (@peaceiris) と申します。
早いもので2022年4月に CyberAgent へ入社してからすでに1年が経過してしまいました。
この記事では CyberAgent に新卒入社してから1年間のバックエンドエンジニアの様子を、振り返りをしつつ紹介したいと思います。
一年間の流れ
CyberAgent に新卒入社してからの簡単な時系列が以下になります。
- 4月: 全職種合同研修
- 4月中旬以降: エンジニア全体研修
- 5月上旬: メディア事業部の全職種合同研修
- 5月中旬以降1ヶ月: ジョブローテーション1回目 CyberLDH
- 6月中旬以降1ヶ月: ジョブローテーション2回目 ABEMA
- 8~9月: ABEMA 配属とアカウント削除機能
- 9月~12月: 2022 FIFA World Cup Qatar
- 2023年1月: ABEMA 内でチーム異動
- 現在: 画像配信基盤の刷新
この記事ではジョブローテーション以降の話をします。
ジョブローテーション1回目 CyberLDH
エンジニア研修後はまず、配属先の事業部が決まります。私はメディア事業部配属となり、メディア事業部では配属先の子会社が決まる前に1ヶ月 x 2回のジョブローテーション期間がありました。
1回目のジョブローテーションで CyberLDH へ配属されました。
CL では初期の会員ランクやギフトの設計に携わらせていただき、これまでになかった設計の経験を積むことができた1ヶ月でした。
CL の開発チームは職種関係なく多くの人を巻き込み、より早く当てることでよりよい施策・設計にしていくチームで、仕様を詰める段階から施策に参加したのは初めてだったのですが、仕様策定の段階から関わることで当事者意識が高まり、リリースされた機能を想像してワクワクしながら、設計・開発ができていました。この時の人を巻き込んで設計していく経験は、今でも自らの糧となっています。
また、このときに「実際に行ってみなければ部署のことを知ることは難しい」という実感がありました。内定者バイト時代にもっと様々な事業を見ておくべきだったという後悔があるので、学生にはより多くの部署や事業部へ行ってみることを強くオススメします! CyberAgent にはそのための手段があるため、ぜひ活用してください!
ジョブローテーション2回目 ABEMA
2回目のジョブローテーションでは ABEMA に配属されました。
アプリケーションのバックエンドグループ(ホームやマイリスト、アカウント周りなどの API を開発するチーム)へ配属され、その中の課金周りを開発しているチームに所属しました。
タスクはマイクロサービスのモノリポ移行を担当し、モノリポ移行の先行事例を作ることができました。バックエンドグループでモノリポ移行を開始したばかりのタイミングで、移行ドキュメントには記載がない考慮点にいくつもぶつかり、調査や検証で非常に苦労した覚えがあります。ただその時にドキュメントや手順をしっかりと整備したおかげで、今では他のチームメイトが移行作業をスムーズに完了できるようになりました。徹底的なドキュメント化の重要性を実感し、これは今でも一番意識するようにしています。
ABEMA バックエンドチームのモノリポの話は以下にもあります。
独立に拡張するマイクロサービスと複数サービス管理の簡略化 【インターンシップ@ABEMA】 | CyberAgent Developers Blog
また、この期間に初めて CyberAgent Developers Blog に記事を投稿したりもしました。
GitHub Actions Workflow チェックリスト | CyberAgent Developers Blog
ABEMA 配属とアカウント削除機能
本配属が ABEMA に決まり、所属チームもそのまま課金チームとなりました。最初の施策として携わったものが「アカウント削除」でした。約1ヶ月半もの間、アカウント削除 API の新規開発の担当として、調査・設計・実装・リリースを担当しました。
この施策により ABEMA のキャッチアップをすることができ、技術的な経験も得て大幅に成長できた実感があります。今でも一番印象に残っている施策です。
自分のキャパシティを把握できたこと、仮実装の重要さを身にしみて実感できたことも収穫でした。当初、実装箇所の調査はしていたのですが、仮実装までしていないマイクロサービスがあり、考慮漏れが発覚したりして、手戻りが発生したり、想定よりも実装に時間が掛かったりしました。早め早めに現状共有をしてもっと人を巻き込むようにすればさらに上手く進行できたのではないかと今では思えます。
ABEMA では毎月末に「締め会」と呼ばれる会を実施しており、その月に成果を上げたメンバーを表彰するタイミングがあります。その中に「ベストルーキー」と呼ばれる、ビジ・テク・デザを合わせて一人が選出される枠があるのですが、ありがたいことに9月のベストルーキーに選んでいただきました。
このように新卒でも重要な施策を任せてくれる環境が ABEMA にはあります。
2022 FIFA World Cup Qatar
10月からは FIFA ワールドカップ カタール関連の開発に合流しました。ほぼ終盤での参加だったのでこちらもキャッチアップが難しかったことが強く印象に残っています。
cache 周りを徹底的に意識した API の実装をしたり、新設された単体負荷試験環境で負荷試験を実施したり、負債を解消したりなど、とても多くの技術的な学びを得た期間でした。このような大規模の配信では、技術の総力を集結する必要があり様々な分野で徹底した考慮がなされているのを目にすることができました。同時に自分がまだ未熟なことを痛感した期間でもあったので、今後も精進していきたいです。
この期間の話は CA.go や ABEMA Developer Conference でたくさんの発表がありましたのでぜひそちらを参照してください!
CyberAgent Developers – YouTube
チーム異動
年が明けて2023年からはアプリケーションのバックエンドグループへの所属はそのままに、課金チームから回遊チーム(ホーム面やマイリスト周りを担当しているチームです)へ異動しました。
負債を解消しつつ、施策もスピード感持って進めることができるチームとなれるよう、徹底的に改善しながら成長を続けることができているのではないかと思います。
現在は ABEMA における画像配信基盤の刷新を進めております。この話はまた次回どこかでしたいと思います。この施策の取り組みでインターン生が書いてくれた記事があるので下に載せておきます。
Hayabusa 移行に伴う画像合成処理の検証と実装 【インターンシップ@ABEMA】 | CyberAgent Developers Blog
まとめ
非常に多くの学び・成長があった1年にすることができたと思います。特に以下の点は今後も意識していきたいポイントです。
- より多くの人を巻き込む
- 完成していなくとも早めに当てることを意識する
- 先手、先手で動いて心配の芽は残らず摘んでゆく
- チームや将来の自分のためにドキュメントを残すことを徹底する
- 負債やトイルは積極的に解消していく
謝辞
この1年間は本当に多くの方にお世話になりました。今後はそれ以上に自分から返していきたいと思います。今後ともよろしくお願いします!
宣伝
堅牢な CI/CD を実現するための GitHub Actions workflow の方針を以下にまとめております。参考になれば幸いです。
GitHub Actions Workflow チェックリスト | CyberAgent Developers Blog