客先に常駐して数か月、周りが当たり前に使っているGitやSpring Bootが、自分の現場にはまだ影も形もないと気づく瞬間があります。そんな経験はないでしょうか。

経済産業省の調査でも、ユーザー企業の61%がレガシーシステムを抱えているとされています。SESエンジニアとして5年ほど、4社の客先常駐を経験してきた私も、そのうち複数の現場で世の中の標準から遅れた技術と向き合ってきました。

今回は、実際に見てきた3種類の「古さ」の中身と、古い案件で積みにくいもの、在籍したまま市場価値を落とさないためにやっていることを、実体験からお伝えします。

この記事で分かること

  • SESで古い技術の現場に当たるのは、実は珍しいことではないという裏付け
  • 2社目・3社目・4社目で実際に見てきた「古さ」の中身の違い
  • 経産省の定義に照らして、本当に危ないのは技術の古さではなくどこなのか
  • 自分の現場を判定するチェックポイントと、保守・移行案件で積みにくいもの
  • 在籍しながら市場価値を落とさないための工夫と、職務経歴書・面談での話し方
目次
  1. SESで古い技術の現場(レガシー案件)に当たるのは珍しくない
  2. 4社を渡り歩いて見えた、3種類の「古さ」
  3. 2社目|研修で習ったGitが、現場にはなかった
  4. 3社目|旧システムから新システムへ載せ替える側だった
  5. 4社目|技術は新しいのに、その現場でしか通じない
  6. 経産省のレガシー定義に照らすと、本当に危ないのはどこか
  7. 自分の現場を判定する5つのチェックポイント
  8. 保守・移行の古い案件で積みにくいもの、積めたもの
  9. 在籍しながら市場価値を落とさないためにやってきたこと
  10. レガシー案件の経験を市場価値に変える職務経歴書と面談の話し方
  11. レガシー技術者が逼迫しているというデータの読み方
  12. まとめ

SESで古い技術の現場(レガシー案件)に当たるのは珍しくない

結論珍しくありません。ユーザー企業の過半数がレガシーシステムを抱えていて、危ないのは古さそのものではなく別のところにあります。

私がこれまで見てきた古い現場のほとんどは、技術そのものの古さが致命傷だったわけではありませんでした。そこを見誤ると、モダンな技術を追いかける努力の方向を間違えます。

まず、自分の現場が特殊なのかどうかを確認しておきます。経済産業省が2025年5月に公表した「レガシーシステムモダン化委員会総括レポート」によれば、産業分野全体でユーザー企業の過半数がレガシーシステムを保有しています(出典: 経済産業省「レガシーシステムモダン化委員会総括レポート」)。

レガシーシステムを保有61%産業分野全体のユーザー企業(n=516)
大企業に限ると74%n=402

経済産業省「レガシーシステムモダン化委員会総括レポート」(2025年5月公表)より。

大企業ほどレガシーを抱えているという結果は、直感とは少しずれるかもしれません。ただ、大企業ほどシステムの歴史が長く、関わってきた人・ベンダーの数も多いと考えれば、むしろ自然な数字だと感じます。

言語構成の面でも確認しておきます。IPAの「ソフトウェア開発分析データ集2022」は、2016〜2021年度の開発案件を集めたものです。主開発言語の比率は、集計対象の1,476件のうちJavaが42.4%、COBOLが16.3%でした(出典: IPA「ソフトウェア開発分析データ集2022」)。

このデータの前提

このデータ集は2022年版が最後で、IPAは事業終了に伴い今後の発行予定はないとしています。直近の状況をそのまま表すものではありません。それでも、開発プロダクトの種別では改修・保守が51.5%を占め、2014〜2019年度の45.8%から増えている一方、新規開発は32.5%から29.1%へ減っています。

新しく何かを作るより、すでにあるものに手を入れる仕事の方が、業界全体として増える方向にあるということです。

