最近は技術書読んだり個人開発するのに疲れたので、ちょっと息抜きにこんな本読んでいました。
エンジニアの知的生産術 ──効率的に学び、整理し、アウトプットする (WEB+DB PRESS plusシリーズ)
- 作者:西尾 泰和
- 出版社/メーカー: 技術評論社
- 発売日: 2018/08/10
- メディア: 単行本(ソフトカバー)
エンジニアはより良いアウトプットを出したいと思うものだと信じています。
日頃から開発効率が悪い私が、やる気を出して学ぶサイクルを上げていくにはどうしたらよいか勉強してみたので、そのメモです。
後半はあまり興味のないことが多かったので流し読みしてますので、悪しからず。。。
tl;dr;
- 新しいことを学ぶことは、「新しいことを収集して、抽象化して、それを検証することの繰り返し」
- やる気を出すには、タスクをとにかく細切れにして、一つ一つのタスクををハンドルできるように管理すること
- 長期記憶を作るには、アウトプットを反復することがポイント
- 効率よく読むには、「なんのために読むのか」を決めること
新しいことを学ぶには
「学ぶ」という行為はこんなサイクルになっているようです。
詳しくは本を読んでもらうとして、新しいことを学ぶときのポイントは下記なのかなと思ってます。
- 「学び」のゴール・目的ははっきりとすること
- 学ぶことは、「知りたくなってから」学ぶこと
- 具体的な学びから抽象的な気づきを得ること
言われてみると当たり前なのかもしれないですが、目の前のことに集中するとなかなかできないことでもあります。 以下は、気になるポイントについてです。
SMART
何かを学ぶ際に、学習を効率よく進めるコツは、ゴールをはっきりさせることです。 「はっきりしているかどうか」はSMARTというフレームワークを使用することで、ある程度測定することができます。
- Specific :具体的な領域が明確である
- Measurable :計測可能である
- Assignable:責任の所在がはっきりしている
- Realistic:達成可能である
- Time-related:いつ結果が得られるが明確である
不安になったら、この辺を馬鹿正直に書きだすのは、一つの方法かもしれないですね。
YAGNI
"You aren't gonna need it"、縮めて YAGNI とは、機能は実際に必要となるまでは追加しないのがよいとする、エクストリーム・プログラミングにおける原則である。
(出典:Wikipedia)
これすごく重要ですね。無駄なことするなってことです。 無駄なことすると集中も切れますし、ゴールも遠くなります。 目の前のことを淡々とこなしたほうが、往々にして効率いいことが多い気がしますね。
パターン化
これ結構大事で、世界の成功者と呼ばれる方々は、このパターン認識能力が優れているらしいです。 なんで、成功者になりたかったらパターン認識能力を磨くのは近道かもしれません。
以前Matzさんも同じことをおっしゃっていたので、多分このへんはできる人たちの共通認識なんでしょうね。
検証
まあやってみましょうということですね。 どんなことでも、本当に理解している人は、口だけでなく行動でも再現できるものです。
わかったように思っても、実は何もできない人って大勢いますからね。 そういうのが一番タチが悪いんです。
やる気を出すには
この件については、気晴らしに以前こんな記事を書いていました。
この本で言われている事と、当たらずも遠からずって感じでした。
やる気を出すためのポイントとして言えることは、
- マルチタスクはやめる
- タスクはなるべく小さく
ということでしょうか。
人間の集中力を考慮して、短い時間の作業を何度も繰り返すポモドーロテクニックは、面白かったです。
- 今日一日のタスクリストを作る
- タスクの大きさをポモドーロ(25分)の個数で見積もる
- 1ポモドーロの間はタスクの変更をせずに1つのことに集中する
- もし自分または他人による割り込みが発生したらそれを記録する
- 1ポモドーロ集中した状態を継続できたら立ち上がって数歩歩くなどして視点を切り替える
これだけです。 これによって、集中力をもって細かな単位のタスクに取り組むことができるようになるそうです。 また、見積もりと実績を頻繁に確認することになるので、自分の見積もり能力を鍛えられるようです。
記憶を鍛えるには
どうやら、記憶には大きく2種類あるようで、短期記憶と長期記憶です。 短期記憶は一夜漬けで頭に入れたようなもので、長期記憶は一度身についてしまうとなかなか忘れないような記憶になります。
どうせ勉強するんなら、なるべく多くのことを長期記憶にしたいはず。 長期記憶を成長させるためのポイントはアウトプットを作成することだそうです。 そして、アウトプットを反復させることだそうです。
暗記が苦手な人ほど、たくさん、長期間に渡って反復練習をしろってことですね。
効率的に読むには
エンジニアに限らず、本を大量に読む必要がある職種の方々はたくさんいらっしゃると思います。 こういった方々の目的は、「情報を見つけること」と「情報を組み立てること(理解すること)」の大きく二つだと思ってます。
読書自体の完了条件は何か?
読書自体の完了条件は意外と難しいです。特に「理解する」は、不確実なゴール設定なので、測定できません。 本書の内容を踏まえれば、読書の完了条件は大方この辺ですね。
- 頭の中に知識の地図を作る
- 複数の知識の結合を促す
- 思考の道具(言葉・概念)を手に入れる
こんな感じで、完了の条件を見つけてあげることで、効率よく読書をすることができます。
情報を見つける
情報を見つける類の読書のポイントは、
- 全体を読むこと
- 時間を区切って読むこと
ですかね。 こちらは、情報収集ができればよいので、全体像を確認しながら情報をピックアップするように読んでいくと効率が良いようですね。
情報を組み立てる
情報を組み立てる類の読書のポイントは、
- 読むべきものを選ぶところからじっくり考える
- 疑問点を書きだしながら読み進める
- わからないことを放置しない
といったところでしょう。
こちらはものすごく時間はかかるので、読むべきものをきちんと絞って、やるからには不明点をなくしながら読むということになるでしょう。
考えをまとめるには・アイデアを思い付くには
この辺は流し読みしました。 あまり、クリエイティブな人間ではないので。。。
省略。
何を学ぶかを決めるには
自分のスキルマップ・経営戦略を考えて、進めると自分の価値向上につながるかと思います。 これは、そのうちやります。。。
感想
ずっと気になっていた本だったので、この段階で読めてよかったです。 学びに関しては、少なくともエンジニアでいるうちは、常に付きまとう話だと思ってます。
学び方については、たくさん本が書かれていますが、エンジニアにフォーカスした本はこれくらいだと思います。 非常に的を射ている印象で、大変ためになりました。 分厚いように見えて、意外と絵が多いのもあって非常に読みやすかったです。
この本の内容を活かして、少しでも効率よく、自分のスキルセットを磨いていけるようにしたいですね。