はじめに
プログラミング初心者向けの、勉強会を開催しています。
気づけばすでに、400 回以上開催していました。
参加者からは、様々な質問・相談を受けますが、特に多いのが、
「どのようにプログラミングを勉強しましたか??」
という内容です。
これに関して、少し振り返り、考察してみました!
個人的な傾向・主観が多く含まれますが、
筆者が 効果的に学習を進めるために「やってよかったコツ」 をまとめたので、よかったら読んでみてください。
失敗から学んだ 5 つのプログラミング勉強のコツ
以下の順で、
実体験を踏まえながら、紹介していきます 🙌
- ノートテイクの重要性
- 学習期間の間を空けないこと
- コミュニティに参加すること
- フォーカスを維持すること
- 共同開発/OSS 開発を体験すること
1. ノートテイクの重要性
筆者が学習を始めた時に、よくなかったと感じたことは、
- progate などで学習を開始する
- 流れに沿ってサクサク進むことができる
- その進捗に慣れてしまって、次へ次へとガンガン単元を進めてしまう
- 結果的に、基礎的な内容が身についてなくて、自分で1から実装できない 😇
結局、身についていないことを痛感して、
基礎からやり直した経験があります。
本当に重要なことは、
ガンガン進まないで、自分が書いたコードで何が起きているのかを、自分の言葉でまとめることです。
これは、紙のノートでも、ブログでも、メモツールでもなんでも OK です。
教材に沿ってサクサク進むより、しっかり自分で止まって、認識・理解していく作業が大切ですね。
以前、アウトプットを習慣化する記事を書きましたが、
こまめに、自分用のノートにまとめることは、とても効果的です。
別のアイデアとしては、
- 自分の理解を人に説明する
- 学習の理解を記事で公開
- 独り言で説明する
結局、これらの「学習の反復作業」をしないと、
定着する前に次に進んでしまう可能性があることを、忘れないでください!
2. 学習期間の間を空けないこと
これも、1 つ前の「ノートテイクの重要性」と重なります。
プログラミングに限らず、あらゆる勉強に共通しますが、
定着する前に忘れたら、何度でも振り出しに戻ってしまいます。
いつまでも身につきません。
とはいえ、
- 飽きてきてしまったり、
- モチベーションが下がってきて
- 学習の期間が空いてしまう
- 再開した時に、それ以前のことを忘れてしまっている
- それによって、余計にモチベーションが下がってしまう。。
(筆者は、数回、このような負のスパイラルに落ちました。)
やはり、モチベーション維持は難しいですが、
学習の継続・習慣化は重要です。
3. コミュニティに参加すること
これは、多くの初学者に共通しますが、
学習の初期段階で、コミュニティ・勉強会などに参加する人の割合は、少ないと思います。
ただ、個人的に思うのは、
モチベーションの維持を、過小評価しない方が良いです。
プログラミングを学習する際、下記はほとんどの人が用意しますよね:
- 学習の教材
- 学習のロードマップ
- いざという時に質問・相談できる状態
ネットで調べるなり、人を頼るなり、方法は様々です!
しかし、実際、
モチベーションが維持できずに、途中でやめてしまうケースも結構多いと思ってます。
これに対する対処・工夫を、早い段階で実行できると、学習の進捗も効果的です!
4. フォーカスを維持すること
これも、あるあるですね。
- いろんな技術に興味が出てきたり、
- いろんな習慣・ルーティンを一気に取り入れてみたり
いろんな事に自分のリソースが分散していると、
それぞれのことで進捗・達成感が得られにくくなります。
それにより、たくさん学習をしているはずなのに、
うまく結果が出ない状態 → モチベーションの低下につながります。
上記にも書きましたが、燃え尽きてしまう時は、
大抵、目標に対するフォーカスが維持できていないケースが多いので、注意です!
5. 共同開発/OSS 開発を体験すること
これは、今までより、少し難易度が高いでしょうか。
しかし、これはとても効果的です。
- Git/GitHub を使った実践的な、1連の開発を体験できる
- 人と関わることで、モチベーションを維持しやすい
- なにより、孤独な学習は、色々拗らせたり、病んでしまうこともある。。
なので、ある程度基礎を身につけたら、
他の開発者と関わり・コラボレーションできないかを検討してみることを、お勧めします。
自分から、人を誘ってみるのも良いですね!
上記のような、簡単な OSS への参加に挑戦してみたり、コミュニティに参加する事で、
より実務に近い環境で、効果的に経験値を積めます!
人と関わることで、適度な強制力が生まれます。
何より、楽しく学習を継続できます!
おわりに
もし、1 つでも参考になることがあれば、
ぜひ取り入れてみてください!
そして、学習が思うように進まない場合は、
それをいち早く認識して、対処・工夫をする癖をつけてください!
対処する事で、現状が変わり、またやる気が出てきます。そして、長期的な学習は、それの繰り返しです!
最後まで読んでいただだき、ありがとうございます 🥳
もし、他にも「プログラミング勉強のコツ」がありましたら、
ぜひ教えてください!
Happy Hacking :)