プログラミングの学習というのは面白いもので、どんなに正しい方法で学習を始めたとしても、独学の場合、途中で続かない場面が出てきます。

今回の内容はいつもとは趣向を少し変えて、綺麗事を全て取っ払ってプログラミング学習について振り返ってみようと思います。
ちなみに私はくすぶっている時間は結構長かったタイプなので、失敗エピソードを語り始めたら止まりません笑。
なのでここでは3分程度で読める記事にギュッとまとめてコンパクトな形で話を進めていきたいと思います。
ちなみに今回の内容は
このような方にはとても参考になる内容に仕上げているつもりです。
一番見て欲しいのは『昔のくすぶっていた頃の自分』ですが笑。
好きなところから読んでください
プログラミングの独学の9割が続かない理由
まず、プログラミングの独学が続かないパターンはほとんど決まっています。
・プログラミングの勉強の仕方が分からない
・本が難しすぎて進まない
・開発環境を整えるところで心が折れる
・質問できる人が周りにいない
・エラーが直せない
・モチベーションが続かない

プログラミング学習が続く人・続かない人の明確な違い
結局のところ、プログラミング学習を続けられる1割の人たちは『自分がプログラミングの学習を続けやすい環境』に身を置いているだけです。

よくプログラミングは才能がある・ないと分けられますが、この『才能』に関しては、IT企業のトップエンジニアになる人たちだけ(googleなど)が当てはまります。
日本の普通のIT企業でエンジニアをするレベルでは、正直才能は全く関係ありません。
学校の勉強でもそうですが、塾に通って能力のある先生に教わる生徒もいれば、自宅で勉強するだけで好成績が残せる生徒もいます。
そして当然、塾に通う生徒の方が
- 先生に直接質問できる
- 能力の高い先生に直接教われる
- 塾で意識の高い仲間に囲まれて学べる
などのメリットがあるため、成績を伸ばしやすくなります。
プログラミング学習に関しても全く同じです。
自分が本当に一人で独学できるのかどうか?ここを過去の学生生活を振り返っておきましょう。

プログラミングを始めた当初の私の行動記録(ダメパターン)

現在もそこまでのスキルを持っているわけではありませんが、過去のダメダメな時期と比べると、圧倒的に成長しているなぁと実感している今日この頃であります(自己満w)。
今なかなか思うように結果を出せていない場合、もしかしたら過去の私と同じような思考でプログラミングに接している可能性があります。

私も歴史書をたくさん読むのですが、その際には成功した事例よりも、むしろ
『なぜ失敗してしまったのか?』
この部分にフォーカスして文字を読み進めるようにしているのです。(成功は偶然の要素が多いが、失敗している偉人は大体同じような思考で動いていることが多いため)
同じことをしたら失敗する‥ということは、同じことさえしなければ短期間で結果を出すことも可能になるのです。
では過去の私がどのようにしてプログラミングをスタートさせたのか?
まずやったことは大きく3つあります。
とりあえずプロゲートに有料会員登録

私の場合、新しいことに挑戦する際の投資の意識は人よりも高かったため、ある程度の資金であれば躊躇なく投資をしていました。
とはいえ、いきなり大きな金額を投資するほどのモチベーションもなかったため、まずは月額980円で使うことができるプロゲートというサービスに登録しました。
プロゲートに登録することは何も悪いことではありません。

しかし私の場合
『プロゲートに有料会員登録するだけで満足してしまった』
のです。
つまり、自己投資した自分という存在に満足し、全く行動を起こさなかったのです。
この気持ち分かる人にはめちゃめちゃ共感してもらえると思います。
それっぽいプログラミング教材を3冊購入

プロゲートの会員という肩書きをひっさげることができた私は、そこから調子に乗ってバンバン投資をし始めます。
その時の思考を言葉であらわすならば
『プロゲートは初心者向けの教材‥、ということは、初心者レベルの学習はここで済ませることができるから、もしスキルが高まってきた時のために、今の段階で中級者・上級者向けの教材を3つくらい持っておこう!』
こんな感じで考えていたため、速攻でAmazonで教材をポチりました(全く使わないのにww)。

