インフラ未経験の20卒がSREになった話

こんにちは、eng 20卒の kumashun (クマシュン) と申します。
新卒入社後 SRE チームに所属しており、今Qでは EC2 環境で動作しているプロダクトの EKS への移行作業を進めるチームで働いています。

この記事は freee Developers Advent Calendar 2020 2日目です。 自分は本年度の新卒ということで、タイトルの通り「インフラ未経験の20卒がSREに」なってからの半年間を振り返ってみようと思います。

(freee が採用しているインフラ技術に関する説明等はありませんので悪しからずm)

本配属に至るまで

freee との出会いのきっかけはとても偶然で、エンジニア就活サイト経由で連絡が来るまでは、どんなプロダクトを扱っているのかすら把握していませんでした。 しかしその後のカジュアル面談などを通じて、 freee の持つ「マジ価値」「あえ共」といった価値基準やカルチャーに惹かれたことが大きな決め手となり、採用面接に進むことを決めました。

コロナ禍で迎えた入社後は、各種オンボーディングに加え1ヶ月間の新卒チーム開発研修がありました。 大変だったけど、やっぱりアプリ開発は楽しい!と思えた研修のラストに、いよいよ配属発表。 あらかたどこかのプロダクト開発チームに入るだろうな〜と思っていたら、

Slackのスクリーンショット。「SRE???????????」「jふふぇjふぇいjふぇいjふぉえあpf」
SRE配属に驚く自分 (Slack)

...ん? SRE???😇

「何が分からないのか」すら分からない SRE の仕事

ご存知の方も多いとは思いますが、SRE (Site Reliability Engineering) 及び SRE チームとは次のような説明があります。

サイト信頼性エンジニアリング (SRE) は、IT 運用に対するソフトウェア・エンジニアリングのアプローチです。SRE チームはソフトウェアをツールとして使用してシステムを管理し、問題を解決し、運用タスクを自動化します。

ref : SRE とは -- redhat

freee の SRE チームは他チーム同様に、四半期ごとにOKR(e.g. EKS移行, DBパフォーマンス改善 など)を定め、それを達成するためのタスクがメインの業務となっています。 それに加え、アプリチームのサポートやアラート対応などの差し込みタスクも並行してこなしています。

要はインフラ全般を扱う仕事なのですが、配属後1,2ヶ月間は当然分からないことばかり...。 freee がインフラ運用に採用している AWS や一部プロダクトで導入されている K8s に関する知識がほぼないことに加え、そもそもネットワークやデータベース、Linux マシンなどのコンピュータサイエンス全般の理解が浅いことがかなり不安要素でした。

実際細々した差し込みタスクに着手してみても、「自分が今何を分かっていないのか」すら分からない状況に陥ってしまうことが多々ありました。差し込みタスクからの学びももちろんあるのですが、まずは1からちゃんと学ぶ機会を作らないとダメだ...!! 🔥 と思い始めました。

自分なりの課題を立てて、挑戦してみた

これが学生時代なら「学ぶ機会を作らないとダメだ...!! 」と思いを馳せるまでに止まっていたかもしれませんが、freeers となった今ではメンターの存在がいます。 自分のメンターの id:renjikari さんに相談して、以下のトライを実践しました。

自分で期限付きの目標を立てて頑張ってみる

なんとなく勉強するより、〇〇までに××をやると宣言した方が客観的に何を学んだのか分かりやすいし、ダラダラとやってしまうこともないだろうと思ったので、とりあえず自分の times で宣言してからやってみることにしました。 具体的にやったこととして大きいのはこの2つ。

  • 2ヶ月弱で AWS ソリューションアーキテクチャアソシエイト 試験合格

    Slackのスクリーンショット「8/31 までにAWS 認定ソリューションアーキテクト – アソシエイト試験 合格」
    SAA 合格を宣言する自分 (Slack)

  • マスタリングTCP/IP―入門編―(第6版) 勉強会を開催

    • ネットワーク知識を基礎からインプット&アウトプットしたくてトライ。
    • 告知 ~ 開催まで 1ヶ月で基礎編的な内容の勉強会ができた。
    • 輪読を取り入れての応用編の予定もあるかも...

    Slackのスクリーンショット。「【ゆる告知 - 勉強会開きます 】お疲れさまです SRE の kumashun です。ネットワーク技術の入門書として名高い マスタリングTCP/IP 入門編 第6版 を読んで勉強したことのアウトプットとして、「インフラ初心者と学ぶ マスタリングTCP/IP」なるスライド形式の勉強会を開こうと思います」
    TCP/IP 勉強会を告知する自分 (Slack)

