この記事はZOZO Advent Calendar 2023 シリーズ6の1日目の記事です。
今回は、24卒のフロントエンドエンジニアとして内定をもらった学生が内定者アルバイトでSREとして配属してもらった話を書いていきます。
自分の観測範囲では、マイノリティな気がするのでエントリに書いてみようと思いました。(アドベントカレンダーにも初参加)
以下は組織の戦略を示すものではありません。
個人としてのキャリアの考えをまとめたものです。
ざっくり概要
- フロントエンドで採用してもらったのに、SREとして内定者アルバイトしてる
- 開発者がインフラや大規模サービスの運用ノウハウを学んだ
フロントエンドでアルバイトしなかった理由
理由は大きく3つあります。
- フロントエンド飽和状態
- 知識の幅を広げたかった
- 内定者アルバイトだからこそできるチャンス
フロントエンドの役割と飽和している状態
新卒市場でよく話されている話ですが、フロントエンドがかなり多くレッドオーシャンと化しています。
また、よく聞く話としてフロントエンドとしての役割・領域が広くなっており、もはやフロントエンドとは何なのかという議論が行われているのを散見します。
その中で、選択肢を増やすという意味でも、バックエンドやインフラ周りの基礎的な知識や幅広い視点を得たいと考えていました。(詳細は後述)
知識領域を広げたい
私は、広義の意味での体験や設計といったデザインやUI/UX、Reactを中心としたWebアプリ開発をしたりと、フロントエンドを中心に学生時代(今もだけど)は個人開発やハッカソン、インターンシップに参加していました。
これまでフロントエンドとして開発はやっていましたが、個人開発や研究ではインフラ周りに触れることは少ないため、以前から機会を探していました。
また、SRE NEXT 2023に参加した際に知ったのですが、SREといっても、企業の規模や部署によって役割は大きく異なります。一口にSREといっても、プラットフォームエンジニアやSRE、DevOpsなど企業によって業務にばらつきがあります。
その中でも、ZOZOのSRE(プラットフォーム基盤)では、比較的幅広く必要なことはやるといった感じでした。そのため、内定者アルバイト期間で広く知識をつけ、自分に合った領域を見つけ、あわよくば成果を出せたら嬉しいと思いました。
さらに、toB向けのプロダクトや業務効率化、開発効率化といった分野は好きだったので、DevOpsなどを行えるプラットフォーム基盤はマッチしていそうという思いもありました。
内定者アルバイトだからこそできるチャンス
自分の価値観として、今だからこそできることを大事にするという考えがあります。今回の記事でいう今だからこそできることというのは、幅広くチャレンジしてみるということです。
本配属が決まってしまうと、転籍できるとは言え、大きな方向転換には精神的な負荷もリスクも伴う気がします。
そういった意味で、内定者アルバイトは採用時点のロールに問わず、新しい職種・分野にチャレンジすることができる。かつ、本配属時点でもう一度ロールを選択することができる最高な環境を活かさない手はないと考えました。
SREを経験してみてどうか
結論、めちゃくちゃ学びが多かったし、経験できて良かったと感じています。
また、メジャーなツールやOSSについても幅広く知ることができています。
その中でも特に学びが多かったこととして大きく2つあります。
- サービスを止めない技術組織
- IaCというインフラをコードで管理する技術
サービスを止めない技術組織
具体的な内容は省きますが、AWSやk8sをフルに活用したサービスの運用。開発効率化を図るためのCI/CD、ツール作成などなど細かいことを言えば書ききれないのでこれくらいにしておきます。
これまで、開発者視点でしかみれていませんでしたが、インフラエンジニアやSREエンジニアの日々の努力によって、スムーズな開発が行われ、サービスを止めずに利益を上げ続ける取り組みが日々行われていることを知りました。
IaCというインフラをコードで管理する技術
Infrastructure as Codeとよばれる技術で、インフラをコードベースで管理・構築することができます。
内定者アルバイトに参加するまで、名前くらいしか聞いたことがなかったのですが、インフラをコードで管理することによって、再利用性の向上や手作業によるミスの防止、CI/CDと組み合わせた自動化などを行うことができます。また、Github上で管理できるため、レビューを実施できることがメリットだと思います。
SREについての取り組みやIaCなどに関しては、AWS Summit Online 2021で @sonotsさんが登壇された時のスライドがありましたのでご覧ください。
SRE未経験でもついていけるか
よく友人や同期から質問されるのですが、私が配属された際の一般的なツールの技術スタックとしては、以下のような感じでした。
- AWS
→就活時期に参加したインターンでのAPI gatewayやLambdaなどを利用したAPIの作成, S3+Cloudformationなどを使用したデプロイなどはしたことある - k8s
→なんもわからん。名前だけは知ってる。 - cloudformation
→聞いたことはあるかも? - docker
→なんとなく触れる - CI/CD
→結構好き。極力個人開発でも使うようにしている。
多少使ったことはあるが、全体的によくわからんって感じですね・・
そんな自分が実際配属されてみてどうだったのかというと、先輩社員さんのおかげで勉強しつつ、ようやく10%くらい慣れてきたなと言う感じです。
具体的には、それぞれのツールの役割や何のためにこのタスクをやるのかなどをイメージできるといった形です。
また配属後にAWS Certified Cloud Practitionerなどの資格も取得しました🎉
SREの重要性と感じたこと
スタートアップなどでは、エンジニアとSREを兼任することも多々あると思いますが、これまで開発しかしてこなかったエンジニアがSREに配属されてみて思ったことは、やはりSREというロールは非常に重要だと思ったのが感想です。
いかにサービスを動かし続けることができるかなどはもちろんのこと、アプリやサイトを使用するときのロード時間、エラーの有無、セキュリティ面などユーザが使用する時の体験を損なわないための努力が必要になると思います。
また、エンジニアと兼任する場合、クリティカルではないエラーやツールのバージョン管理など、対応の優先度が低くなることも多々あると思います。その中で、SREというロールがあれば、開発とは別に多くの時間を確保できるなどのメリットがあると感じました。
今後のキャリア
絶賛悩み中です。フロントエンドなのか。SREなのか。ただ、1つ言えるのは、どちらでも楽しめる自信があるので、色々な人に相談しつつ、年齢とどこに重きを置くのか。自分の中で何を大切にしたいのかを、もう一度考えてみて決めようと考えています。
終わりに
この記事は、大学生かつ内定者アルバイトというロールを使い、全く畑が異なる配属をしてもらったという内容でした。
もし、フロントエンドや開発をメインで考えている学生エンジニアやSREに興味あるけど、よくわからんって方の何かの参考になれば幸いです〜!