プログラミング初学者が挫折する2つの原因と回避策
プログラミング学習において、初学者の大半は入口のところでウロウロして挫折していきます。原因は2つ。
「明確な目標」を設定せずに漫然とお勉強を始めてしまう
「適切な目標」を設定できていないため圧倒されてしまう
目標を軽視してはいけません。私たち人間は、小さくても不細工でも何かが形になった時に「達成感」を感じるはずです。達成した喜びがドーパミンを分泌させ、さらなるやる気を引き出します。知識を頭に詰め込む作業や複雑すぎるプロジェクトの中では達成感を得づらくなります。プログラミング学習で最初に躓かないための秘訣は、達成感を得られる明確かつ適切な目標を設定することです。
目標を設定する
プログラミングは何かを作るためのツールにすぎないので、プログラミングを学ぶこと自体を目標にしてはダメです。「〇〇作る」というのを目標にします。もし作りたいものが決まっていたとしても、自分のレベルに合わない複雑なものはまだ我慢してください。焦りは禁物です。
悪い例:
「JavaScriptをマスターする」(曖昧)
「NFTマーケットプレイスを作る」(高度すぎる)
良い例:
「シンプルなポートフォリオサイトを作る」
「シンプルなメモアプリを作る」
簡単なものからとにかく作ってみることです。作る過程の中に本当の学びがあります。そして課題をクリアすることで喜びと自信を得るのです。
私はJavaScript/TypeScriptエンジニアなので、それメインの例えになってしまいますが、以下のように段階を踏んでいくのがおすすめです。
HTML x CSSの簡単なWebページ
HTML x CSS x JavaScriptの簡単なWebサイト
HTML x CSS x JavaScriptのパスワードジェネレーター
React x Node.jsの簡単なWebサイト
React x Node.jsのToDoアプリ
Next.jsを使った簡単なWebサイト
Next.js x Tailwind CSSのブログサイト
Next.js x Tailwind CSS x SupabaseのSNSクローン
上記はあくまで例です。この通りにやる必要はありません。どの言語、フレームワーク、データベースを使用するかも自由です。
達成感・スキル・知識・自信を手に入れる
作るものを決めたら、作り方が記された見本を探します。簡単なWebサイトやアプリの作り方であれば、チュートリアル形式のブログ記事やYouTube動画が必ず見つかるはずです。ただ日本語の素材は数が少なく、時代遅れのものが多いので、できれば英語の素材を参考にした方がいいです。
英語が全くわからないという場合でも、記事であればGoogle翻訳やDeepL翻訳などの翻訳ツールを使うだけで上質な日本語記事になります。動画はある程度聞き取れないと難しいかもしれませんが、日本語字幕に対応しているものもあります。英語だからと毛嫌いせずに、学習の中に取り入れてみてください。英語に慣れるとプログラミング学習はより加速します。
良さげな手本が見つかったら、
まずはお手本の通りにやってみる(コードはできるだけ手打ちで。コピペはダメ。)
作ったものをカスタマイズしてみる(デザインやレイアウトの変更、項目の追加・削除など)
作ったものに新しい機能を追加してみる
(1)だけで終わってはダメです。お手本をなぞっただけでは、できた気になっているだけで、実はよくわかっていません。必ず(2)までやってください。完成品をいじくり回していると、「ああ、こうするとこうなるのか!」という気づきが生まれます。この経験が重要なのです。こうやって手に入れた知恵があなたのスキルになります。
(1)(2)を何回か繰り返していくうちに、呪文のように見えていたコードに目が慣れてきます。そうすると、「これよく出てくるけど何なんだ?」という部分が見えてくるはずです。ここでお勉強です。疑問に思ったことを調べて理解することで腑に落ち、自分の知識として定着します。自分が何をわからないのかもわからない段階でお勉強をしても意味はないのです。
(3)は少し難易度が高いので、ある程度慣れてからでいいです。自分が作った作品と作品の一部をくっつけてみる、もしくはGitHubから他人のソースコードを借りて足してみる。このスキルこそがプログラミングだと言っても過言ではありません。海外の優秀なプログラマも、全てのコードを一からゴリゴリ書いているわけではなく、他から拝借してちょっと手を加えて自分の作品に組み込むということはよくやります。これができるようになれば、もう立派なプログラマです。
最後に
今回はプログラミング学習の最初の壁を乗り越えるコツについて書きました。おすすめの言語やツール、問題に遭遇した際の対処法などについてはまた別の記事で書きたいと思います。
私は楽器、英語、プログラミング、全て独学でそれなりに使えるところまで習得しました。もちろん簡単にクリアできたわけではありません。挫折を味わったこともあります。私はこれらの経験を通じて、ある原則に気づきました。それが「明確かつ適切な目標を設定する」ことです。今では何をやっても挫折しない自信があります。
プログラミングはパソコンだけあればお金も稼げるし、歳をとってもできる。こんな素晴らしいツールは他にないです。一緒に楽しみながら続けていきましょう!
この記事が気に入ったらサポートをしてみませんか?