ITの技術書は選び方が9割
増井敏克・IPUSIRON『「技術書」の読書術』を読んだ。(2023/10/18読了)
こんな人に読んでほしい
・IT資格試験対策として、IT分野を網羅的に知りたい人。
・プログラミングに挑戦しているけど、難しくてもうやめたいと思っている人。
・システム開発の仕事をしているけど、仕事に関わる知識だけを効率よく得たいと思っている人。
・とにかくIT初心者全般。
本の内容
Q. この本はどういう本か?
A. 主にITの開発側の人間に「技術書」や「コンピュータ書」の選び方・読み方を教えてくれる本である。「技術書」はプログラミング、開発手法、各種テクノロジーのしくみや理論、IT資格試験対策を指す。
本の構成:IT技術書の①選び方、②読み方、③アウトプット
Q. ずばり「技術書」を読むときは何を心がけたらいい?
A. 「本を読む目的」を最初に明らかにすること。目指すゴールは何かを自分に問いかけること。
WHY:なぜか?
目指すゴールによって選ぶ本が変わるから。
ITの技術書にはさまざまな種類の本がある。
・体系的な知識を得たいのか
・特定のテーマについて知りたいのか
・資格が欲しいのか
・コードが書けるようになりたいのか
それに加えて、入門書、専門書など、本の難易度も関わってくる。まず、どんなことが知りたいのかをはっきりさせる必要がある。時間を無駄にしないため
自分の疑問に100%答えてくれる本は存在しないが、自分の疑問を明らかにしていれば、見当違いな本を避けることができる。ただでさえ難しいITの技術書を一生懸命読んだのに、得られるものが少ないなら時間がもったいない。最初に「自分の課題」と「本の内容・難易度」のすり合わせをすることが大切だ。自分の目的そのものが頓挫してしまうことを防ぐため
本を手に取った時点でその本を読む目的が何かあるはずだ。しかし、自分の目的と本の内容が噛み合わないとストレスになってしまう。読む本を変更するくらいなら良いが、自分の目的そのものを放り出してしまうなら問題だ。
IT初心者が玄人向けの難解な技術書を手に取って「内容が全く理解できない。自分には才能がない。ITを勉強するのは向いていない」と思い込んで勉強をやめてしまうのはおかしな話だ。ちゃんと入門書を選べば何のことはない。自分が悪いわけでも、本が悪いわけでもない。自分と本の相性を最初にしっかりと確かめることができてば、結果は大きく変わる。
WHAT:「技術書」の読み方にはどんなものがある?
プログラミングの実践のための読み方
1冊の本を90分で集中して読み切る読み方 <時間制限読書法>
長期スパン(3年)で計画的に技術を身につける読み方 <一点突破読書法>
HOW:具体的にどう実践すればいい?
プログラミング書の読み方
①作りたいものをイメージしてまずざっと読む
②自分の手を動かして、動くものを作りながら読む
③大事だと思う箇所や将来使えそうな箇所はノートにまとめながら読む。 +α :一つのプログラミング言語をしっかり学んだのちに、複数の言語を比べながら読む一冊の本を90分で読む<時間制限読書法>
①タイマーで時間を計って90分で読む。本をページ数ではなく時間で区切ることでダラダラ読むのを防ぐことができる。
②大事なところ(20%)を意識しながら読む。90分で読むには読む場所に優先順位をつける必要がある。自分にとって「この情報は有益だ!」と思ったところは線を引いたりメモを取り、そのほかのところは飛ばし読みをする。この読み方は小説なら避けた方がいいが、技術書ならやるべきだ。
③誘惑を排除する。90分全集中するために、スマホは目の届かないところに置く。3年で成果を出す<一点突破読書法>
一日10時間の勉強を3年続ければ10000時間になる。ここまでやれば特定の技術や分野が自分の武器になる。数年後には複数の得意分野を持つことも可能になる。→ホリエモンや厚切りジェイソンも同じことを言っていた。
①学ぶ技術を見極める。武器にするなら技術や分野は狭い方がいい。
②関連する本を20冊以上読む。全部読んでもいいくらい。
③精読し、アウトプットする。ブログに書いたり、コードを書いたり。本を読んだ成果を実世界に出す。
個人的に参考になった内容ベスト3
『3』の発想
1つのテーマで3冊の本を読むこと。1冊では足りない。2冊ではA→Bの関係性だけで完結してしまう。3冊だとA→B→C→・・・と関係性に幅が生まれて世界が広がっていく。
IT技術書の場合、入門書、専門書、逆引きの3通り用意するといい。特に逆引きは応用の事例が先に載っていて、その実現方法が後に載っている。学ぶ技術の使いどころが先にイメージできると勉強するモチベーションが維持できる。
私はPythonの入門書を一冊だけ買って、何か動くものを作ろうとしていたが、作るものそのものをうまくイメージできなくてPythonの勉強を放り出してしまった。今回、逆引きの本の存在を知った。もう一度Pythonに挑戦してみようと思う。「読書メーター」で読んだ本の管理をする
私は4年前から読書記録をつけているが、今回改めてその重要性に気づいた。基本的に読書記録はexcel、読書メモは紙のノート、メモ用紙、Scrapbox、Notion、Noteに書くことで済ませていたが、今回新たに「読書メーター」という存在を知った。実は2018年に登録していたのだが、いまの今まで登録していたことを忘れていた。
「読書メーター」とは、読書記録サービスである。Webでもアプリでも使うことができる。私は読書ページ数や冊数が自動でグラフ化されるところ、また本の表紙がカラーで表示される仕組みが気に入った。また、同じ本を読んだ読書家さんの感想を知ることができるのもいい。読書のモチベーションが一気に上がった。
昨日、今まで読んだ本(270冊)を一気に登録した。いつ、何の、どんな表紙の本を読んだのかが一目瞭然で、壮観だ。このサービスが、私にNoteを書く気にさせてくれた。「読書メーター」とこの本の著者に感謝したい。くじ引き読書法
読書のマンネリ化や知識の偏りを解消するために、ランダムに本を選ぶという行為は必要だ。そこで、本をくじ引きで決めるという方法がある。
著者はこの本で「NDCでくじ引き」「ISBNでくじ引き」という方法を紹介している。
NDCとは日本十進分類法の英略であり、日本の図書館で広く使われている図書分類法である。どこの図書館も本には3桁の数字を割り振っている。ちなみに、この本は「007」だ。「NDCでくじ引き」では、この数字を利用して本をくじ引きするのだ。
まず図書館へ行き、乱数生成アプリでランダムな3桁の数字を生成する。そして、その数字の記されている本棚へ行き、いい感じの本を選ぶ。これだけだ。
実は、私はこの本を読む前から「NDCでくじ引き」をやっている。2年前に自分でこの方法を思いついて、たまに実践していたのだが、まさか同じ方法が出回っていたとは。知らなかった。昨日まで、「NDCでくじ引き」は私が独自に生み出しためちゃくちゃ良い選書法だと思っていたのでちょっと驚いた。
ここまで書いたが、私が参考になったのは「ISBNでくじ引き」の方である。ISBNとは、International Standard Book Number の略称であり、図書や資料を識別するために付けられた国際規格コードだ。本の裏表紙のバーコードのところに記載されている13桁の数字であり、
例えばこの本には 「978-4-7981-7154-8」と書かれている。
ISBNの書式「NNN-X-AAAA-BBBB-C」
・「NNN」・・・「978」「979」と決まっている。
・「X」・・・言語圏を表す。日本語は「4」。
・「AAAA」・・・出版社記号。
・「BBBB」・・・書名記号。
・「C」・・・チェックディジット。バーコードの読み取り間違いがないかを検査する数値。→ITの勉強で頻出。
この仕組みを利用して、出版社記号と書名記号の「AAAA-BBBB」の部分だけを乱数生成してランダムなISBNを取得するのだ。そうすれば、普段出会えないような本に出会うことができる。
「NDCでくじ引き」より「ISBNでくじ引き」の方がランダムさの精度が格段に上がっている。しかも、この方法なら出版社を固定して乱数生成するなんてこともできるので、やってみると面白いかもしれない。
ISBNで本を検索するなら、国会図書館オンラインで探すと確実だと思う。本の存在の有無を確認できる。しかし、本の表紙があまり表示されない。一方、Amazonで本を検索すると、表紙や口コミなど本の情報が多く載っていて便利だ。
まとめ
この本は『「技術書」の読書術』なので、当然もっともっと技術的なことも書かれている。英語の技術資料の読み方やネット記事や論文の読み方など。しかし、私はまだまだIT初心者なので、上記のように参考になった箇所が初心者レベルだ。ただ、読む人によって参考になる箇所も変わるし、私も数ヶ月後には読む箇所が変わるはずだ。この本自体が技術書だから。
私は基本情報技術者試験には合格したが、それでも自分のITの知識に全く自信がない。特にプログラミングや開発手法などに関しては本当に初心者だ。この本は、私のような初心者中の初心者への情報以外にも、初心者の中級、上級の人向けの情報も載っているので、机に一冊あると便利だと思う。
「我こそはIT初心者である」という人には、とりあえずおススメする一冊である。