キャリアモデル 読了 約 9 分

佐藤 ひなさんの軌跡: フロントエンドからSREへの3年

UIを作る側からシステム全体の信頼性を担う側へ

  • #SRE
  • #フロントエンドからの転身
  • #AWS
  • #信頼性

React職人として走った3年

Web制作会社からスタートアップに転じて、私はフロントエンドエンジニアとしてReact/TypeScriptと3年向き合ってきました。複雑な状態管理、アクセシビリティ、Core Web Vitalsの改善など、UIまわりの仕事には自信を持っていました。

それでも、自分の作ったSPAが「どうやってユーザーに届いているか」は、ずっとブラックボックスでした。Vercelにデプロイすれば動く。落ちたらSlackに通知が来るが、なぜ落ちたかわからない。CDNとは何か、Edgeとは何か、SSL証明書はどうやって更新されているのか、いずれも雰囲気で理解していました。

デプロイ事故が「仕組みから理解したい」に変えた

転機は、本番サイトが30分ダウンした夜でした。原因は私のPRが踏んだnext.config.jsのリダイレクト設定で、CDNキャッシュが古いままユーザーに配信され、認証フローが壊れていました。

復旧作業中、SREチームがcurl -IでCache-Controlを確認し、digでDNS伝搬を見て、Cloudflareのダッシュボードでパージし、Datadogでp95レイテンシを追っていく姿を見て、私は完全に置いていかれました。「自分が作ったものを、自分でデバッグできない」という事実が、想像以上にショックでした。

その夜から、私は「アプリが動く基盤」を理解する側に回ろうと決めました。

ゼロからやり直したインフラ学習

最初に取り組んだのは、Linuxの基礎です。lscdは使えても、grep -rのオプション、awksed、リダイレクト、パイプの本当の意味は怪しかったので、『新しいLinuxの教科書』を頭から手を動かしながら読みました。シェル変数、プロセス、シグナル、パーミッションといった「OSの基礎概念」が、ようやく身体に入った感覚がありました。

次に、HTTPの理解を深めるために『Real World HTTP』を読みました。フロントで毎日fetchを書いていたのに、Cache-Control、Cookieのスコープ、CORS、HTTP/2のストリーム多重化など、自分が雰囲気で扱っていたものを言語化できるようになりました。あのデプロイ事故の原因を、後から完全に説明できるようになったのもこの本のおかげです。

ネットワークの低層は『マスタリングTCP/IP 入門編』で押さえました。3-way handshake、TCPの再送、ルーティング、サブネット計算など、フロントには直接出てこない世界ですが、SREの会話に入っていくためには必須の語彙でした。

クラウドとコンテナの実機学習

AWSは『AWS基礎からのネットワーク&サーバー構築』を写経しました。VPC、サブネット、ルートテーブル、セキュリティグループを手で作り、EC2を立ててNginxを動かす。たったこれだけのことが、SPAをVercelにデプロイしていた頃の私には別世界でした。

並行して『Docker/Kubernetes 実践コンテナ開発入門』でコンテナの基礎を固めました。自分のNext.jsアプリをDockerfileに包み、minikubeにデプロイしてみたとき、フロント・サーバ・インフラが一本の線でつながった瞬間がありました。

CI/CDは『GitHub CI/CDパイプライン構築ガイド』を軸に、自分のサイドプロジェクトでLint/Test/Deployのフルパイプラインを組みました。プルリクのたびにプレビュー環境が立ち上がる仕組みは、単に便利というだけでなく「ソフトウェア配信の哲学」だと体感できました。

転職と現場での実践

入社1年で社内のSREチームに異動申請を出し、認められました。最初の仕事は、自分が壊した本番リダイレクト設定の恒久対策で、Cloudflare Workersのルーティングをコード管理にし、PRレビュー必須にする変更でした。

いま私は、フロントの開発者体験(DX)を改善する役割を兼ねています。フロントエンドエンジニアの気持ちがわかるSREは、社内で意外な希少種でした。デプロイのフィードバックループを短くする、エラー監視のSourceMapを正しく登録する、SLOをユーザー体験ベースで定義する——これらの仕事は、UIを作っていた経験そのものが武器になります。

フロントから基盤に行きたい人へ

UIが好きな人ほど、「裏側はインフラの人の仕事」と切り分けがちです。でも、UIのパフォーマンスもエラー率も、最終的には基盤と地続きです。curlを1本叩けるだけで、世界の解像度は驚くほど変わります。

私の場合は、Linux→HTTP→AWS→コンテナ→CI/CDの順で穴を埋めていきました。順番は人それぞれでよいと思いますが、「自分のアプリの最も近い層から順に、外側へ」という原則だけは、おすすめできます。

あなたに合う書籍を見つける

30 秒のキャリア診断で、次に読むべき本と職種ロードマップを提案します。

30 秒で診断する