give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

影響を受けた3冊、というテーマで直感的に思い浮かんだ本を挙げてみる

はじめに

先日開催されたRails Developers Meetup 2019で、登壇者の方々が「影響を受けた3冊」を挙げられていたそうです。

上記のQiita記事を見てると、なかなか興味深い内容になっていたので、僕もちょっと考えてみました。

あまり深く考えずに「影響を受けた3冊」というキーワードだけで、直感的に頭に浮かんだ本を挙げてみます。

16/1.2013 - amazon haul

1冊目:CODE COMPLETE

最初に入ったSIerで1〜2年ほど過ぎた頃、なんとなく感じていた「いいコードと悪いコードの違い」がこの本の中にきれいに明文化されていて「うお〜っ!!」と衝撃を受けた本です。

それまではただの「感覚」だったコードの良し悪しに、ちゃんと理由が付けられるということを知って非常に感動しました。

つまりこれは、「あの書き方、なんか変だよなー」と思っていた先輩プログラマのコードに対して、「これはこうこう、こういう理由であまり良くない書き方ですよ。こっちの方がいいですよ」と明確な理由を付けて、ダメ出しができるということです(苦笑)。

たとえば、こんな感じです。

ここで変数を宣言すると、スコープ(変数の寿命)が広すぎますよね。だから、そこよりもここで宣言する方が適切ですよ。

この本を読んで以来、僕は「きれいなコード(=可読性と保守性の高いコード)」を追求するのが大好きになりました。

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

CODE COMPLETE 第2版 下 完全なプログラミングを目指して

CODE COMPLETE 第2版 下 完全なプログラミングを目指して

ただ、CODE COMPLETEは2冊構成で、値段も高いし、読むのも時間がかかるので、今だったら「リーダブルコード」を読む方が手軽かもしれません(僕がCODE COMPLETEを読んだ頃はまだ発刊されていなかった)。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

  • 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2012/06/23
  • メディア: 単行本(ソフトカバー)
  • 購入: 68人 クリック: 1,802回
  • この商品を含むブログ (140件) を見る

ちなみに、CODE COMPLETEを読んだ影響で、「先輩が書いたコード、全然ダメじゃん」と思って書いたのが、こちらのブログエントリです(苦笑)。

blog.jnito.com

2冊目:MY JOB WENT TO INDIA(情熱プログラマー)

現在は「情熱プログラマー」というタイトルで発売されていますが、僕が読んだ頃は「MY JOB WENT TO INDIA」というタイトルが付いていました。

僕は「MY JOB WENT TO INDIA」というタイトルの方が刺激的で好きです。
だって、「俺の仕事はインドに取られちまった」ですから。

「MY JOB WENT TO INDIA」には「オフショア時代のソフトウェア開発者サバイバルガイド」というサブタイトルが付けられています。
まさにサバイバル、ソフトウェア開発者として生き残るにはどうすればいいか、というテーマで、ITエンジニアのあるべき姿が論じられています。

こうやって目次を並べるだけでも、「うんうん、ほんまにそうだわ」と思う内容が満載です。

■ 第1章 市場を選ぶ
1 先んずるか、やられるか
2 需要と供給
3 コーディングはもう武器にならない
4 一番の下手くそでいよう
5 自分の知性に投資しよう
6 親の言うことを聞くな
7 万能選手になろう
8 スペシャリストになろう
9 自分の人生を他人任せにするな
10 愛せよ、さもなくば捨てよ

■ 第2章 製品に投資する
11 魚の釣り方を学ぶ
12 ビジネスの仕組みを学ぶ
13 師匠を探す
14 師匠になる
15 一に練習、二に練習
16 プロセスを大切にする
17 巨人の肩の上で
18 自動化によって仕事を確保する

■ 第3章 実行に移す
19 今すぐに
20 読心術
21 デイリーヒット
22 誰のために働いているのか思い出す
23 今の職務を全力で
24 今日どれだけうまく仕事ができるか?
25 自分にどれだけの価値があるか?
26 バケツ一杯の水の中の小石ひとつ
27 保守作業の真価を知る
28 8 時間燃焼
29 失敗する方法を学ぶ
30 できないことは「できない」とはっきり言う
31 あわてるな
32 言って、成して、示す