上記のトライには一定期間まとまった勉強時間が必要でした。週末はもちろんですが、メンターやJM(ジャーマネ: freee におけるマネージャー)に確認を取った上で、1日の勤務中に 1~2 時間程度時間をとって勉強していました。(OKRバリバリやり始めると、この時間取るのが結構大変と気付きつつある...)

(よく分からないがとりあえず) 声を上げてやってみる

差し込み対応の中でも、特にアラート対応はスピード性が重視されるので苦手意識がありました。そこでアラートの原因解明を目指す前に、とりあえず自分なりにそれっぽいログを探してみて、直接関係あるかどうかは分からないけど Slack 上で共有しまくるというトライをしました。共有することで「何か対応している」ことが他の SRE メンバーにも伝わるし、追加で有益や調査結果や調査方法を教えてくれることもあります。この「とりあえず探ってみる」は実践できてきているので、次のステップとして原因解決をバシッと決められるようになりたいですね。

アラートについては、週次でアラート内容を振り返る & AI を積むアラート振り返り会というミーティングをやっているのですが、司会は毎週ランダムでアサインしていたところを自分が固定でやらせてもらっています。ファシリテートは大変ですが、週ごとにアラートに詳しくなっている実感があります。

またチーム内でも前例のないタスクにトライするなど、背景はよく分からないがとりあえずやってみるのスタンスは継続していきたいと思っています。 そしてこのスタンスを堂々と持てるのは、SRE メンバーの皆さんのサポートあってのこと。来る新メンバーに対して、自分もしっかりサポートできるようになっていたい...!

未知の領域に飛び込み、 成長できる環境が freee にはある

今月で配属から半年になりますが、以上のトライによって得た学びが業務に活かせることでやりがいを感じる場面が増えてきました。「何が分からないのか」すら分からない状態から、少しずつでも成長できていて嬉しいです。配属が決まった後に聞いたのですが、自分が SRE チームに配属された経緯には「アプリはなんとなく分かっている、なら全然分からないインフラに突っ込んだら一から学べるのでは?」という計らいがあったそうです。確かにその通りだなぁ。

同時に以上のトライによって、「ジブンゴーストバスター」を体現することができました。「ジブンゴーストバスター」とは freee の持つ価値基準の一つで、自分が今向き合いたいジブンゴーストを言語化し、それに対するフィードバックを貪欲に求め、立ち向かっていくことを意味しています。配属直後(というか学生時代) から、現状に満足し、未知の領域に飛び込めないジブンゴーストがいました。未知というのはそれだけで恐怖の対象だし、飛び込んで失敗でもしたらどうしよう... という気持ちが強かったからでした。

ただ「とりあえずやってみるか!」と一度割り切ってしまえば、順風満帆とはいかずとも未知の領域を開拓することができ、結果としてジブンゴーストに打ち勝つことができたのです。ただ、これから成長していくうえで新たなジブンゴーストは当然生まれてきます。都度倒して、強くなるぞ〜 🔥

この半年間を通じて、バックグラウンドがあまりない新卒でも、未知の領域に飛び込み、成長できる環境が freee にあることを強く感じました。 freee のエンジニアになって、一緒にそんな成長をしたい!という方を含め、新しいメンバーを絶賛募集中です 🙌

jobs.freee.co.jp

最後まで読んでくださり、ありがとうございました。
明日は UserSecurity チームの id:ichy3 さんです!お楽しみに〜 👋