つまり「新卒で入った現場からずっとモダンな技術しか触っていない」という人の方が、少数派に近いと考えられます。まずこの前提を踏まえた上で、私が実際に見てきた古さの中身を分解していきます。

4社を渡り歩いて見えた、3種類の「古さ」

一口に「技術が古い」と言っても、私が経験した現場ではその中身がまったく違いました。時系列に沿って、具体的に書きます。

2社目|研修で習ったGitが、現場にはなかった

1社目の研修(集合2週間+自習3週間)では、Java・SQLと並んでGitの使い方も習いました。ブランチを切って、プルリクエストを出して、レビューしてもらってマージする。当時はそれが当たり前だと思っていました。

2社目に配属されて数日後、担当画面の改修に取りかかろうとして、リーダーに聞いたときのやり取りです。

私

リポジトリはどこですか。

リーダー

うちはGit使ってないよ、フォルダにコピーして。

案内された共有サーバのフォルダには、同じソースファイルに日付をつけただけのコピーが並んでいました。担当する画面のソースだけでも、同じファイルのコピーがいくつも並んでいました。

研修で習ったこと2社目の現場
バージョン管理Gitで管理する共有サーバのフォルダに、日付をつけたコピーを並べる
並行作業ブランチを切って作業するブランチという概念はなく、同じファイルを複数人が触るときは事前に口頭で「今日はここ触るので」と調整する

単体テストも同じ調子でした。JUnitのようなテストコードという発想自体がなく、Excelのチェックシートに手動でレ点を入れていく方式です。1画面あたりの確認項目はおおむね60項目前後でした。

リリースは月1〜2回、23時開始の深夜作業です。手順書どおりにFTPで本番サーバへファイルを転送し、対象サービスを手動で再起動します。ロールバック手順は用意されていましたが、自動化されたパイプラインという発想はありませんでした。

このとき初めて、「教わった標準」と「現場の実態」は別物だという感覚を持ちました。研修で習ったことが、そのまま通用するとは限らないという当たり前の事実に、配属されて初めて気づいたわけです。

この現場にいた時期に基本情報技術者を独学で取ろうと思ったのも、この不安が一因でした。古い技術ばかり触れていると、自分の知識が世の中の標準からどれくらいずれているのか、自信が持てなくなっていたからです。

関連記事基本情報技術者はSESで意味ない?取得後に現場で効いた場面SESエンジニアが独学で基本情報技術者を取得した後、実際にSESの現場でどう扱われたのかを実体験から書きます。スキルシートでの反…

3社目|旧システムから新システムへ載せ替える側だった

3社目は二次請けとして、金融系のWebサイト案件に約2年半入りました。前半の約1年は、旧システムのデータを新システムへ移す移行作業で、後半の約1年半は新システムの保守改善です。

移行作業での私の役割は、手順書に沿ってリハーサルと本番切り替えを実行することでした。対象は数百テーブル、数百万件以上のデータで、リハーサルは3〜4回、本番の切り替えは連休をまたいで24時間以上かかりました。夜間や休日に作業する日もあり、振替休日で処理していました。

リハーサルの回数3〜4回
本番の切り替え24時間以上

3社目の移行期。対象は数百テーブル、数百万件以上のデータでした。

後半の保守改善では、改修依頼や障害調査をフロントとサーバーの両方で担当しました。依頼ごとに担当が割り振られ、改修は毎回レビューを受けていました。影響範囲の調査に1件あたり半日〜1日かかり、リリース手順は重く、証跡やドキュメントも多い現場でした。

ポイント: 「技術が古い」と一口に言っても、2社目は現場そのものが古いままだった一方、3社目は旧システムから新システムへ載せ替える過程に立ち会っていました。同じ「古さ」でも、立場によって得られるものはまったく違います。

載せ替える側にいた経験で身についたのは、古いか新しいかの知識よりも、影響範囲の調べ方や、リリース手順と証跡の作り方でした。これらは業務ドメインが変わっても、その後の現場でそのまま使えています。

