2019年に読むJoel on Software

2019年も半分が過ぎてしまいました。
ITの世界は技術の進むスピードがとても早く、5年前の技術が既に廃れてしまって使えなくなっている事すらも多いです。
私は未だにfabricというツールが好きなのですが、もうとっくに名前すら聞かなくなってしまいました。

「私が好きなfabricというものはAnsibleが世に出てくる前にたくさんのサーバサイドエンジニアのsshコマンドを打つ時間を減らしてくれた素敵デプロイツールで5年前は結構流行ってたのだけど、その余りに汎用的な名前のせいで他にたくさんのfabricというソフトウェアが出来てしまい最近はめっぽう聞かなくなってしまった悲しいツールで…」みたいな早口注釈を付けないと人には分かってもらえないほどに。

そんな中、私がこれから感想を書きたいと思っているのは2005年に出版された本です。
邦訳が2005年なので、原文はもっと古く、もはや古典時代の本と取られるかもしれません。
ですが、私と同じjoel信者の人は、なぜこの本を最初に感想文として書いたか分かってくれるだろうし、信者じゃない人も「あぁ、こいつはjoel信者なんだな」と理解はして貰えるかな、と思っています。
読んだ事のある人は懐かしい気持ちに浸りながら、まだ読んだ事の無い人は少しでもこういう古典の上で成り立っている人間がいるんだ、と関心を持って貰えれば、と。

Joel on Softwareって?

Joel Spolskyという海外のエンジニアが、日々ブログに纏めているエッセイを書籍としてまとめたものです。
原文
https://www.joelonsoftware.com/
日本語訳
https://komiyak.hatenablog.jp/entry/20140618/1403089671
書籍を買わずに日本語訳から入るのも良いでしょう、私が初めてjoelの記事に出会ったのは新卒の時にデザインパターンの学習をしていた時にたどり着いた記事でした。
http://local.joelonsoftware.com/wiki/(Forum)_%E7%A7%81%E3%81%AF%E3%81%AA%E3%81%9C%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%8C%E5%AB%8C%E3%81%84%E3%81%8B
(URLの見た目が良くない…)
「Why I Hate Frameworks」この記事には驚きました。当時の私はデザインパターンはとても優れた問題解決の手法の一つで、全ての問題はデザインパターンによって解決出来ると思っていたのに。
生来卑屈な私は、このような記事に虜になりました。
一般的な「良いこと」とされている事ではなく、どのような考え方をすれば物事の本質的な事を考えれるのか、そのような考え方の真似をするようになったのはこの書籍に出会ったからでした。

今、2005年の本をよむ理由

とはいえ、今ではデザインパターンは古くなっていて、もっと良い考えをしようという動きが一般的になっています。
それでも、joel softwareを読む価値があるのか?
私はあると思います。

例えば、「Back to Basics」。データを定義するフォーマットとしては、まだjsonやyamlやtomlや何が良いのか…議論が続いています。その時、なぜXMLの選択肢が良くなかったのか、その説明が出来ない場合は特に。

例えば、「Five Worlds」。プログラミング言語やツールを語る時、その語られる世界がどのような場所か、という観点が抜けたまま語られる事をよく見かけます。データストアなんてMySQLだけで十分だ!という前に、その世界が組み込みやメディアの世界じゃないと意識していない場合は特に。

例えば、「The Iceberg Secret, Revealed」。非エンジニアの人に出来たばかりのviewを見せて、その後の進捗会議で上手く話が合わなかった事は無いでしょうか。そのような過去の私のような経験をした人が「顧客が本当に望んでいたもの」を上手くコントロールするために、特に。

今、世で語られている技術の話は未だに当時joelが語っていた内容、もしくはその延長線上だと思うのです。
これらの話は、2019年の今でさえ変わらなかったりホットな話題だったりするので。

温故知新で行こう

きっと将来語られる事も、このような過去の話を元に語られると思うのです。
私は人にSICPを同じ理由で勧めて嫌な顔をされる事が多いのですが、きっとjoel softwareのようなユーモアたっぷりな書籍だと、簡単に読み始める事ができる気がするのですね。
私の体験としても、専門学校で出来の悪かった自分自身が曲がりなりにもエンジニアとしてやれてるのは、このjoelが言っている事を自分なりに噛み砕いて、なんとか自分の言葉で喋れるように出来たからだ、と思っています。
当時の私がSICPを最初に読んでも理解できなかったでしょうし。
もっとも、それ以上の上澄みは出来ていないのかもと反省する事もありつつ……。
こんな書籍を2000年に書いていたjoelとは、一体どういう人なのでしょう?
日本語のwikipediaを見ると記述があります。

「Microsoft Excelチームのプログラムマネージャ、VBAを推進」

すごい!ただ、少し前…それこそ20年ぐらい前の人かな……。
いや、少し待ってください。ちょっと英語版wikipediaのjoelの記事を見てみましょう。

「the creator of the project management software Trello. In 2008, he launched the Stack Overflow programmer Q&A site in collaboration with Jeff Atwood.」

そう、カンバンツールのTrelloの製作者であり、Stack Overflowの共同設立者なのです。
もっとも、joelはたまに間違った主張をすることもあります。
日本の一部エンジニアに有名なのは、Rubyの実行速度が遅いと批判した事でしょう。(後に、限定的ではありますが撤回しています)
また、gitが世に出た時も批判して、こちらは全面的に撤回していました。
ただ、出した内容も改めて判断材料が揃って違うと思えば撤回する、というのも個人的に見習いたいな、と思っている箇所ですね。
TrelloとかStack Overflowに引っ張られる形にはなってしまうのですが、改めてこの本を見ると、いかに物事の本質を見て考えているのか、というのを実感できます。

今、最初の方に紹介したwww.joelonsoftware.comには、中々刺激的な記事が記載されています。
「We’re looking for a new CEO for Stack Overflow. 」
どうやら、Stack Overflowの新しいCEOを探しているようです。
私は少しRubyのコードを書くのに忙しいので今回は行けませんが、この記事でjoelに興味を持たれた方はいかがでしょうか?

この記事が気に入ったらサポートをしてみませんか?