ずいぶん昔に、 『Joel on Software 』という書籍を読んだことがあります。(発売は2005年)
ソフトウェアエンジニアである著者 Joel Spolsky の有名なブログが書籍化したもので、当時多くのソフトウェア開発者のバイブルの一つになっており、技術系のブログでも比較的多く言及されていたように思います。既に最初の転職をしてから3年近くが経ちコードから縁遠くなっていた当時の私でも、非常に興味ぶかく読んだ記憶があります。(今でも日本語訳の多くをこちらで読むことができます。感謝)
書籍には、「あなたが絶対すべきでないこと PART I(原題:「Things You Should Never Do, Part I」)」として収録されている有名な文章があります。この場合のあなた(≒ソフトウェア企業)が絶対すべきでないこととは、「プログラムをスクラッチから書き直すと決めること」だと、Joel は指摘しています。
私たちはプログラマだ。プログラマというのは、心の中では建築家なのだ。建築家が建築予定地に来て最初にやりたいと思うのは、その場所をブルドーザーでまっさらにして、何かすごいものを建てるということだ。私たちは、修繕して、改良して、花壇を植えて、という改修みたいな作業にはあまり興奮しない。
プログラマがいつでも既存のコードを捨てて最初からやり直したいと思うには、ちょっとした理由がある。その理由というのには、古いコードがクズだと思っているからだ。
( 『Joel on Software 』 P204)
私がこの一文に惹かれるのは、それがプログラマに関わらず、何かを作り上げる・組み上げる類の仕事に共通する、避けがたい陥穽だと思うからです。
職業柄、誰かのつくった広告アカウントを見たり調べたり、ときにコメントやアドバイスを求められたりすることが多いのですが、この「最初からやり直したい」という欲求は、その対象次第では、どうしてもついて回ります。
そして、時を経てその欲求に自制がきくようになってからも、誰かから似たような欲望の発動を認めたり、言葉の端々から漏れるそれを感じるられるようになるたびに、この一節を思い出すのです。
なぜフェンスが建てられたのかわかるまで、決してフェンスをとりはずしてはならない
(Don’t ever take a fence down until you know the reason it was put up)
上記はチェスタートンの格言ですが、やり直しという欲望の陥穽から自由になるには、フェンスの前で立ち止まる思慮深さも、フェンスが建てられた背景に思いを寄せる想像力も、その想像力の原資である多種多様な経験も、必要なのかもしれません。必要なことが、フェンスを無遠慮に外したがる人より、いくつかは多いような気がします。
とはいえ、本当にやり直した方がいいケースもあったりするので、そういう意味でもやっぱり「想像力」は重要な能力であり資質なんだろうなあと思ったりもします。むずかしいですね。
—
さて、こんな古い書籍を令和の今になって思い出したのは、この夏の課題図書として、久しぶりに以下の書籍を読み直したからなのでした。
読後感が前回(10年近く前)と違うのは、ひとえに自分の状況が変わったからだと思いますが、先のことを考えるのに、これまでの背景や経緯を無視することはできません。
いや、別に無視してもいいのかもしれないですけど、先人の積み上げを無視できるほど、自分や周りを過大評価して得することは少ないでしょう。
そして、どうなるのかを予想して楽しむより、どうしていきたいかを考えたほうがもう少しだけ楽しいので、せっかくなら楽しみたいなあとも思います。LIFTもこの9月で2期目が終わります。早いもんです。