新卒で自社開発企業にエンジニア就職

プログラミングの独学は思っている以上にきついと思う【挫折組です】

ノロノロ

どうも、プログラミング独学挫折経験者のノロノロです。
プログラミングの独学ってしんどいの?実際に挫折した人の意見を聞いてみたい。

読者

という人に向けて記事を書きました。
記事の内容
・プログラミングの独学は思っている以上にきついと思う【挫折組です】
僕はプログラミング独学を挫折しました。

1ヶ月間Progateをやってみたり、自分でアプリを作ってみたりしたんですが無理でした。

ただ、今は色んな言語をそれなりに習得できるようになりましたし、主要言語でならそれなりのアプリケーションを作れるようになりましたよ。

プログラミングは慣れで習得できるもので、才能はそんなに関係ないというのがわかりましたね。

そこで、今回は僕の経験から「独学挫折の理由」や「独学挫折しない方法」について話していきたいと思います。




プログラミングの独学は思っている以上にきつい

僕はプログラミング独学を挫折したのでわかるんですが、思っている以上に独学ってきついんですよね。

僕の主観ベースにはなるんですが、いくつかその理由を挙げていきます。

・理由❶:自分の学習方法をイマイチ信用できない
・理由❷:理解の進みが遅い
・理由❸:エラーで何時間も溶かされる
この3つが大きいです。

僕がプログラミング独学を挫折したもは上記理由が主でしたね。

理由❶:自分の学習方法をイマイチ信用できない

これは色んなところで起こりうることじゃないですかね。

・自分の受験勉強方法を信用できない
・自分の資格勉強方法を信用できない
・自分の英語学習方法を信用できない
これらと似ています。

中には自分の学習方法は正しいと疑わず、毎日ひたすらコードを書いて実力を鬼のように上げていく猛者もいますが、大抵の人は一回疑いから入ります。

しかも、理由❷で話しますが、プログラミングってほんとに理解が進まないんですよね。特に学習初期段階は。

・確かにターミナルは動いているけど、なぜ動いているかわからない
・エラーは治ったけど、結局原因はわからなかったし、なんでこれで治ったのかもわからない。
こんなんばっかですよ。

僕は今でもこういう理解しにくい場面に出くわしますが、特に学習初期は理解できないことだらけでした。

なので「本当に自分の学習方法って合ってんの?」とか「理解できないのは自分の学習方法に問題あるんじゃないの?」みたいな発想に至るわけです。

ただ、学習方法はそんなに悪くないんですよ。プログラミングは慣れるまで時間がかかるので、どうしても自分を疑ってしまいます。ここは詳しく後述します。

・理由❷:理解の進みが遅い

人によるのは当たり前ですが、プログラミングは理解の進みが本当に遅いです。

英語とか資格勉強とかは比較的簡単に理解できたりするじゃないですか。でもプログラミングは遅いんですよ。

例えば、Rubyで以下のような記述があったとします。

この記述を見るだけでいくつも疑問が生まれるんですよね。

・なんでprivateがあるの?
・mergeってなに?
・なんでpostモデルとuser_idを紐づけられるの?
慣れていけば一瞬で理解できるようになるんですが、学習初期は色んな知識が浅いので中々理解できないんですよね。

プログラミングって「色んな知識、エラーとの試行錯誤、コードを書く経験」が合わさって、あるとき爆発的に理解が進みます。

もちろん語学であったり、色んな分野でもそうだと思いますが、プログラミングは顕著すぎるくらいその要素があると思いますね。

ただ、多くの人はプログラミングの理解が定着するまでにそれなりの時間がかかることを知らないので

自分の才能がないだけだと責めて短期的に挫折する
上記のようなことが起こるわけです。

・理由❸:エラーで何時間も溶かされる

これはプログラミング独学挫折あるあるすぎますね。。

こんな感じの解決不能そうなエラーだったり本番環境特有の心臓が締め付けられるエラーだったりフレームワークのエラーだったり。

プログラミングはこういったエラーと日々格闘しながら前に進んでいくものなんですが、とはいえエラーはいまだに嫌ですね。

今は昔に比べるとだいぶマシになりましたが、プログラミングを始めた頃なんて地獄でした。

エラーが出ているのに自分の知識と経験が少なすぎてなにもできない
という事態に陥るからですね。