ちなみにプログラミング初心者が『本』で独学を始めると、ほぼ挫折します。
その理由に関してはプログラミング初心者は本で独学すると99%絶望します[体験談あり]の記事で解説しているので、本を教材に独学しようと思っている場合はこちらを参考にしてみてください。
ドットインストールで動画視聴をする

バッチリ学習環境を整えて、行動すればある程度知識は身につけられる環境を作ったのにも関わらず、私のスキルは一向に伸びていきません。
それもそのはず、当時の私は知識を頭に入れればプログラミングができると思い込んでいたため、教材をパラパラ読んでコードを暗記することに全力を注いでいました。

そんな中で、教材を読むよりも動画視聴の方が学習スピードは高まるという話を聞いた私は、プロゲートと購入した教材を無視して
『ドットインストール(プログラミングの動画教材)』
を視聴し始めました。
こちらの教材も、無料で使えるものの中ではトップクラスに分かりやすいものになっていますが、何度もお伝えしている通り、私は
だったため、全くスキルが伸びていませんでした。
しかし当時の私は

と本気で思っていましたね。
今考えると無意味だったプログラミング学習方法

もし今の段階で、私と同じような思考・行動をしているのであれば、それはマジで無意味なので速攻でやめてください。
これは言い切れますが、本気で
『人生の時間の無駄遣い』
です。
もちろん全くプログラミングを知らない状態であれば、ただの聞き流し、読み流しでも意味はあります。

意味のない行動記録をおさらいしたところで、プログラミング学習で無意味な行動・思考についてさらに掘り下げていきましょう。
- なぜ成長しないのか?
- なぜ無意味なのか?
その点を具体的に解説していきます。
ただ教材や動画コンテンツを視聴する時間(無意味レベル40%)

初心者の頃はこれをやりがちなのですが、もしやるとするならば、どんなに長くても最初の1週間だけにしましょう。

どんな学習方法を取り入れる場合であっても、必ず
『得た知識をとりあえずアウトプットしてみる』
この習慣は必ず持ちましょう。
参考:プログラミング学習の暗記(インプット)はただの逃げである理由
知識を入れるだけ、動画を眺めるだけというのは、テストで点数を取るなら問題ないかもしれませんが、プログラミングはテストではなく、自分でサービスを生み出すための手段でしかないため、このマインドは早い段階で切り替える必要があるのです。
自分ができる作業ばかりを選んで実践(無意味レベル100%)

教材を眺めるだけ、動画を見るだけの段階から、実際に自分の手でコードが書けるようになったとします。
この段階に来ても、また初心者だからこそやりがちなのがこれです。
一度コードを書いて、その通りにコンピューターが動くと最初は感動します。

ただこの段階に入ると
『自分ができることだけしかやらなくなる』
時期も出てくるため、これも自分の成長スピードを止めてしまうのです。
何も見ずにコードが書けるようになれば、それは自分の1つのスキルとして身についている証拠です。
その段階で満足して同じようなことを繰り返していても全く成長はありませんので、できることが増えてきたのであれば、より自分を高めるために積極的に新しいものを取り入れていきましょう。
全て一人で問題を解決しようと頑張っていた時間(無意味レベル50%)

『分からないことが出てくる→自分で解決する→コードとして書くことができるようになる』
この繰り返しをすることによって、プログラミングのスキルはどんどん高まっていきます。
自分一人で問題を解決することは全く悪いことではありません。
しかしここでお伝えしたいことは
『全てを自分一人で解決しようとするのは、マジで時間の無駄』
だということです。
というのも、最初に私が失敗事例をご紹介したように、プログラミング学習においては先人たちが数々の学習方法を確立しています。

言ってしまえば、すでに橋が架かっているのに、その横でわざわざ1から自分で橋を作り出すようなものです。
この行動は時間の無駄ですよね?
一人で頑張ることはプログラミング学習において重要です。
しかし
ですから、早い段階で先人たちに教えを請うことが最短ルートを駆け抜ける手段であると断言できるのです。
昔の私のようにプログラミング学習でくすぶっている人に伝えたい3つの教え!