4社目|技術は新しいのに、その現場でしか通じない

4社目は社内向け業務システムの保守・改修で、Java・TypeScriptを使っています。言語だけ見れば、2社目や3社目よりずっとモダンです。

ただし、この現場では独自の社内フレームワークが使われていて、書き方に強い癖があります。

観点想定していた書き方4社目の独自フレームワーク
コントローラー層に相当する部分HandlerProcessorという独自の接尾辞で統一
依存性の注入アノテーション独自の設定ファイルで解決する

研修や独学で覚えたSpring Bootの知識は、この現場ではほとんどそのまま使えません。言語は新しくても、フレームワークの作法だけを新しく覚え直す必要がありました。

ここで気づいたのは、「新しいか古いか」という軸とは別に、「世の中で通じるか、その現場でしか通じないか」というもう一つの軸があるということです。

2社目は古くて世の中でも通じない、3社目は古い技術を新しい世の中の標準に翻訳する過程、4社目は新しいのに世の中の標準からは外れている。同じ「不安の種」でも、中身は全部違います。

3つの現場を、技術と体制の観点で並べると次のようになります。

現場主な技術バージョン管理・体制感じていた不安の種類
2社目Java、Struts系、単体テストはExcel手動日付付きコピーでの世代管理、CI/CDなし世の中の標準からの遅れ
3社目旧システムから新システムへのデータ移行、のち保守改善(フレームワークは古い作りのObjectWorks)手順書・レビュー・証跡あり旧システムを新しい側へ移す過程
4社目Java・TypeScript、独自の社内フレームワークGitはあるが選定経緯が不明新しいのに現場限定の作法

こうして並べると、不安の中身がそれぞれ別物だと分かります。次の章では、この違いを経産省の定義に照らして整理し直します。

経産省のレガシー定義に照らすと、本当に危ないのはどこか

結論技術の古さではなく、体制が整っているか、仕様が明確か、改良を続けられるかです。

3つの現場を並べてみると、単純に「古い=危険、新しい=安全」とは言えないことが分かります。ここで経産省の定義が参考になります。同じレポートは、レガシーシステムの要因を技術の面と経営の面に分けて説明しています。このうち、私の現場の整理に使ったのは次の4つです。

レポートが挙げる要因(このうち、本記事で使う4つ)

  1. 技術の老朽化技術観点です。
  2. システムの肥大化・複雑化技術観点です。
  3. ブラックボックス化技術観点です。
  4. IT投資がされていない経営観点です。

この中でもとくに核心的なのが、次の一文です。

現行システムが、メインフレーム等の古い技術や開発手法で構築されたシステムであっても、開発・運用維持保守体制が整備され、デジタル技術の活用やデータ連携が可能で、仕様が明確で継続的な機能改良が可能な適切な作りであれば、レガシーシステムではないと言える

レガシーシステムモダン化委員会総括レポートの記述(要旨)|出典: 経済産業省「レガシーシステムモダン化委員会総括レポート」

つまり、技術の古さ自体は、レガシーかどうかの決定打ではないということです。決め手は、体制・仕様の明確さ・改良を続けられるかどうかにあります。

この定義に照らして自分の現場を振り返ると、次のようになります。

現場定義に照らした見立て理由
2社目③ブラックボックス化の一歩手前バージョン管理がなく、誰がいつ何を直したかの記録が個人の記憶に頼っていた
3社目旧システムを新システムへ載せ替える側移行は手順書に沿って進み、保守でも毎回レビューを受けるなど、体制面は整っていた
4社目定義でいう「レガシー」には当たらない技術としては新しい。ただしフレームワークの選定経緯を知る人が誰もおらず、④のIT投資・体制の観点で危うさが残る

レポートには、もう一つ気になる一文もあります。「既にメインフレーム等から脱却済であっても、運用維持保守に問題があれば再レガシー化する可能性がある」というものです。新しい技術に移行しても、体制がついてこなければまた古くなる、ということです。

