私の技術書の選び方



# 0.はじめに

---------------------
## 自己紹介

中小SIerで社内Webシステムを開発。
Java, JavaScript, HTML, SQLを触っている。

技術書を毎月1~2冊購入。

<img width="492" alt="マイ本棚.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/37903/c9d9ed6c-7624-4416-297c-db891d464499.jpeg">



---------------------
## 良書だと思う技術書

* 「明解C言語 入門編」SBクリエイティブ
* 「EFFECTIVE JAVA 第2版」丸善出版
* 「プログラマのための文字コード技術入門」技術評論社
* 「はじめてのAndroidプログラミング」SBクリエイティブ

<img width="402" alt="良書一覧.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/37903/72e224cb-0005-7dde-00e0-33d3b89a4b1b.jpeg">


---------------------
## 今回登壇した理由

* 技術書に対する考え・行動を、整理したい
* 技術書に対する考え・行動を、知ってもらいたい



---------------------
## 目次

1. 技術書の購入について
2. 私が考える良書
4. 私の技術書の選び方
5. まとめ
6. [補足] 技術書との付き合い方
6. [補足] その他


---------------------
# 1. 技術書の購入について

---------------------
## 私がネットでなく技術書を読む理由

* 体系的に学べる
     - 情報が整理されているので、理解しやすい

* 集中して学べる
     - ネットだと、つい動画やSNSを見てしまう
     - ネットだと、余計なことを検索してしまう

ネットより技術書の方が、学習の効率が良い。


---------------------
## 私が技術書を買う理由

* 買えば「読まないのは勿体ない」と思い、少なくとも1~2時間は読むから
* 図書館や人から借りると、結局読まないから


### [補足] 3割読んだら元が取れる
「勿体ない」という気持ちが、「読む」力でなく「買わない」力に働くときがある。
「あの本難しそうだから買っても読まないだろう」という感情。
そんなときは「3割読んだら元が取れる」と自分に言い聞かせて、購入する。
※何をもって「元が取れるか」は不明。

---------------------
## 私が技術書を買うタイミング

* 新しい言語、ツールを学習するとき
    - 「入門系」、「やさしい系」を購入
* ステップアップしたいとき
    - 「Effective系」、オライリー本を購入
* おもしろい本を見つけたとき




---------------------
# 2. 私が考える良書


---------------------
## 技術書を判断する軸

* 分かりやすい、分かりにくい
* 中身が濃い、中身が薄い
* 間違いが少ない、間違いが多い


---------------------
### 分かりやすい、分かりにくい技術書

#### 分かりやすい技術書の特徴

* 平易な文章
* 誤字脱字が少ない
* 最初から順に読んでいけば、分からない用語・文章に出会わない
    - 章立てが適切
    - 著者が対象読者をイメージできている
    - 挫折しない
* サンプルコードに対する説明が多い
* キャプチャ画像や図が多い



#### 分かりやすい、分かりにくい技術書の例

* 分かりやすい：「入門系」、「やさしい系」
* 分かりにくい：オライリー本


---------------------
### 中身が濃い、中身が薄い技術書

#### 中身が濃い技術書の特徴

* その本にしか載っていない内容がある
* 事実や規則の理由や根拠が、詳しく述べられている
* 情報量が多い
* 価格が高い

#### 中身が薄い技術書の特徴

