外資系マネージャーの独り言

日本で外資系企業のソフトウェアエンジニアマネージャーをやってる人のブログです

A Mind for Numbers (直感力を高める 数学脳のつくりかた)

数学を代表とする、何かしらの概念を詳しく理解した上で解法を考えて演算を行う…といった問題解決を行うための「学習」を効率的に行うためには、どういうアプローチが効果的なのか、ということを論じた本。

直感力を高める 数学脳のつくりかた

直感力を高める 数学脳のつくりかた

 

もともと「数学」が大の苦手だった著者が、工学教授になるまでに身につけた様々な学習法を紹介していて、思考法の切り替え方、問題への取り組み方、そして時間の効果的な使い方などなど、論理的な思考や発想力が求められる仕事に適用できるヒントが多く詰まった良書。個人的に、もともとエンジニア出身ではないチームメンバーにどのようなコーチングを行って、ソフトウェア開発に役立つ学習を促進すべきかという問題を抱えていたので、様々な学習法やアプローチを提案する際に大いに役に立った。

f:id:jpsdm:20171020034039j:plain

特に興味深いなと思ったのが「集中(Focused)モード」と「分散(Diffused)モード」の使い分けに関する説明。難度の高い抽象的な概念に関する問題を考えている場合、集中して問題解決を行う行為(集中モード)と、問題に向き合わずにリラックスしている行為(分散モード)を交互に組み合わせることで、集中する時にきっちり集中して、分散モードの時は深層レベルで問題解決を進めることができる…みたいな話で、これにはすごく共感できた。よくエンジニア同士の会話で、難しい問題の解法を思いつくのは帰宅中に歩いている時だったり、シャワーに入ってる時だったり…、ということがあるのだけど、問題が難しければ難しい時ほど、リラックスしている時間が鍵になるなーと思う。変にあーでもないこーでもないと考えすぎて、集中レベルが下がってしまって結局問題解決の役に立っていないというのはありがちな失敗で、集中して考えても解けない問題からは「あえて離れる」ことでアイディアが浮かぶ、という経験は誰にでもあるのではないかと思う。

正しい理解を順番にビルドアップしていくことの重要性や、理解を深化させて根付かせるために学習を反復することの意味など、誰もが頭では分かっているであろうことを論理的に説明しているところもナイス。数学的な問題を解くのが苦手な人でも、そうでない人にもおすすめできる内容。この本でキモになる考え方は以下の記事にまとまっているので、未読の人は読んでみるとよいかもしれない。

A Mind for Numbersrkbookreviews.wordpress.com

ソフトウェアエンジニアの仕事って、究極的に考えればビジネス上の問題を抽象的な仕組みで一般化して、解決する方法を提供する…ということに帰結すると思っているのだけど、この「仕組みを作り上げる」部分に関しては特に強い問題の抽象化能力&論理的思考能力が試されると思っていて、この本で書かれているような方法論による問題解決への取り組み方・学び方が重要になってくると感じた。