4社目のような「新しいのに属人化している」現場は、この再レガシー化の入り口に近いのかもしれません。

自分の現場を判定する5つのチェックポイント

ここまでの整理を踏まえて、自分の現場を判定するときに私が実際に見ている観点をまとめます。技術の古さそのものより、体制側の観点を優先しています。

現場の体制を確かめる5つの観点

  • ドキュメント・仕様書が最新の状態に更新されているか更新履歴の日付が数年前で止まっていないか
  • 不具合発生時に、原因を特定できる人が複数いるか「あの人しか分からない」状態になっていないか
  • 新しい機能追加・改修が実際に行われているか保守だけで、機能面はずっと塩漬けになっていないか
  • バージョン管理・リリース手順が最低限整備されているかファイル名での世代管理に頼っていないか
  • その技術に対応できる人が、現場の中で先細りしていないか高齢化・離任で担い手が減っていく見込みがないか

このうち1つ目と4つ目は、参画してすぐに確認できます。共有フォルダの中を見せてもらえれば、だいたいの実態が分かります。

2つ目と5つ目は、少し時間をかけて雑談の中で探る必要があります。「この仕組み、最初に作ったのはどなたですか」と聞いてみて、返ってくる答えが具体的か、それとも「もう分からない」で終わるかを見ています。

3つ目は、担当領域の改修依頼がどれくらいの頻度で来ているかで判断できます。ここ1年で機能追加の依頼が一件もないなら、その領域は塩漬けになっている可能性が高いです。

私の場合、2社目は1つ目と4つ目が明確にアウト、3社目は体制面ではアウトになる項目が少ない一方、原因特定に時間がかかる障害があり2つ目にやや不安が残る、4社目は2つ目にやや不安が残る、という判定になります。技術の新旧だけで見た印象とは、少し違う結果になりました。

保守・移行の古い案件で積みにくいもの、積めたもの

上位のレガシー案件の話でよく出てくるのが、保守だけでは設計や開発の経験が積めないという悩みです。私の場合、3社目の前半と後半でこれがはっきり分かれました。

時期役割積みにくかったもの身についたもの
3社目 前半(約1年)データ移行。手順書に沿ってリハーサルと本番切り替えを実行システム全体の設計・構造の理解、コードを書く経験移行の流れ、夜間・休日の切り替え作業の段取り
3社目 後半(約1年半)保守改善。改修依頼の対応、障害調査・不具合修正新規システムを一から作る経験(案件の性質上、ありませんでした)影響範囲の調査、障害の原因特定、設計から実装・テストを一人で完結する力、レビュー指摘を反映する習慣

移行期は手順書を正しく実行する役だったので、コードを書く経験はほとんど積めませんでした。「古い案件にいたから伸びなかった」というより、「手順を実行する役だったから伸びなかった」というのが実感です。

一方で保守改善期は、依頼内容の確認、改修の設計、実装、単体・結合テストと証跡作成まで関われました。同じ古い現場でも、割り当てられる役割で得られる経験が別物になります。

ここで大事なのは、移行の経験を「作業をした」で終わらせないことだと思っています。経産省のレポートは、古いシステムを新しい作りに移すモダン化そのものを主題にしています。その過程を現場で通ってきた人は、旧システムの癖と移行の落とし穴を知っている人として語れます。

この点は私の見立てですが、移行と保守の両方を経験した点は、のちの4社目でも効いています。3社目から持ち込めたのは次の3つです。

  • 実装やテストの手法 保守改善で毎回レビューを受けて身につけた進め方
  • 影響範囲の調査の型 1件あたり半日〜1日かけて洗い出していた手順
  • リリース手順・証跡の作り方 重い現場で鍛えられた段取り

私は4社目で、自社の役職上は管理職として、手を動かしながら3〜5名を見る立場になりました。メンバーを見る側になって実感するのは、「どの技術を触ったか」より「どこまで任されて、何を判断したか」の方が、人を評価するときの手がかりになるということです。