* ありきたりの内容
* 情報量が少ない、「かさ増し」感がある
   - フォントが大きい
   - ページ数が少ない
   - サンプルコードだけのページが多い(本来、コード適切に分割して説明すべき)
   - 無駄にキャプチャ画像、図、イラストが多い
   - 似たようなメソッドの説明が多い(オーバロードしたメソッドなど）

#### 中身が濃い、中身が薄い技術書の例

* 中身が薄い：「入門系」、「やさしい系」
* 中身が濃い：オライリー本、「WEB+DB Press本」



---------------------
### 間違いが少ない、間違いが多い技術書

「間違い」とは？

* 情報が古い
    - 非推奨の機能を説明している
    - 新しい便利な機能を説明していない
    - Web系の本は5年以上前だと古い
    
* サンプルコードが悪い書き方
    - 不要な処理
    - アンチパターン
    
* サンプルコードが動かない


「間違いが多い」技術書は、読んではいけない。
間違った知識や悪い癖が身についてしまう。

しかし、「間違いが多い」と判断するには知識が必要。
購入時に自分では判断できない。

---------------------
## 良書、悪書、普通書

<img alt="良書_悪書_普通書の分布" src="https://qiita-image-store.s3.amazonaws.com/0/37903/123fb14d-b490-97a5-420a-9db81afe9a40.png" >

* 「分かりやすい」AND「中身が濃い」ならば「良書」
* 「分かりにくい」AND「中身が薄い」ならば「悪書」
* 上記以外を「普通書」と命名

ただし、「間違いが少ない」ことが条件。
「間違いが多い」ならば、常に「悪書」。

#### [補足] 技術書全体に対する割合(感覚値)
* 「分かりやすい普通書」は一番多い
* 「良書」は少ないが、「悪書」はもっと少ない


---------------------
# 3. 私の技術書の選び方

---------------------
## 全体的な流れ

1. 自分の目的に合致する本か確認する
2. 「分かりやすさ」、「中身の濃さ」を確認する
3. 「間違いの多さ」を予想する
4. 1冊に絞り込む


---------------------
### 自分の目的に合致する本か確認する

3. 「はじめに」を読む
    - 対象読者
    - 必要な知識
    - 何ができるようになるのか

4. 目次を読む
    - 全体的な内容
    - 知りたいことが載っているか

---------------------
### 「分かりやすさ」、「中身の濃さ」を確認する

5. 全ページをぱらぱらと読み、雰囲気をつかむ
    - 知りたいことが載っているか
    - 図やイラストの分かりやすさ、大きさ、量
    - フォントの大きさ、見やすさ
    - サンプルコードの分かりやすさ、量

6. 5~10ページを読み、文章の読みやすさを確認する

---------------------
### 「間違いの多さ」を予想する

6. 発行年度を見て、情報の古さを確認する
    - 5年以上前でないか
        
8. レビュを見て、評判が悪くないか確認する
    - 評判が良いかどうかではない


---------------------
### 1冊に絞り込む

以上の情報から、購入する1冊を決める。
「技術書を買うタイミング」によって、「軸」の優先度を変える。

* 「新しい言語、ツールを学習するとき」は「分かりやすい」を優先
* 「ステップアップしたいとき」は「中身が濃い」を優先

 「間違いが少ない」は常に優先したいが、判断しにくい。



---------------------
### 1冊に決めきれない場合

1冊に決めきれないときは、評価しやすいパラメータから1冊に絞り込む。
同じ分野の本を同時に2冊買っても意味がない。

* 値段が高い方
* ページ数が多い方
* フォントが小さい方
* 発行年度が新しい方
    

---------------------
# 4.まとめ

* 私は技術書を、「分かりやすさ」、「中身の濃さ」、「間違いの少なさ」で判断する。
* 私は技術書を買うとき、上記の項目を、自分の経験に基づくパラメータから判断する。
    - ページ数
    - サンプルコード
    - 発行年度などなど


---------------------
# 5. [補足] 技術書との付き合い方

---------------------
## 技術書を読む場所

### おすすめ
* 電車：毎日乗るので読書の計画が立てやすい。読書後の達成感がある。
* コワーキングスペース：ネットできるが誘惑に駆られることが少ない。

### その他
* 図書館：集中できるが、サンプルコードが多い本だと途中で飽きてくる。
* 自分の部屋：誘惑に駆られやすい。時間に対して思ったほど進んでいない。
* 会社の昼休み：周りの目が気になる。
* 外食店


---------------------
## 読むのが苦しくなったら

以下の場合、読むのが苦しくなる

* 文章が分かりにくい
    - 分からない用語が多い
    - 誤字脱字が多い
    - 1文が長い
    
* サンプルコードが分からない、動かない


読むのが苦しくなったら、迷わず別の本に乗り換える。
勿体ないと思わない。
ただし捨てない。
いつか分かる日が来ると信じて、２年間は取っておく。





---------------------
## 積読しすぎない

読む気力が一番湧くのは、本を買った後と捨てる前。

積読すると、「読む」タイミングを逃してしまう。
積読は2冊まで。
買いたい本があっても、「あの本を３割読んだら買おう」と思い我慢する。


---------------------
## 技術書の捨て方

### 技術書を捨てる理由
本棚に入り切らないから。本棚は有限。

### 捨てる際の判断材料
* 内容が古いかかどうか
    - HTML4やAndroid4の本など
* 今後、本に書かれている技術を自分が使うかどうか
    - 「今の職場ならば、今後Servlet,JSPは使わないだろうな」など
* その本を全て読んだたかどうか
    - 本の内容がすべて頭に入っていれば、本を保管する必要はない
    - 入門書の内容を理解できれば、バイブル本を読むことができるので、入門書が不要になる
* 思い入れがあるかどうか
    - 頑張って読んだ本
    - 5000円以上の本



---------------------
# 6. [補足] その他

---------------------
## 技術書に対する感想

* 「WEB+DB Press plus」：平易な文章だけど、分かりやすい。なぜかコレクションしたくなる。
* オライリー本：表紙の動物が特徴的。コレクションしたくなる。「シングルページWebアプリケーション」では、表紙がまさかの人間。そしてカラー。正直気持ち悪い。
* 逆引き本、リファレンス本はあまり買わない。ネットの方が約に立つから。ただしコマンド系は例外。

![オライリー_人間.jpeg](https://qiita-image-store.s3.amazonaws.com/0/37903/8518fcf5-dcfe-d3d7-9429-2a1234e9662d.jpeg)


---------------------
## 技術書関連で知りたいこと

* 各出版社、各シリーズの特徴（技術評論社、SBクリエイティブ…）
* 名古屋の各本屋の特徴（ジュンク堂、三省堂、三洋堂…）
* 技術書の捨てるタイミング、捨てる本の選び方

---------------------
## 発表した後の感想

「[新卒でもわかるソフトウェア開発技術書の良書の見分け方](https://shinsotsu-wakaru.connpass.com/event/58426/) 」という勉強会で発表させていただきました。

他の人の発表を聴いた上で、自分のスライドについての感想です。

* 「悪書は少ない」と言ったが、それは「技術書をたくさん読んでいない」、または「悪書だと判断する技術力がない」だけなのでは？
* 「積読しすぎない」と言ったが、本を読まない言い訳なのでは？