【コード哲学エッセイ】 速さは正義じゃない。 未来の自分を守る 「設計」 の話
「動いた! よし、次!」
画面に表示された "Hello World" や、期待通りに動いた API のレスポンス。
その瞬間の高揚感は、エンジニアにとって何物にも代えがたい麻薬のようなものです。
特に、締め切りに追われているときや、新しい技術に触れているときは、そのスピード感が心地よくてたまらない。
キーボードを叩く指は軽快で、自分はまるで魔法使いにでもなったかのような全能感に包まれます。
かつての僕は、その「速さ」こそが正義だと信じていました。
速く実装できるエンジニアが優秀であり、動くコードを量産できる人間が強いのだと。
けれど、ある深夜。
僕は、過去の自分が書いたコードの前で、頭を抱えて立ち尽くすことになりました。
「……これ、誰が書いたんだ?」
「なんで、こんなところに条件分岐があるんだ?」
Git の履歴を見れば、Author(作成者)は間違いなく自分。
コミットメッセージには、「修正完了」とだけ書かれた、あまりにも無責任な一言。
その瞬間、僕は気づいたのです。
過去の僕が信じていた「正義」が、未来の僕を殺そうとしていることに。
「動けばいい」 の賞味期限
「とりあえず動けばいい(YAGNI: You Aren't Gonna Need It)」という言葉は、アジャイル開発などでよく使われます。
もちろん、過剰な設計を避けるという意味では正しい。
しかし、それを「雑に書いてもいい」という免罪符にしてしまうと、話は別です。
「動けばいい」コードの賞味期限は、驚くほど短い。
書いた当日の僕にとっては明確でも、一週間後の僕にとっては「他人が書いた暗号」になり、半年後の僕にとっては「触るのも恐ろしい時限爆弾」になります。
速さを求めて省略した変数名。
コピペで済ませた重複コード。
「あとで直す」とコメントに残したままのマジックナンバー。
それらはすべて、未来の自分の時間を前借りしているに過ぎません。
しかも、法外な利子をつけて。
あの深夜、バグ修正のためにコードを読み解くのにかかった時間は、書くのにかかった時間の何倍だったでしょうか。
速さを求めた結果、トータルでは最も遅い道を選んでしまっていたのです。
コードは、未来への手紙
それ以来、僕はコードに対する向き合い方を変えました。
コードとは、コンパイラやインタプリタへの命令書である以前に、「未来の自分(あるいはチームメイト)」へ宛てた手紙なのだ、と。
手紙だとすれば、相手への「優しさ」が必要です。
「ここは複雑だから、なぜこう書いたのか理由を残しておこう」
「この変数名は、誤解を招かないようにもっと具体的にしよう」
「この処理は再利用できそうだから、関数に切り出しておこう」
キーボードを叩く手を一度止め、モニターの向こう側にいる「未来の誰か」を想像する。
その一瞬の「間(ま)」こそが、設計と呼ばれる行為の正体なのかもしれません。
当然、実装スピードは落ちます。
「動いた! 次!」と走っていた頃のような疾走感はありません。
一歩一歩、石橋を叩いて渡るような地味な作業です。
でも、その地味な歩みこそが、未来の僕を守ってくれるのです。
「急がば回れ」 は、技術の世界でも真実
「設計」というと、なんだか難しそうな UML 図を書いたり、分厚い仕様書を作ったりすることを想像するかもしれません。
でも、僕が思う設計はもっとシンプルです。
「次に読む人が、迷子にならないように道標を置くこと」
ただそれだけです。
適切な名前をつけること。
役割を分けること。
意図をコメントに残すこと。
それは、登山道にリボンを結んでいくような作業に似ています。
登るとき(実装するとき)は少し手間かもしれない。
でも、下山するとき(修正するとき)や、次に登る人にとっては、それが命綱になります。
「速さ」は確かに魅力的です。
ビジネスの現場では、スピードが求められる場面も多々あります。
けれど、本当のプロフェッショナルとは、ただ速く走る人ではなく、「走り続けられる道」を作れる人ではないでしょうか。
息切れして倒れ込むような短距離走ではなく、長く、遠くまで行くためのペース配分。
それが、僕たちが目指すべき「設計」のある開発なのだと思います。
優しさは、巡り巡って自分に返ってくる
今日、あなたが書くそのコード。
それは、半年後のあなたを助けるでしょうか。
それとも、苦しめるでしょうか。
もし、今あなたが「速さ」という正義に疲れを感じているなら。
一度立ち止まって、未来の自分に手紙を書くつもりで、コードと向き合ってみませんか。
「ここは少し時間がかかったけど、読みやすくしておいたよ」
そんな小さな優しさを込めるだけで、コードは無機質な文字列から、体温の通ったメッセージへと変わります。
そして忘れないでください。
未来のあなたを救えるのは、今のあなただけなのです。
焦燥感に追われる夜ではなく、安心して眠れる夜を迎えるために。
僕は今日も、速さを手放し、少しの「手間」を愛そうと思います。
あわせて読みたい
▼ エンジニアとしての「あり方」に迷った時に
過去の自分が書いた「クソコード」を見て、顔から火が出るような恥ずかしさを感じたことはありませんか?
それはあなたが成長した証です。
過去の自分を責めるのではなく、和解し、次の一歩を踏み出すためのマインドセット。
▼ AI 時代に「書く」意味を問い直したい時に
GitHub Copilot や ChatGPT がコードを書く時代。
私たちは何を書くべきなのか?
AI を「魔法使い」として崇めるのではなく、「相棒」として共に歩むための距離感について綴りました。
▼ 日々の開発に「感情」を取り戻したい時に
「fix typo」だけのコミットメッセージに別れを告げよう。
コミットログに「なぜ」と「感情」を残すことで、それは無機質な履歴から、未来の自分を救う「日記」へと変わります。
ひとりごと
この記事を書きながら、昨日書いた自分のコードを見返していました。
「……うん、まだちょっと不親切だな」
と反省して、変数名をリネームしました(笑)
完璧な設計なんて存在しません。
でも、「少しでも良くしよう」というその姿勢だけは、持ち続けたいものです。
未来の僕が、今の僕に感謝してくれることを願って。

いいなと思ったら応援しよう!
最後まで読んでいただき、ありがとうございます。もしこの記事が「役に立った」「心に響いた」と感じたら、珈琲一杯分サポートいただけると嬉しいです。あなたの温かい応援を力に、また次の創作活動に励みます。