独学でプログラミング学ぶ際の、知識と知恵の違い

Twitterを見ていて「独学でプログラミングをしているのですが」的な悩みや質問が流れてくるのを見ていて思ったことを書きます。

基本的な知識に関しては出版されている書籍などで学習することは可能です。例えば何らかの言語やプラットフォームで実装をすることに関する情報が掲載されているわけですが、基本的に書籍において記述してある情報は知識です。当然、実装を進めたり何らかの判断をする上では知識は非常に重要なものでありそれが前提となって正しい判断ができることは多々あります。しかしながら、おそらく独学で学んでいく上でなんとなくひっかかっている部分は知識よりも知恵の部分ではないかな?と思いました。

知識と知恵の違い

では知識と知恵とはどう違うものでしょうか。Wikipediaに記載されている情報では以下のようになっています。

知恵(ちえ、智慧、希: φρόνησις プロネーシス, 羅: sapientia, 英: wisdom, 梵: ज्ञान , jñāna)は、道理を判断し処理していく心の働き[1]。筋道を立て、計画し、正しく処理していく能力[1]。

https://ja.wikipedia.org/wiki/%E7%9F%A5%E6%81%B5

一方で、知識に関しては以下のように書かれています。

知識(ちしき)とは、認識によって得られた成果、あるいは、人間や物事について抱いている考えや、技能のことである。

https://ja.wikipedia.org/wiki/%E7%9F%A5%E8%AD%98

これだけではいまいち理解しづらい点ですが、こちらの書籍では知識と知恵の違いについてわかりやすく書いてあります。

「知識」とは、「言葉で表せるもの」であり、「書物」から学べるものである。  「智恵」とは、「言葉で表せないもの」であり、「経験」からしか学べないものである。

知識と知恵の違いからの考察

さて、改めて「プログラミングに関する悩み」を考察すると以下のようにまとめることができます。

・書籍などで基本的な知識を身につけることはできた
・しかしながら、それを実践するための知恵が身についていないことが不安

その上でSNSなどで質問をして何らかの回答を得ようとしているのかなと思いました。確かにこれは正しい実感であり、書籍だけで学んだ知識で実践で通用するレベルになるのか?というと正直なところ個人的には疑問です。これはプログラミングに限った話ではなく、スポーツや楽器の演奏など様々なことに関して言えることではないでしょうか。

そして、実際に実践で業務をするにあたって必要なのは最終的には知恵です。なぜなら、知識に関しては検索可能であり、記憶をしている必要がないものが多いからです。当然、検索をするために事前に必要な知識は膨大にあるわけですが、検索結果を全て記憶する必要はないですし、そこを記憶する必要のない仕組みが検索エンジン以外にも多々用意されています(IDEもその一種ですね)

知恵を身につけるためにはどうするか?

どうやって知恵を身につければよいのか。これはやはり生きた情報を手に入れるしかありません。そしてその生きた情報というのはSNSなどで不特定多数に発信されているものではなく、自身のアウトプットに対する評価のことです。

プログラミングにおいて最もわかりやすいアウトプットはソースコードを表にだしていくことですが、見てくれない可能性が高いです。そういった点において何らかの組織に入ることや、信頼のできるメンターをつけることが大事になってきます。ただ、ここで問題が発生します。その時点のスキルレベルでは組織に入ることができないこと、そして信頼のできるメンターを探すことができるか?という点です。

前者に関して、特にスタートアップなどの環境でちゃんと面倒を見てあげるといったことはできません。運良く入ることができたとしても正しいFBをもらって成長できる環境かどうかは若干の疑問が残ります。一方で、信頼のおけるメンターはどこにいるのか?というとなかなか難しい問題です。

情報の分断

しかしながら、情報の分断が起きているのは事実です。プログラミングを学びたい層と、プログラミングのメンタリングできる層が正しく情報交換をできる場があるか?というとおそらくそれは存在しないでしょう。TwitterであればRTなどで回ってくるような情報を目にすることはあっても、そこでコミュニケーションが行われるようなことは少ないはずです。それにプログラミングの相談と一概にいっても幅は多く、得手不得手があるのも事実です。

このような情報の分断をどうしたらいいんでしょうね。エンジニア側からアプローチするメリットは業界のためになるとはいえ、短期的な個人的メリットはないですし、学習している側からみるといきなり声をかけるのはとてもハードルが高い。

さて、これはどうしたらいいんでしょうね。

サポートしてくれるとがんばれます😊