🧘‍♂️

プログラミングの極意

に公開

はじめに

今年で40歳になります。
プログラミングを始めて20年。
Webエンジニアとして生き続け、いわゆる「プログラマ35歳定年説」もなんとか越えて、今も現役でコードを書いています。

最近はAIによるvibe codingの流行や、エンジニアの大量リストラの話もよく見かけますが、そんな中で**僕なりの「プログラミングの極意」**を、改めてまとめてみたくなりました。

僕の思うプログラミングの極意は「書かないこと」

Webプログラミングの世界で、「できる」ことは山ほどあります。
でも、**「それって本当に書く必要あるの?」**って、よく思います。

例えば、WordPressで十分な案件に対して、

  • 「要件的に向いてない」
  • 「カスタマイズ性が〜」

といった理由でフルスクラッチして、数年後にメンテ不能状態。
技術が古くなったとか、技術的負債が〜といって裏リニューアルに突入…。
こういった現場、何度も見てきました。

本質はコードの外にある

重要なのは「何を作るか」より「なぜ作るのか」。
その上で、

  • 既存ツールで代替できるのか
  • 業務フロー自体を変えた方が早いのでは
  • 本当に求めている成果は何か

といった視点で考えられるかどうか。
それがエンジニアにとって一番大事なスキルだと思います。

小さな機能の積み重ねが“沼”になる

簡単な実装はすぐできます。でもそれが積み重なると、

動きは複雑、誰も全体を把握できない、
引き継ぎ不能なピタゴラスイッチの完成。

みたいなことに陥ります。

もちろんテストやドキュメントで担保はできるけど、**「そもそも不要なコード」**が溜まっていくと、コードベースはどんどん太ります。

書かないために必要なこと

  • 問題の本質を見抜く力
  • クライアントや社内との対話力
  • シンプルに落とし込む設計力
  • 「これやらなくてよくない?」と言える勇気

このへんが揃って初めて、**「書かない選択」**ができるようになります。

僕は、バカでも読めるコード、誰でも直せる設計を心がけています。

「顧客が本当に欲しかったもの」は誰にもわからない

でも、それにできるだけ近づこうとする姿勢があるかないかで、プロジェクトの空気って全然違う。

https://dic.nicovideo.jp/a/顧客が本当に必要だったもの

この画像、すべてのWeb開発者に一度は見てほしいです。

おすすめの一冊

問題解決を「本質から」考えるという点で、何度も読み返してる本。

📘 イシューからはじめよ[改訂版]――知的生産の「シンプルな本質」

手を動かす前に考える、という姿勢を身につけたい人には全力でおすすめ。

最近ハマってること

Rubyのエンドレスメソッドに最近ハマってます。
def create = ... みたいに、書いてて気持ちいいし、Simpleでいい。
Rubyのこういう美学、好きです。

書かないことと言いながら、vibe coadingやってます。めっちゃすごいけどプロンプトがむずくてなかなか調整ができないです。でも近い未来本当に言うだけで全部できちゃう時代が来る予感がします。

さいごに

プログラミング歴20年を経て、辿り着いたシンプルな答え。

書かなくて済むなら、それが一番いい。

「作らない勇気」「書かない設計」が、これからの時代を生き抜く一つの鍵だと、僕は信じています。


心に余白を持ちながら、今日も静かにキーボードを叩いています。
それでは、良い開発ライフを。

Discussion