おっさんエンジニア

レガシー・サバイバル術 第3回:「レガシー=悪」って誰が言った?

〜若手よ聞け、俺たちは今も戦っている〜

こんにちは、代表の片ケ瀬です。
最近の若者は「レガシー=悪」みたいな空気を醸し出してることがあります。
  • 「このコード、レガシーでやばいっすね」
  • 「これ、モダンにリプレイスしたいっすね」
  • 「昭和の設計ですねこれw」

……あのな。

☝️ そもそもそれ、まだ動いてるんだよ?

レガシーと呼ばれてるシステム、たいてい何年もエラー出さずに、きっちり働いてます

  • 夜中にバッチを回し続けるPerlスクリプト
  • 2006年から止まってないCentOSサーバ
  • なぜか誰も触れないSMTPサーバ

それらが、いまだにサービスを支えてるんです。

🧠 モダンは「流行」だけど、レガシーは「実績」

モダン技術 レガシー技術
React / Next.js CGI + Apache + Perl
Kubernetes initスクリプト + supervisord
Terraform bash + expect + vi
Slack通知 mailx + cron + logger

モダンは華やか。でも、実戦で何度も“生還”したのはレガシーかもしれません。

🛡️ uptimeマウントはレガシーの勲章

「uptimeが1000日を超えたら、ビールを開けろ」

──昔、そんな言葉がありました。

今のように「毎週デプロイ&再起動」が当たり前の時代でも、
昔は「止めない」ことが正義でした。
そしてそれは、今でも通用する価値観です。

📜 「古いコード」ではなく、「読み継がれる設計」

レガシーコードにはこんな特徴があります:

  • シンプルだけど意味が詰まっている
  • コメントがなくても“思想”が透けて見える
  • 触っちゃいけないオーラがある(ある意味完成されている)

これは呪いではなく、設計者の“仕掛け”です。

🧑‍🏫 若手に伝えたい:レガシーの「良さ」とは何か?

  • 安全性:想定外に強い。地味に落ちない。
  • 保守性:わかりづらいけど壊れにくい。
  • 予測性:挙動が読める。突然死しない。

技術的負債があるのは否めませんが、
それは現場で鍛え抜かれた「責任ある設計」とも言えます。

🙇 レガシーを悪く言う前に、その人の「物語」を聞いてくれ

たとえば:

  • なぜこの構成にしたのか
  • どうやって障害を切り抜けてきたのか
  • どこが“触ると死ぬ”ポイントなのか

レガシーシステムは、「機能」ではなく「物語」なのです。

✊ 俺たちは今も戦っている

  • 週明けのZabbixアラートで目が覚め
  • journalctl とにらめっこし
  • 2年放置されたRedmineチケットに追われ
  • それでも“止めない”を貫いている

レガシーを支える現場には、技術じゃなくて“矜持”があるんです。

📌 まとめ:「レガシー=悪」ではない。「語れる技術」だ

誤解 ほんとうの姿
古い=捨てるべき 動いてる=価値がある
早く置き換えるべき 意図を知ってから改善すべき
属人化してるから悪 その人が守ってきた証

🔮 次回予告:「“俺だけがわかる”スクリプトの闇」

次回は、インフラ現場に必ず存在する“俺ツール”の話。

  • backup.sh 500行
  • 謎の monitor.pl に埋まったコメント
  • そして、誰にも引き継がれないまま残る爆弾

「俺しかわからない」は資産か、爆弾か?
次回もお楽しみに!

👋 最後にひとこと

Terraformも、Kubernetesも、やがてはレガシーと呼ばれる。
それでも「今を支えている」ことが、いちばん誇らしい。

関連記事

コメント

この記事へのコメントはありません。

TOP