■ 第4章 マーケティングスーツ族だけのものじゃない
33 視点が違えば認識も異なる
34 アドベンチャーツアーガイド
35 オレ、作文的なのは得意っすよ
36 そこに居ること
37 スーツ語
38 世界を変えよう
39 業界で名前を売ろう
40 自分のブランドを築こう
41 自作のコードをリリースしよう
42 目立つこと
43 コネを作る

■ 第5章 研鑽を怠らない
44 既に時代遅れである
45 君は既に職を失っている
46 終わりのない道
47 自分のロードマップを作る
48 市場に気を配る
49 鏡の中の太った男
50 南インドのサル捕獲トラップ
51 ウォーターフォール式のキャリア計画はやめよう
52 昨日よりよく
53 独立する
楽しもう

この本を読んだものやはり、最初に入ったSIer時代です。
あれから20年近く経ち、35歳定年説なんかどこ吹く風で今でも楽しくコードが書けているのは、この本を読んで技術者としての方向性をしっかり見定めたおかげかもしれません。

My Job Went To India オフショア時代のソフトウェア開発者サバイバルガイド

My Job Went To India オフショア時代のソフトウェア開発者サバイバルガイド

情熱プログラマー ソフトウェア開発者の幸せな生き方

情熱プログラマー ソフトウェア開発者の幸せな生き方

ちなみに、最近出た本の中で「MY JOB WENT TO INDIA / 情熱プログラマー」に比較的近い本は、「SOFT SKILLS」です。

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル

「MY JOB WENT TO INDIA」に比べると、ハッカー臭が薄く、お金やビジネス面の話題がやや多いところはありますが、それでもやはり「技術者が生き残るには」を考える上では有益な情報がたくさん載っています。

blog.jnito.com

3冊目:人を動かす

上の2冊はプログラミングやプログラマとしての生き方に関連する本でしたが、この本は人生全般に関わる本です。
というか、何かに付けて僕はこの本の名前を挙げているので、僕のブログを以前から読んでいる方は「あー、またか」と思われているかもしれません(苦笑)。

いや、でも本当にこの本は僕の人生を変えました。
たとえば、前回書いた「約20年ぶりの初対面」というエントリでは、えーじさんの大好きなB'zの松本を僕がdisるエピソードが出てきますが、今だったら絶対こんなことは言いません。

この本を読んで以来、「人が言われて嬉しいこと」と「人が言われて嫌なこと」が想像できるようになりましたし、頭に浮かんだことをすぐ口にする(もしくはTwitterに書き込む)のではなく、一呼吸置いて「発言すべきかどうか(相手のメンツを潰さないかどうか)」を考えるようになりました。

僕は特定の宗教を深く信じている人間ではありませんが、あえて自分が信仰している宗教を挙げるなら「人を動かす教」かもしれません。
仕事でもプライベートでも、僕は常にこの本の教えに従って行動しています。

人を動かす 新装版

人を動かす 新装版

このブログや過去のスライドにも「人を動かす」が役に立ったエピソードをたくさん載せているので、興味がある人はチェックしてみてください。

blog.jnito.comblog.jnito.comblog.jnito.comblog.jnito.com


まとめ

というわけで、このエントリでは僕が影響を受けた本を3冊挙げてみました。
どれも良い本なので、もし「まだ読んだことがない」という本が入っていた場合はぜひチェックしてみてください!

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

CODE COMPLETE 第2版 下 完全なプログラミングを目指して

CODE COMPLETE 第2版 下 完全なプログラミングを目指して

My Job Went To India オフショア時代のソフトウェア開発者サバイバルガイド

My Job Went To India オフショア時代のソフトウェア開発者サバイバルガイド

情熱プログラマー ソフトウェア開発者の幸せな生き方

情熱プログラマー ソフトウェア開発者の幸せな生き方

人を動かす 新装版

人を動かす 新装版

あわせて読みたい

オススメ本を紹介するエントリは過去にもいくつか書いているので、こちらも参考にしてみてください。

blog.jnito.comblog.jnito.com

おまけと宣伝

オススメ本を紹介している僕自身も技術書を1冊書いています。
何年後かにまたRails Developers Meetupのようなイベントで「影響を受けた本3冊」をアンケートしたときには、「プロを目指す人のためのRuby入門」を挙げてくれる人がいたら嬉しいな〜と思います😊