はじめに
もしあなたがプログラマ、エンジニアなどコンピュータに関わるお仕事に従事しているなら一度は目にしたことがあるのではないでしょうか。
「達人プログラマー 熟達に向けたあなたの旅」という本のことを。(以下、「本書」と記します)
2019年に出版され、日本語訳が出たのは2020年になります。そう、結構時が経っています。
僕もエンジニアという仕事に従事しておりプログラミングは公私問わず触れていますので、もちろんこの本に興味はあり、いつか買おういつか買おうと思っていたら、日本語版の発売から1年少々経っていました。
それを本日(2022年1月30日)、とうとう購入しました!
本記事ではこの書籍の中身を軽く紹介し、また自分が好きなセクションについてお話しできればと思います。
本の概要
原題: The Pragmatic Programmer - your journey to mastery
(Pragmatic
というのは「実用的な」という意味になります)
発売日: 2019年7月30日。翌年の2020年11月19日に日本語訳が発売されました。
著者: David Thomas・Andrew Hunt、和訳: 村上雅章
第1版は1999年に発売されており、今回の第2版は発売20周年を記念したものになります。
誰向けの書籍なのか
本書のまえがきにも紹介がありますが、
より効率的、より生産的なプログラマーになりたいと願う方々
達人プログラマー 熟達に向けたあなたの旅(xix)
に向けた書籍になります。
なお、出版社であるOhmshaは
プログラマ・ソフトウェア開発者(入門者・ベテランを問わず)
ものづくりにかかわっている人
と公式ウェブサイトで記しています。
https://www.ohmsha.co.jp/book/9784274226298/
僕が好きなセクション
その① よい設計の本質(達人プログラマー 熟達に向けたあなたの旅 p.35)
本書では「よい設計の本質」を
よい設計は悪い設計よりも変更しやすい
達人プログラマー 熟達に向けたあなたの旅(p.35)
と定義しています。
いやー、これは完全に同意です。
ソフトウェア開発をしていると、いやもちろん他の仕事でもそうなんでしょうけど、あとで変更しやすいかどうかで仕事の進めやすさが全然違いますよね。
現代のソフトウェア開発は常にアップデートが求められるので、あとで変更が入ることを前提に設計しなければどんどん大変になっていきます。
なのでこの変更のしやすさ、というのはかなり大事かなと思いました。
大事、というか全ての始まりという感じすらします。
ちなみにこれを1つの言葉で表すのが
ETC原則
達人プログラマー 熟達に向けたあなたの旅(p.35)
といいます。ETCとは Easier To Change の略になります。
その② さらに簡単な方法があるはずだ!(達人プログラマー 熟達に向けたあなたの旅p.326)
本書では、問題が思ったより難しかったと判断した場合、もしかしたらもっと簡単な方法があったにもかかわらず、道を間違ってしまったのではないかと考えるようにすると良いと記しています。
これも僕は完全に同意です。
また本書ではその時は
しばらく他のことをやってみる
達人プログラマー 熟達に向けたあなたの旅(p.326)
一晩寝て考える
達人プログラマー 熟達に向けたあなたの旅(p.326)
ことを推奨しています。そうすることでベターな解法が浮かんでくる、と。
これは僕自身も結構あります。
難しいなと思っていたことに対して、全然違うことをしているときに
あれ、こうすればいいんじゃない・・・?
って思いつくことが多々あります。
他にも色々Tipsがあるのですが、今回はここまでにしておきましょう。
なお、本書の巻末には↑のような格言・TipsがまとめられているTips一覧掲載されていますそこだけ読んでも面白いかもしれません。ちなみにTipsは全部で100個あります。
最後に
いやー、やっぱりこの本は面白いですね。個人的にはエンジニア、プログラマの方々にはぜひ読んでもらいたい一冊です。
例えばですが、職場やプロジェクトやチームで、この書籍を輪読して各Tipsを組織の共通認識として持っていると、コミュニケーションや開発タスクそのものがスムーズにいくんじゃないかなと思います。
興味ある方、ぜひ読んでみてください。