在籍しながら市場価値を落とさないためにやってきたこと

現場を選べる立場にはないので、私が実際にやってきたのは、判定した上で個人としてできる範囲を埋めることでした。

  • 現場のルールを破らない範囲で、個人的な工夫を挟む 2社目では、共有サーバへの提出は日付付きコピーで世代管理するルールを守った上で、自分の作業用フォルダの中だけgit initしてローカルでコミットを積んでいました。差分の見返しがしやすくなっただけでなく、Gitの使い方自体を業務時間内に忘れずに済みました
  • 古い技術を「読み解いた経験」として言語化しておく 3社目の移行と保守改善の経験は、単なる作業記録ではなく、影響範囲を調べて安全に変更する力の裏づけとして、面談で話せる形に整理してあります
  • その現場でしか通じない書き方は、意識して世の中の標準と対応づける 4社目の独自フレームワークを覚えるとき、「これは世の中で言うDIコンテナに相当する部分」「これはSpring Bootでいうこのアノテーションに近い」と、頭の中で変換しながら覚えるようにしています
  • 業務外で、現場にない技術を触る時間を確保する 平日の可処分時間には限りがありますが、週末にSpring BootやDockerを個人的に触る時間だけは削らないようにしています

正直に言うと、これらをやったからといって、劇的に何かが変わったという実感はありません。2社目でローカルにgit initしていたことも、当時の単価や評価にはまったく反映されませんでした。

2社目のローカルGitが効いた場面

共有フォルダに提出する直前、git diffで見返したところ、消したはずのデバッグ用のprint文が1行だけ残っていることに気づきました。ローカルでの差分管理がなければ、そのまま気づかずに提出していたはずです。ルールそのものを変えられなくても、自分の作業の内側だけは変えられる、という小さな実感でした。

独学だと手が止まりやすいので、現場にない技術を体系的に押さえたいときは、教室でもオンラインでも講師に個別で教わる個人レッスン形式のスクール(Winスクールなど)を使う手もあります。

関連記事SESで勉強時間がない|残業月40〜60時間でも2か月で基本情報を取った学習法SESの客先常駐で残業が月40〜60時間ある現場にいると、勉強時間はどこから作ればいいのか。私物PC持ち込み禁止という制約の中で…

エンジニアとして1年以上の実務経験があり、39歳以下で勤務地が一都三県か大阪なら、現場にない技術を軸にした転職の相談先として、経験者向けのユニゾンキャリアもあります。

レガシー案件の経験を市場価値に変える職務経歴書と面談の話し方

結論古い現場の経験は、技術名の羅列ではなく「何を判断し、どう安全に変更したか」に翻訳すると材料になります。

市場価値への影響を単価で見ると、私の数字からは「古い技術だから下がる」とは判断できませんでした。1社目から2社目に移るとき、単価は月55万円から年490万円(月約41万円)へ下がっています。ただ、2社目の中では年490万円から530万円へ上がりました。3社目は年580万円から、離任時には650万円です。

古い現場だったから下がったのか、商流や更新のタイミングの問題なのかは、手元の数字だけでは切り分けられません。確かなのは、技術の新旧と単価を直結させて落ち込む必要はないということです。世間の単価相場については、確認できていない数字は書かないでおきます。

評価されやすい書き方は、職務経歴書でも面談でも同じです。3社目の移行・保守の経験を例に、技術名だけの書き方と、判断まで書いた書き方を並べます。

技術名だけの書き方判断まで書いた書き方
職務経歴書金融系Webサイトの保守。ObjectWorks、Java旧システムの顧客・契約データを新システムへ移す移行(数百テーブル、数百万件以上、リハーサル3〜4回)を、手順書に沿って実行。のち保守改善で、影響範囲の調査(1件あたり半日〜1日)から設計・実装・テストまでを担当し、レビューを毎回受けた
面談での話し方古いフレームワークを触っていました古い作りのフレームワークでしたが、影響範囲を先に洗い出してから変更し、証跡を残す進め方を身につけました。リリースが重い現場でも、手戻りを減らす型として使えます

