消えていくコードの供養

今日、古いディレクトリを整理していた。

長くエンジニアをやっていると、こういう作業は時々やってくる。容量不足という現実的な理由もあるし、「そろそろ片付けるか」という気分になることもある。

そんな中で、数年前に凍結したプロジェクトのソースコードが出てきた。

リリースされなかったサービス。 途中で企画が消えたサービス。 技術的には完成していたのに、ビジネスの都合で終わったサービス。

ウェブエンジニアを長くやっていると、こういう「幻のサービス」がいくつも溜まっていく。

せっかくだからと思って、そのリポジトリを開いてみた。

READMEを見る。 package.jsonを見る。 当時の自分が書いたコメントを見る。

そして何となく、

npm run dev

を叩いてみる。

すると、何事もなかったかのように画面が立ち上がった。

数年間誰にも使われていないはずなのに、ローカルではちゃんと動く。

画面遷移も問題ない。 APIのモックも生きている。 当時こだわっていたUIも、そのまま表示される。

なんとも言えない気分になる。

あの頃は、このサービスが世の中に出るものだと思っていた。

深夜まで設計を考えたり、 クリーンアーキテクチャに挑戦してみたり、 無駄に抽象化して後悔したり、 逆にベタ書きして後で泣いたり。

そういう試行錯誤が全部詰まっている。

もちろん仕事だから、お金はもらっている。

プロとして考えれば、それで話は終わりだ。

サービスが成功するかどうかは、技術だけでは決まらない。

市場のタイミング。 予算。 経営判断。 競合の動き。

そういうエンジニアにはどうにもできない要素で、プロジェクトは生きたり死んだりする。

理屈ではわかっている。

でも、人間だからね。

それなりに愛着を持って書いたコードが、誰にも使われずに眠っているのを見ると、少しだけ切ない。

最近は、この感情を「供養」だと思うことにしている。

そのサービスで工夫した技術をブログに書く。

失敗した設計を日記に残す。

「この技術スタックはここで試した」

「あの抽象化はやりすぎだった」

「この実装は意外とうまくいった」

そうやって知見として外に出す。

すると不思議なもので、コードが単なる失敗作ではなくなる。

サービスは消えたかもしれない。

でも、そこで得た知識や経験は残る。

むしろ、エンジニア人生で本当に残るのはそちらの方なのかもしれない。

考えてみれば、私がこれまで現場で使ってきた技術の多くも、誰かが昔作って消えていったサービスの副産物だったのだろう。

そう思うと、無駄になったコードなんて存在しないのかもしれない。

今日書いているこの文章も、そんな幻のサービスたちへの手向けみたいなものだ。

さて。

明日からはまた、新しいコードを書く。 そして数年後、また別のフォルダの奥から、新しい「供養対象」が発掘されるのだろう。

エンジニアとは、案外そういう生き物なのかもしれない。