Agent Grow Advent Calendar 2017 4日目を担当するとっつぁんです。
社内では読書が趣味という設定になっているので、まったりと今まで読んでよかった本を紹介しようと思います。
本の題名のところにamazonへのリンクを張っているので、興味がある方は見てみてください。
アフェリエイトとかのアレはないのでお気軽にどうぞ。
技術書編
エンジニアやってるわけですからまずは技術書から。
CODE COMPLETE 第2版 上 完全なプログラミングを目指して
言わずと知れた超有名本。10年くらい前に読んだけどいまだにコーディングのベース知識はここからきています。
※ もう古典になってきてるよなぁ・・・(遠い目
下巻は環境とかテストのお話がメインだから興味を持てなかった思い出。
上巻は割と楽しんで読めた記憶があったけど多分思い出補正で、実際にはあきらめそうになりながら必死で読んでたはずです。。。
それほどプログラミング経験がない人は 「リーダブルコード―より良いコードを書くためのシンプルで実践的なテクニック 」 をおススメします。
少し経験を積んだんけど、どんなコードがいいコードなのかよくわからないよー なんて人はこっちの「CODE COMPLETE」の方がおススメです。
おススメのコーディング規約とかAPI設計のコツとか、いわゆるよく「ある書き方」みたいな経験を積まないと覚えずらいところが書かれています。
これ読んでから職場のコードとかを見たときに「あっ!これCODE COMPLETEで見たやつだ!」ってなった記憶があります。
※ 関数名は 動詞+名詞で作るといいよ とか 命名規則にはキャメルケースとスネークケースがあるよ とか
分厚いからとっつきづらいし重いし途中で飽きるし辛いけど、結構ためになることが書いてあるので未読の人は読んだ見る価値があると思います。
ちなみに当時の自分には高かったので、当時の会社にあった本を読んでいたため手元にはありません。
C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス
あんまり聞いたことがないからマイナーな本なんだと思います。
とりあえずオブジェクト指向がふんわりわかってc++もふんわりわかったけど、どうやって書くと効果的にオブジェクト指向的なコーディングができるのかわからない! っていうときに読んだ本。
ポリモーフィズム(仮想関数)の有効な使い方とか、コンストラクタとデストラクタの有効な使い方とかが書かれています。
この辺の考え方とテクニックは今でもかなり役に立っています。
中身はc++について書かれていますが、思想自体はほかのオブジェクト指向言語でも使えるのでPHPメインになった今でも役に立ちます。
GoFのデザインパターン本も言語問わず役に立つけど、正直分厚いしでかいから持ち歩きづらいです。それよりならこっちを読んでもいいかもしれません。
ちなみに学生時代の友人に貸したらそのまま返ってきていないので手元にはありません。
彼がこのブログを読んでいたら返してほしいなぁ。。。
ゆとりの法則 - 誰も書かなかったプロジェクト管理の誤解
プロジェクト管理ってなんだろ?って思っていた時に読んだ本。ネットで勧められていたのと名前が気に入って買いました。
ビシバシ残業せたりプレッシャーかけたりするとかえって効率が落ちて立ち行かなくなるんだぜ! っていうことを実例付きで書いてくれている本です。
「人間は時間的なプレッシャーをいくらかけられても、速くは考えられない」とか最初のほうのページにある「改良されたパズルの絵」とかなかなかイカす表現がたくさん出てきます。
ある程度余裕があるほうがいい仕事ができるんだよ っていうことが書いてあります。
自分に置き換えてみるととても納得できるのでサクサク読めました。
※ 同時にそれが実践されている職場がどれだけあるのか考えて悲しくなった思い出・・・
同じ作者の本だと「ピープルウェア」と「アドレナリンジャンキー」も面白いからおススメです。
特にアドレナリンジャンキーは読み物としても楽しめます。
「人月の神話」も似た路線の古典本です。
古い本だから文体が硬くて眠くなるけど、人月って実体がないしあてにならんから信じすぎないほうがいいよ っていうことを40年くらい前に書いてる本です。
ちなみにここで紹介した本は全部手元にあります。ふふふ。
その他の本
読書が趣味っていうくらいなので他の本も紹介しておきます
道は開ける
ストレスに弱かった若いころに読んで激しく影響を受けた本。
大体の本は一回読んだらもう読まないけど、この本は10回以上読み直しています。
読むたびに発見があるいい本だと思います。
悩みが多くて対処にてこずっている方や、ついストレスをため込みがちになってしまう方なんかにおススメです。
読むだけでなく実践すれば今とは比べ物にならないほど悩みやストレスに強くなると思います。
というか私が強くなったのでおススメします。
スクラム 仕事が4倍速くなる“世界標準”のチーム戦術
えっ?これは技術書じゃないか?
いえ、これはスクラムの始祖がスクラムをビジネスの観点で解説したビジネス本です。
いくつかアジャイル開発系の本を読みましたが、この本が一番参考になったというか頭に残っています。
実例を交えてこうやったらうまくいった、こうやったら失敗した というところを説明しているので、イメージしやすかったのが良かったのかもしれません。
具体的な手法については「SCRUM BOOT CAMP THE BOOK」を読むほうがよくわかると思います。
注意点としては、この本を読むと「もう全部アジャイルでいいじゃん」となりがちになってしまうことです。
中途半端に取り入れたなんちゃってアジャイルはウォーターフォールよりも危険だと個人的には思っているので、実際に取り組む時には事前の勉強とか準備をしっかりするのが大事だと思います。。。
ホワット・イフ?――野球のボールを光速で投げたらどうなるか
空想科学読本が好きだった方にはおススメです。肩の力を抜いてニヤニヤしながら読める本です。
「野球のボールを光速で投げると何が起こるのか」とか「使用済み核燃料プールで泳ぐとどうなるか」や「突然地球が自転をやめたらどうなるのか」など、ちょっと何が起こるかわからないなぁということが棒人間を使った脱力系の絵とわかりやすい文章で書かれている本。
大体斜め上方向の結論になるか人類が滅亡するので、電車で読むときはニヤニヤしすぎに注意です。
クロージング
もっと紹介したい本はたくさんありますが、この辺にしておきます。
また機会があったらここで紹介しきれなかった本を紹介したいと思います。
明日はどんな内容かしら?楽しみですねぇ。