職務経歴書の全体の書き方は別の記事にまとめています。

関連記事SESの職務経歴書の書き方|常駐先の会社名が書けないときの例SESの職務経歴書で会社名が書けないとき、何を書けばいいのか。金融系Webサイトのデータ移行・保守改善案件を例に、スキルシートと…

COBOLのように単一の古い技術に絞るのは、私は勧めにくいと考えています。その技術を使うシステムが移行されたとき、拠り所が技術名しかないと、判断の材料がなくなるからです。技術名の裏にある「影響範囲を調べる」「仕様を読み解く」「安全に変えて証跡を残す」という力は、フレームワークが替わっても持ち運べます。

古い現場から抜け出したいときも、まずはこの翻訳をしてから動く方が、次の現場の選択肢が広がります。

関連記事SESでスキルが身につかない理由|移行と保守で見えた、積める現場の見分け方SESでスキルが身につくかどうかは、担当が「手順を実行する役」か「自分で判断して完結させる役」かで変わります。データ移行と保守改…

レガシー技術者が逼迫しているというデータの読み方

ここまで不安を煽るような話が多かったので、逆側の話もしておきます。古い技術の現場にいることは、悪いことばかりではありません。

経産省のレポートでは、ベンダー企業側の課題感として次の3つが挙げられています。

  • 案件重複によるレガシー技術者の逼迫
  • 技術的負債であり新規育成に消極的
  • 企業のIT全体を設計できる人材の不足

レガシー技術者については、案件が重なることで逼迫している、という整理です。一方、同じレポートが示す2025年度のIT人材需給ギャップ(ベンダー企業の供給が需要の66%にとどまるという試算)は、IT人材全体の数字です。レガシー技術者に限った数字ではないので、「古い技術者が足りない」ことの裏づけには使えません。

この2つを混ぜて、「じゃあ古い技術を極めれば安泰だ」と結論づけるのは早計だと思っています。

私が受け取っているのは、もう少し控えめな読み方です。古い技術に触れた経験そのものは、需要が枯れていく一方の経験ではない、というくらいの受け止め方です。

3社目で感じたこと

3社目は二次請けの立場でしたが、移行から保守改善まで約2年半続けて同じ案件に入っていて、案件のアサインが途切れる不安を感じたことはありませんでした。

「新しい技術しか価値がない」という不安に、無条件に飲み込まれる必要はありません。ただし、その古い技術に対応できる人材として評価されるには、技術を知っているだけでなく、体制の不備を見抜いて動けることまでセットで求められると考えています。

ベンダー側でレガシー技術者が逼迫しているという指摘は、あくまで「今すぐ食いっぱぐれる心配はしなくていい」という材料であって、「学ぶ必要がない」という話ではありません。両方を混同しないことが大事だと思っています。

まとめ

SESの現場で技術が古いと感じたとき、本当に確認すべきは技術の年式そのものではありません。私が見てきただけでも、次の3つはまったく別物でした。

  • 2社目 バージョン管理すらない現場
  • 3社目 古いシステムを新しくする過程にいる現場
  • 4社目 新しいのに、その現場でしか通じない現場

経産省の定義に照らせば、古い技術で構築されていても、体制が整っていて仕様が明確ならレガシーとは言えません。逆に、新しい技術でも属人化が進めば、再びレガシー化する可能性が残ります。

まず自分の現場に当てはめること

  • ドキュメント・仕様書が更新されているか
  • 原因を特定できる人が複数いるか

古い現場の経験は、技術名ではなく「どこまで任されて何を判断したか」に翻訳すれば、職務経歴書や面談で使える材料になります。技術の古さそのものに怯えるより、体制側の欠落を見抜けるようになった方が、次の現場を選ぶときの判断材料になります。私自身、4社を渡り歩いて、ようやくその区別がつくようになったところです。