おっさんエンジニア

レガシー・サバイバル術 第4回:「“俺だけがわかる”スクリプトの闇」

こんにちは、代表の片ケ瀬です。
今回のテーマは、誰もが1つは抱えている“爆弾ファイル”について。

😱 覚えのある「俺だけスクリプト」チェックリスト

  • /opt/scripts/backup.sh(500行)
  • ファイル名が doall.sh または final_v2_2021_bkup.sh
  • 先頭に # このスクリプトは触るな とだけ書いてある
  • コメントに「よくわからんけど動く」とある
  • 書いた本人がすでに異動 or 忘れている

それはもう“資産”ではない。
未来の自分への地雷です。

🧨 なぜ“俺だけがわかる”スクリプトは生まれるのか?

  • 緊急対応 → 「あとで直す」→ 永遠に直されない
  • 天才型エンジニア → コメント不要と判断 → 属人化
  • 人に任せて壊された過去 → 「もう俺がやる」

💀 実録:現場で見た“俺スクリプト”の闇

  • cronで /tmp/daily_check.sh 実行 → tmpwatchで消えて沈黙
  • monitor.pl にbase64文字列 → decodeするとSlack Webhook(失効済)
  • バックアップスクリプトにS3キー直書き → git管理されて世界へ公開

🔧 じゃあ、どうすればよかったのか?

✅ Gitで管理しよう

  • 誰が何を変えたかが明確に
  • READMEに使い方と実行例を書く

✅ ファイル名は意図が伝わるように

  • daily_log_cleaner.sh ← 良い
  • test3_fatal.sh ← 悪い

✅ コメントは“未来の自分宛てのラブレター”

# FIXME: ここは旧システムA対応。制度変更で見直し予定(2024年)

✅ 設定とロジックは分離する

  • config.ini に設定値
  • main.py で読み込む

🛠 “俺ツール”の資産化チェックリスト

項目 OK?
Gitに登録されているか? ✅ / ❌
READMEがあるか? ✅ / ❌
ログが残るか? ✅ / ❌
他の人が実行できるか? ✅ / ❌
設定値が外出しされているか? ✅ / ❌
作者不在でも動かせるか? ✅ / ❌

🧘 属人化からチームの資産へ

ある先輩がこう言いました:

「コードは資産。でも“俺だけ資産”は負債。」

属人化されたスクリプトも、ちゃんと整理すればチームの武器になる。
それが、インフラおじさんの伝家の宝刀“継承”です。

📌 まとめ:俺ツールの呪いを、愛で解きほぐせ

闇の俺ツール サバイバル術
コメントなし README + コメントで継承力UP
ローカルで管理 Git化+共有
設定ハードコード 設定ファイル分離
呪文ファイル名 意図の伝わる命名

🔮 次回予告:「止まらない設計は美しい」

次回は、システムが落ちたときに問われる「設計思想」。

  • 冗長化してるのに落ちるのはなぜ?
  • 止まらない設計とは「人が動ける設計」
  • 手順・通知・訓練…運用こそインフラの本質

技術だけじゃない、“現場の強さ”を語ります。

👋 最後にひとこと

「俺しかわからない」は、誇りではなく課題。
伝えよう。書こう。渡そう。未来のチームのために。

関連記事

コメント

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

TOP