Pragprog 20 周年版(Beta)読み始め

The Pragmatic Programmer, 20th Anniversary Edition: your journey to mastery by David Thomas, Andrew Hunt | The Pragmatic Bookshelf

正式版を読み終えてから感想を書くのが筋だが読み終えられるか自信がないのでベータ版たるいまの目次と冒頭一割くらいを眺めた感想を書いておく。

むかし Rebuild.fm に出してもらった時に自分の pragprog への感想を話した。その印象は改版によっても大して変わっていない。つまり、内容が時代に即していないように思える。ただ振り返るに当時の意見はフェアでもなかったなと思う。

まずこの本は自分のような一定程度キャリアを積んだおっさん向けには書かれていない。キャリアの序盤に読む本である。そのタイミングで読む本として適切なのかに疑問はあるが、自分は junior な人々の教育について考えることに時間を使っていないので特に意見がない。

ついでにいうと、DT/AH の想定していると思われる職業プログラマのジャンルは伝統的エンタープライズだが、自分はインターネット会社でコンシューマ製品の仕事をしている。この違いも大きいと思う。たとえば仕様の話とか全然噛み合わない。新版では旧版の "Great Expectation" という節がなくなり "Delight Your Users" に置き換わっている。コンシューマ製品だとこれがほぼ全て。

なおこの節は冒頭で "Our goal as developers is to delight users. That’s why we’re here. Not to mine them for their data, or count their eyeballs or empty their wallets." と勤務先含む一部テック企業に喧嘩を売っており、ほんと読む気なくすわ。

つまり自分は対象読者ではないし、対象読者について想像もできない。

二点目。一度書かれた書籍の構成を大きく変えるのは難しい。章や節を足したり引いたりすることはできるし細かい書き直しもできるが、アーキテクチャは変わらない。Refactoring や Reservability を語る本がそうなのは皮肉といえば皮肉だが、現実というのはそういうもんであろう。もとの本とぜんぜん違う内容になったら改版するより別の本として売ったほうが良かろうし。

三点目。著者はどちらも 60 前後で人生後半をエンジョイしており、前線で戦ってる感じじゃない。これに文句を言う筋合いはない。自分も 60 になったら前線にいたくない。 Dave Thomas は三年前に出版から足を洗って Elixir を書いているAndy Hunt は逆に本気の作家として SF を書いている。Elixir が前線じゃないというと怒られそうだし新版に concurrency の章が追加されているあたりにフィードバックを感じるが、いずれにせよガツガツ働いてガツガツ稼ぐぞ!というフェーズの人たちではない。ガツガツ本を書いてくれと頼む相手でもなかろう。

やはりいま現役でガツガツ働いてる人がちょっとイキった勢いで書いた新しい一冊が求められている気がする。The Passionate Programmer はその点いい仕事をしたが、これにしたって 10-15 年前。

四点目。ソフトウェア産業の成熟。新版は新しく追加された冒頭の "It's Your Life" という節で「プログラマは引く手あまたの稼げる仕事なんだから、それを活かして人生をコントロールしような」と話す。プログラマは稼げる仕事になった。20年前はそんなでもなかった[要出典]。職能の成熟にともない期待されるレベルもあがったと思う。一冊読んですごく色々わかった気になれる時代は終わったんじゃないか。

いちおう義理でもう少し読みます。


追記: The Pragmatic Programmer 一通り眺めた