SES開発者として走り続けた6年
新卒で入社したSES企業で、私はJava/Spring Bootによる業務システム開発に6年従事しました。金融系の保険申込システム、流通系の在庫管理、官公庁の申請受付システムなど、客先常駐で5つの現場を渡り歩いてきました。
開発スキルだけ見れば、設計書からコードを起こすこと、JUnitでテストを書くこと、SQLを書いてDB設計レビューに耐えることまで、一通りこなせるようになっていました。ただ、どの現場も基本はウォーターフォールで、リリースは半年〜1年に1回。コードを書いた1ヶ月後に、自分の書いたものが本番で動いているのか動いていないのか、よくわからない感覚がずっとありました。
「言われたものを作る」という働き方に違和感を覚えるようになったのは、5年目のある現場で、リリース後のトラブル対応の手作業オペレーション手順書を200ページ書かされたときです。これを自動化できないのか、と当然のように思いましたが、現場の答えは「契約スコープ外」でした。
デプロイ作業の手作業に限界を感じた日
決定的だったのは、本番リリース当日の深夜作業です。Excelに書かれた手順を一行ずつ実行し、SSHでサーバーにログインして、jarを差し替え、WAS再起動、ヘルスチェック、切り戻し判断。人為的ミスでロールバックになったプロジェクトを2回経験し、「これは技術的負債ではなく、文化的負債だ」と思いました。
同じ頃、社外の勉強会で初めてCI/CDパイプラインのデモを見ました。GitHub ActionsでPushすると自動でテストが走り、コンテナがビルドされ、ステージング環境にデプロイされる。あの十数分の登壇映像が、私のキャリア観を完全に塗り替えました。
学習の型を作るために選んだ書籍
転換点として、まず体系的に「継続的デリバリー」の思想を理解する必要があると考え、『入門 継続的デリバリー』を読みました。CI/CDが単なるツールではなく、リリースリスクを下げるための工学的アプローチであることを、ようやく言語化して理解できました。デプロイ可能性を継続的に維持するという考え方が、SES現場での「半年に一度だけリリースのために緊張する」働き方と真逆のパラダイムであることに、強い衝撃を受けました。
並行して『GitHub CI/CDパイプライン構築ガイド』で手を動かし、自分のサンプルリポジトリにActionsを書き、PRごとにテストとLintが走るよう整えました。ここで初めて、「コードを書く=コミットして終わり」ではなく「コードを書く=パイプラインを通す」感覚を身につけました。
コンテナの理解は『Docker/Kubernetes 実践コンテナ開発入門』を写経のように追いかけ、自宅PCにminikubeを立てて、自分の書いたSpring BootアプリをDockerfileに包み、Podとしてデプロイするところまで一気にやりました。
文化面では『Effective DevOps』と『LeanとDevOpsの科学』が決定的でした。特に後者の「変更リードタイム」「デプロイ頻度」「変更失敗率」「平均復旧時間」という4つのキーメトリクスは、転職面接でのストーリーテリングの軸になりました。
転職活動と実践で意識したこと
転職活動では、現職での「Excel手順書をJenkins Jobに置き換える」という小さな改善を、無理やりにでも自分のプロジェクトに持ち込み、Before/Afterで語れるようにしました。リリース時間が3時間から20分に短縮された、というたった一つの実績が、面接官の評価を一変させました。
最終的に自社開発のSaaS企業にDevOpsエンジニアとして入社し、いまはGitHub Actions、Argo CD、Datadogを軸にしたパイプライン整備を任されています。Linux力の不足は『新しいLinuxの教科書』で補強しながら、毎日少しずつ穴を埋めています。入社後のオンボーディングでは、自分の書いたDockerfileがCIで自動ビルドされ、PRごとにステージング環境がプレビューURLとして起動するワークフローを実装し、初仕事として全エンジニアの体験を変えることができました。
これから転換を目指す人へ
SESから自社開発、しかもDevOpsという職種への転換は、年齢が上がるほど難しくなると言われます。ただ、現場で泥臭い手作業を経験してきた人ほど、自動化の価値を肌で語れます。手作業の苦しみを知っている人間が設計するパイプラインは、机上で組まれたものより遥かに実務に強いと、自社開発側に来て確信しました。
大事なのは、勉強した本の冊数ではなく、「自分の現場のどの手作業が、どの本の知識で、どう減らせるのか」を一つでも具体的に語れるようにすることだと思います。私はそれを、6年分の手順書200ページから始めました。明日からでも、目の前のExcel手順書を1本Bashスクリプトに変えるところから、転換の物語は始められます。
