プログラミング初心者向けの勉強会を開催していると、
参加者から様々な質問・相談を受けます。
そして、プログラミング学習において、特に多い質問・相談の1つが
「思うように身につかない。。」
という内容です。
なのでこの記事では、プログラミングがなかなか身につかないという状況に陥ってしまう原因と対策についての知見をまとめました。
この記事が少しでも、効果的な学習や時間の節約になれば嬉しいです!
プログラミングが上達しない・身につかない理由:
結論から言うと、
プログラミングが上達しないのは、こまめに実践的なアウトプットをしていないからです。
なぜなら、書籍や動画などの教材をやっただけで内容を習得できる人は、ほとんど稀だからです。
そもそも、プログラミング学習の進捗を表す指標はなんでしょうか?
何をもって、学習が進んだと言えるのでしょうか?
書籍や動画などの教材の進捗?学習時間?
違います。
実践的なアウトプットの数です。
「どれだけ成果物を積み上げたか」ということです。
なぜなら大抵の場合、プログラミング学習のゴールは、エンジニアになることだからです。
つまり、「作れる人になること」です。
それをしっかり表すために、エンジニアとしての実務経験は無いが、自分でしっかり学習して、
「このくらいのスキルは持っています!」
「これくらいのものは作れます!」
と言うことを証明するために、ポートフォリオがあるわけです。
なので重要なことは、「作れる人になること」です。
であれば、学習の進捗を表す重要な指標は、「どれだけ成果物を積み上げたか」です。
それは自分自身で、作ったものです。
プログラミングが上達しない人の認知:
初心者向けの勉強会で特に多い相談・質問が以下です。
- 「プログラミングが思うように身につかないです。」
- 「どのように学習しましたか?」
話を聞いていくと多くの方が共通して、途中で成果物をほぼ作っていません。
しかし、見よう見まねで作ったのは、自分の能力ではないです。
教材の通りにやれば誰でもその通りになります。
なので、本当に簡単なものでいいので、自力で作ってみるべきなのです。
例えば、以下の2つは似て非なるものです。
- 「HTML, CSSで簡単なwebサイトを作れるようになる!」
- 「progateのHTML, CSSを最後まで受講し、webサイト作った!」
ここで先に進むから、以下の問題に直面するのです。
- 学習したのに、身につかない。
- 教材を終えていざ自分の力で作ってみようとすると、全然できない。
- ライブラリやフレームワークなど、より内容が複雑になっていくと、それまでの理解が浅いことで途端についていけなくなる
そして、これは結構精神的にもツラいです。
ただでさえ独学や、スクールを卒業して1人で学習している状態だと、なおさらツラくなってしないます。
そして、「しっかり時間をかけたのに身につかない」という状況になると、
本当に多くの人が、「自分って向いていないのかも。。」と言い始めます。
これは、「認知の歪み」です。
実際、プログラミングが上達しないと言う人のほとんどの原因は、向いていないからではありません。
原因は、向き不向きとか人の能力的な部分ではなく、
大抵の場合は、単に学習の方法が適切でないからです。
適切な指標(ここで言う「成果物の数」)を設定できず、成長していると思い込んでしまっているだけです。
学習サービス・動画教材・書籍などでインプット中心の学習をしたら、
そこで学んだことを、自分の言葉で記事にまとめてみたり、
簡単なサイトやアプリを自作しないと、理解できているかは確認できません。
面倒くさがって、これをしないと、結局学んだことを忘れしまうし、理解できていなかったことに気づけません。
ものすごく多くの人がこれで躓き、挫折しているということに注意してください。
プログラミングを上達するための勉強法のコツ:
なので、プログラミングを上達するための勉強法のコツは、極めてシンプルです。
本質的な学習の進捗・成長を表す重要な指標(成果物の数)を設定し、それをしっかり伸ばしながら学習を進めてください
それ以外の以下の指標は、あくまでサブ的な重要度の少し低い指標だと認識することです。
- 合計の学習時間
- こなした教材の数
モチベーションの維持や、自己管理のために、上記の指標を計測していくのは有効です。
しかし、個人差がとてもあって、同じ教材でも1周で理解できる人もいれば、4,5週必要な人もいます。
時間も同様です。
なので、上記の指標だけで、正しく成長を測ることはできません。
プログラミング学習は、細かくアウトプットをして、成果物を積み上げていきましょう。
そうすることで、「ここまでは身についている!」という確認ができます。
そして自分で作ったものを掲載して、「このように学習を進めてきました!」と自分をアピールできるので、ポートフォリオも充実します。
何より出来上がるものが毎週1つでも増えていくのは、楽しいです。
ぜひこまめなアウトプットをして、成果物を積み上げて、
本質的な成長を測る学習に切り替えてみてください!
🌱JavaScript/ React 初心者のためのコミュニティ
上記のポイントを中心に、プログラミング初心者向けの勉強会を定期開催しているので、
ぜひ参加して学習のモチベーションを高めてください!
また、無料でコーチング(質問・相談に答えたり、定期的にミーティングしたり、等)もやっています!X(Twitter)のDMで、「コーチング興味あります!」などのメッセージを送ってください!
(期間限定で、Discordを使ったオンラインコミュニティも開始する予定です!)
おわりに
最後まで読んでいただきありがとうございます!
今後も引き続き、独学プログラマー向けの記事を作成していきます。
もし参考になったらスターと読者になるボタンを押して頂けると励みになります!
また、X(Twitter)でも積極的にプログラミング学習やプロダクト開発に関する投稿をしています。
ぜひ様々な方と繋がり、学習のモチベーションを高めていけることを楽しみにしています。
Happy Hacking !