プログラミングと「教科書以上プロ未満問題」

教科書以上、プロ未満問題

学習で絶対にぶち当たる壁。「教科書以上プロ未満問題」

プログラミングを学習していく時に、初学者がブチ当たるであろう壁。
『教科書以上プロ未満問題』

 よーし!○○という言語を勉強するぞ!
 ↓
 教科書も一通りできたな!さて、いろいろ作ってみるか!
 ↓
 エラー吐きまくり…全然出来ない…
 何この技術。知らない…教科書になかった…
 セキュリティ…?メンテナンス…? え? この技術も勉強しないといけないの?
 ↓
 やめたー(^p^)wwww

つまり書籍や動画に載っているものができるようになったが、技術と知識はそこ止まり。
プロレベルのプロダクトが全然作れない。
手を出そうものなら、怒涛のエラー嵐+新技術+新概念+英語………

この状態にハマるとかなりつらいです。
過去幾人がこの沼に絡め取られ、挫折していったことでしょう。

一説によると、プログラミングを独学する人の90%以上が挫折し、やめていくのだそうですが、それはこの問題があるからではないでしょうか。

中級者向けの教材って意外と少ない

「初心者のための」
「ノンプログラミングでできる〜」
「ノンプログラマーでもできる〜」
といった初学者向けの本や動画

「上級者のための〜」
「○○言語リファレンス」
「○○言語網羅本」
などの上級者向けの本や動画は、探せば書店やネットに転がっています。

しかし、脱初心者・中級者のためのピンポイントで、かゆいところに手の届く教材ってなかなか見つからないです。

数学1/Aと数学3/Cの教科書があるのに、数学2/Bの教科書がない状態ですね。

基本的なところは「こんなん知ってるよ」となり、難しい部分は、「???」となります。
本当に動けなくなってしまうんですね。

この問題の解決方法

ベストまではいかなくても、ベターな解決方法は下記になるのではないか。と

  1. 目標の再定義+最短勉強+遅延評価勉強法
  2. 教えてくれる人・仲間を見つける
  3. 一旦その勉強から離れる・他の事を始める

目標の再定義+最短勉強+遅延評価勉強法

とりあえず基礎を身につけた人にありがちなのが、できることが増えたがゆえに、当初の目的を忘れてしまっていることです。
目的と手段の逆転ですね。
「○○を作りたい!」のはずが「次は、○○言語のこの機能を覚えよう!」といった具合に。

なので一度、当初の目的を確認しましょう。
「目標の○○をつくるためには、あと何が必要なのか。」をリストアップし、それ他の一切合切は忘れます。

必要ないものは勉強しなくてOKです。
必要になったときだけ勉強すれば良いのです。こういうのを「遅延評価勉強法」というらしいです。
このようにして目標を再確認し、最短で達成できる計画を立てましょう。
あとはやるだけ!

教えてくれる人・仲間を見つける

当たり前ですが、こういった問題はプロに教えてもらうことができれば解決します。

教科書や動画は確かに素晴らしい学習コンテンツですが、エラーが出た時に「なぜエラーが出たのか、何が間違っているのか」を尋ねることはできません。

なので一旦教科書は置いておいて、街に出て先生や仲間を見つけましょう。
教室に入ってもいいですし、勉強会に参加しても良いです。
実際に人に会い、これこれで困ってます。と思い切って聞いてみましょう。

一旦その勉強から離れる・他の事を始める

人は一つの物事だけをやっていると、効率がどんどん下がっています。
効率が下がれば、できることもできなくなり、頭に入るものも入らなくなります。

なので行き詰まりを感じたら、一旦離れるというのも手です。

期間をあけてから勉強を再開すると、意外とスラスラ頭に入ってくるものです。
今までの凝り固まった考え方から開放され、新鮮な目で見られるようになるからですね。

まとめ

この記事のまとめ
・教科書以上プロ未満問題には注意!
・でもこの壁にぶち当たった時はブレイクスルーの時!がんばれ!
・教科書以上プロ未満問題の解決方法は下記の3点
 ・目標の再定義+最短勉強+遅延評価勉強法
 ・教えてくれる人・仲間を見つける
 ・一旦その勉強から離れる・他の事を始める

私は仕事でプログラムを組むことがありますが、ほとんど独学で学びました。

いろんな言語を並行して勉強を進めています。
ここまでできたら、次はこの言語のコレを勉強する。と言った感じに。
上記の解決方法の3番目ですね。これを実践しています。

みなさんも「教科書以上プロ未満問題」にぶち当たったら、上記の解決方法を試してみてください!