私の失敗経験、そして無意味なプログラミング学習方法、ここまでの話である程度やるべきことは見えてきたと思います。
そうです
『ここまでの話で紹介した逆のことをすれば結果は出る!』
ということです。
昔の私を全否定するつもりはありませんが、やはりあらゆる無駄なことを実践していたため、これらを省けば数ヶ月早くこの業界で活躍できるようになっていたことでしょう。

今のくすぶっている状況を打破するために、やるべきことはシンプルです。
コードを書かなければ何も始まらない!

あらゆる業界の成功者に共通していること。それは
『アウトプットしている量が誰よりも多い!』
ことです。
これは様々な偉人の書籍を読めばすぐに分かることです。
とにかく結果を出している人たちは、行動力やアウトプット量が半端じゃありません。

実際にコードを書くと
あらゆる疑問が出てきます。
この段階に入って初めてインプットをするのです。
考え方としては
『足りない知識を肉付けしていくイメージ』
でインプットをするということです。
最初から多くの知識を入れるのではなく、所々足りない知識を補っていくことで、アウトプット主体の学習が定着していきます。
『分からない知識を肉付け→できないことができるようになる→さらに新しいことに挑戦→また分からないことが出てきたら知識の肉付け→できないことができるようになる』
プログラミング学習を最短で駆け抜けるのであれば、結局これを繰り返していくのが最短ルートでしょう。
もし別のやり方があれば、ぜひ私に教えていただきたいくらいです。
今まであらゆる失敗をしてきた私が導き出した一つの結論ですので、まず間違いはないでしょう。
短期的な目標を小さく、長期的な目標を大きくする!

そしてマインドセットとして最も重要なのはここです!
これは学習する前の段階で心に刻んでおいてください。
実際にど素人からプログラミングの学習を始める人の多くは
『とにかく短期間でスキルを身につける』
ことに意識を向けます。
これは悪いことではないのですが、最も危険なマインドセットなのが
ことです。
プログラミング学習を進めていくと分かりますが、どんなサービスであっても、地味なことをコツコツ積み上げて作られています。

逆に短いスパンでできることは小さなことだと理解し、コツコツスキルを積み上げて最終的に大きなことを成し遂げたい!←このマインドセットを持っている人たちは長期的なスキルアップができるため、まず挫折することはありません。
『短期的な目標は小さく、長期的な目標は大きく』
この基本的なマインドセットが、後々の自分の人生を大きく変えることになりますので、必ず心に刻んでおいてくださいね(どんな業界でも同じことが言えるはずです)。
投資しない=無駄な時間を自ら作っている!

これは先ほどお伝えした先人たちの話に繋がってきますが、結局今私たちがやろうとしていることは、早い段階で道を切り開いてくれた人がいることがほとんどです。

『スキルを身につける→スキルを使ってお金を稼ぐ→お金を再投資してスキルを身につける→新しく身につけたスキルを使ってお金を稼ぐ』
このマインドがすでに出来上がっている人たちは、投資を渋ることはありません。
しかしプログラミングを始めたばかりの頃は、この投資の重要性に気づいている方が少ないため、無駄なことに時間を使ったり、挫折したりするのです。
実際プログラミングスクールに投資をすれば、転職先までサポートしてくれる高待遇を受けられるところもあります。
この投資を無駄だと思うのか?それともプログラミングスキルを身につけて将来的に余裕で回収できると考えるのか?この思考の違いが未来を大きく分けることになるのです。
プログラミングを本気で学ぶべきか迷っている場合には、プログラミングスクールの無料体験サービスなどを上手に活用することをおすすめします。
まとめ

コンパクトにまとめようと思いましたが、予想外に長くなってしまいましたね笑。

もし今の段階で思ったようにスキルが伸びないと悩んでいる場合、どこかしらで昔の私と同じ思考を持ってしまっているかもしれません。
まずはその原因を突き止め、この先大きく飛躍するためには何をすべきなのか?そこから考えていきましょう。
思考が変われば行動が変わり、それが人生を変えることになりますからね。