3時間経っても何一つ進展してないとかもある中で、モチベを保ちつつ独学で個人開発している人は凄すぎると思います。




プログラミングの独学を挫折しない方法

僕が実際に試した方法を紹介します。

・プログラミングスクールに通う
なんか人任せな気がしますが、結果的にそのときのベストな選択をしましたね。

技術力も飛躍的に伸び、プログラミングをある程度使いこなせるようになったのは大きな進歩でした。

プログラミングスクールに通う

僕は独学挫折しても諦めきれず、プログラミングに可能性を感じていたのでスクールに通いました。

TECH::EXPERTというスクールに70日間通い毎日10時間勉強したおかげで、プログラミングに対する漠然な不安はなくなり、基礎知識をガチガチに固めることができましたね。

・❶:エラーが出ても特に恐怖を感じない。普通に対処できる(時間がかかるときもある)。
・❷:それなりのアプリなら余裕で作れるようになった
・❸:別言語・技術に挑戦する余裕もできた
こんな感じで、独学挫折していたのが嘘と思えるくらい成長できたんですよ。

今まで全然できなかったことが、自分1人の力だけでできるようになったのは大きな収穫でした。

スクールで基礎知識をつけたら他の言語にも挑戦できる

スクールで基礎知識をつけたら、他の言語にも挑戦できますし、挫折することもほとんどなくなります。

どういうことかというと

・Rubyを学ぶ→それなりに理解できた→Pythonを学ぶ→Rubyで得た知識があるから理解も進む→Pythonも理解できた
こういう循環が生まれるんですよ。

つまり、プログラミングで1番しんどいのは最初なんですよね。1回ある程度の理解をしてしまえば、挫折の心配はほとんどしなくてよくなります。

なので、1番しんどい学習初期段階の時期に、プログラミングスクールを利用するのはかなりコスパのいい投資だと思います。

スクール卒業後は自分で色んな言語を習得できたりしますからね。

プログラミングスクールは多すぎるので、以下の記事にまとめています。どこも無料相談を受けれるので、複数相談を受けて、自分の肌感に合うスクールを選ぶのが得策です。

大学生優位なプログラミングスクール

大学生におすすめのプログラミングスクールを2つ厳選【体験者の解】

社会人優位なプログラミングスクール

【転職特化】おすすめのプログラミングスクール3選【時間ない人】

・スクール卒業後:アウトプット起点の学習方法を実践する

プログラミングはアウトプット起点に学習するのが今のところの最適解だと思っています。

例えば以下のようなのはNG項目だなと。

・Progateをひたすらやる
・動画だけ見て自分でコードを書かない
・Qiitaの記事だけ見て「できるようになった気」でいる
これらはダメで、プログラミングはアウトプットしないと伸びません。これはほんとに。

僕はProgateばかりやっている時期があったのですが、今思うと時間損失でしかなかったですね。もっと早く気がつくべきでした。

・自分の作りたいものを作る
・誰かの悩みを解決するものを作る
・自分と同じエラー・悩みを持つ人のために記事を書く(ブログ・Qiita・note等)
こういう能動的な作業をやるのが、プログラミングスキルを伸ばしていく上で1番効果的です。

1番いいのは

・何かを作る→Qiita等でアウトプット→何かを作る→Qiita等でアウトプット
これを繰り返すことです。

エディタで何気なく書いていたコードを、記事で論理的にわかりやすく説明していると知識が異常に深まりますからね。

なので、インプットはほどほどにアウトプットを意識してプログラミング学習に励んでもらえればなと。

・独学はしんどいけど、あなたは悪くない

独学はしんどいですが、それはあなたの能力不足ではなく、ただ慣れてないだけです。

僕は学歴はほんと大したことないですし、今まで何かで大きな成果を出したこともありません。「The 普通人間」です。

そんな僕でもプログラミングを理解することはできたので、プログラミング独学挫折の原因はあなた自身ではないですよ。

まずは「独学挫折する原因」を分析し、自分に合った手段を選んでいってください。

ノロノロ

この記事が参考になったら嬉しいね。
40代未経験者でも受講・自走可能なプログラミングスクールを紹介 プログラミングが「つまらない」と感じるのは至極当たり前だと思う テックエキスパートの「限界年齢」について卒業生の僕が見解を述べる オンラインのプログラミングスクールをおすすめ順に【未経験OK】

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA