はじめに
本書を読もうと思ったきっかけは、何故アウトプットが大事なのかの記事を読んだことでした。
プログラミングの学習して気づいたことは、文献を読むだけでは力にならないということです。Rubyの本を読むだけではRubyを書くことはできず、読んだ上で、実際に実践しなければ、自分の身に付いたということにはならないということを、Fjordbootcampのプラクティスで痛感しました💦
つまりは、インプットと共に、それをアウトプットしなければ自分の力にはならないということだと思います。そのようなことを考えていた時に、上記の記事を読み、アウトプットの重要性を再認識し、『エンジニアの知的生産術 効率的に学び、整理し、アウトプットする』という本があることを知りました。
「効率の良いアウトプットの方法とは何だろうか?」ということを考えるために、本書を手に取りました。そこで、学んだことをまとめていきたいと思います。
要約
学びのサイクルは、情報収集、抽象化、実践・検証の3つに別れています。
まず、情報収集にはいくつかの方法があります。それは、遅延評価勉強法(知りたいことを収集して、それ以外のところは、必要になったらその都度勉強していく)、YAGNI原則を用いた収集(必要になるまで勉強しない)、全体を把握するためにまずは大雑把に情報を収集していくなどです。
このように収集した情報を次は、抽象化していきます。抽象化というのは、収集した情報から情報同士の関連性、類似性、相違点などを見つけいく作業により、情報をモデル化していくということです。これは、次の3点を意識することで、達成度を把握することができます。「自分の言葉で説明できるか」、「自分の経験に基づいた具体例をあげることができるか」、「自分の目的を達成するためにその知識を使えるか」です。
最後に、実践・検証とは、自分の中で抽象化されたものが実際に正しいのかどうかを確かめていく作業になります。本書では、実践・検証の作業として、「1日前の自分に向けて解説を作る」というような方法などが紹介されています。
このようにして、学びは進められていきます。このサイクルを回していくという意識を持つことが重要なことなのです。
感想
様々な勉強方法が載っておりとても面白い
本書には、多くの研究に裏付けされた様々な勉強方法が紹介されており、とても面白いものでした。ただ、ノウハウだけを知っているだけでは意味がないと思います。本書に即して考えると、今はまだ情報収集の段階だということです。これを実際に使って、自分なりアレンジしていくという作業が必要なのです。学習サイクルを回すという意識を持って、勉強を進めていきたいと思います。
自分が無意識に行なっていた勉強法が言語化されて腑に落ちた
「言語化できるということは、それを実際に扱えるということ」という内容が本書には書かれています。つまり、言語化するということはとても重要なことなのでしょう。この点で、今まで、自分が行なっていた勉強法は言語化しておらず、なんとなく無意識にやっていたことでした。それが、本書を通じて、言語化されたことで、「自分は今、学びのどの段階にいるのだろうか」ということを思い浮かべられるようになり、次にどのような作業を行えば良いかが明確になりました。
効率的なアウトプットとは?
効率的なアウトプットとは、実践して、それを文章にして人に伝えるということなのだろうと考えました。 ここで、人に伝えるということは、1日前の自分も含みます。
1日前の自分は、今日学んだことを知りません。その自分に対して、学んだことを実践し、それについて解説を作って、わかりやすく伝えることで、記憶が定着しやすくなり、自分の力になると本書では述べられています。
ですので、このブログを通して、実践したことを解説していくというアウトプットを継続して行なっていきたいと思います。
ありきたりな結論になってしまいましたが、今回はここまでで💦