こんなツイートをはじめ、2022年の正月あたりからぽつぽつ「#ベタープログラマ」というハッシュタグ付きでつぶやいていましたが、ベタープログラマを読みました。

もともと、翻訳された柴田さんの勝手なファンだというのもあって気にはなっていたのですが、オライリーの技術書サブスクに含まれているのを見かけて「今だ!」と思ったのがきっかけです。

参考:O’reilly Learning Platformに登録して技術書を読み漁ろうと思う - テストウフ

ベタープログラマ、つまりよりよいプログラマになるための色々が書かれている本で、『リーダブルコード』のようなコードの具体的書き方を中心にかかれているわけではなく、

  • プログラマとしての姿勢
  • 生活で気をつけるべきこと
  • 学び方

など多岐にわたるトピックに触れられています。

どちらかというと「よし、やろう!」と思わせてくれるようなことが書いてある本(「エモみ」を摂取する本)なので、連休中に読むにはぴったりでした。

とくに気にいった箇所は以下

テストや品質にまつわる箇所

10章 バグ狩り

デバッグに費やされている時間はどの程度だと思いますか。世界中のすべてのプログラマがデバッグに費やしている時間を合計するとどの程度だと思いますか。推測してください。なんと、年間3,120億ドルもの金額がソフトウェアをデバッグするプログラマの賃金として支払われています。これは、2008年以降のすべてのユーロ圏による緊急救助金の二倍の額になります。膨大な金額ですが、これはケンブリッジ大のジャッジビジネススクールにより行われた調査によるもので、実際の数字です。

これは知らなかったし、バグは早い段階で見つけたほうがいいですよ的な説明の根拠の1つにできそうです。

11章 テストの時代

冒頭のツイートでも引用しましたが、

容易に修正可能で防げる誤りはQAの時間を浪費します。自動化されたテスト一式はそのような誤りが入り込むのを防ぎます。つまり、QAの人達が見つけるものは、単純なバグではなく、本当にたちの悪いバグであるべきです。

このへん含め、普段テストや品質に関わっている身として同意できるようなことが多々書いてあります。

よりよいプログラマ、はちゃんとソフトウェア品質を考えられるはず。。

姿勢について

24章 学びを愛して生きる

何を学ぶべきか、について

究極的には、面白いと思うものを選んでください。あなたのためになるものを選んでください(学ぶという行為自体はよいことですし、新たな役立つスキルを得られたり、視野を広げたり、喜びをもたらしたりするものを選択することもよいことです)。多くの時間を投資するので、賢く投資してください。

自分はどちらかというと「面白い」というよりは「気になる」とか、もっというと「なんとなく」で学びの対象を選んできた・・・のでこの「投資である」という考え方は少し取り入れたほうが良さそうだなと感じました。雑食も楽しいんですけどね。人生有限なので。

28章 倫理的なプログラマ

倫理的なプログラマは、燃え尽きるような働き方をしません。それは、個人的に不都合であるだけではなく、チーム全体に対しても悪い影響を与えます。毎週、何十時間も残業すれば、疲れ切ったプログラマになり、必ず不注意な間違いを生み出し、悪い結果となります。

ちょうど今睡眠の本を併読していることもあって、「しっかり休む」ような点についても書かれているのが好印象だった。特にこの手の「やる気にさせる」本を読むとつい「がんばる」方向にいきがちなので。

全体通じて

あまり流行り廃りに影響されない本なので、チームみんなで読んだり、それこそ夏休みや冬休みなどのまとまった休みのタイミングで本棚から出してパラパラと眺めて普段の自分をふりかえる機会にするとよさそうです。

原著が2014年に出ているのですが、前半のテクニカルな部分含め「もっと早く読んでおけば・・・」という気持ちと、「この本が陳腐化するくらいに世の中が進んでほしい」という気持ちといろいろ湧いてきますね。

世の中はさておき、自分の周囲に薦めて、ちょっとずつ「プロのエンジニアとしての姿勢」みたいな文化を広めたい。(まず自分が実践)

関連しそうな本

SOFT SKILLSもエンジニア人生をどうすべきか的なヒントが書かれているので、一方が好きな人はもう一方も好きそう。SOFT SKILLSのほうが若干読み口は軽い。

プログラマー”まだまだ”現役続行、はベタープログラマを翻訳された柴田さんの著書。

プログラマーとしてやっていくには、という本だけれども、プログラマー以外のエンジニアにも通じる部分が多く、自分は好きです。