学生エンジニアのしば(@akahire2014)です。
この記事を見てくれているあなたは、

って不安になっている人かもしれません。
僕も今ではプログラミングスクールTECH::CAMPでメンターとして働きながら、学生エンジニアとして仕事をもらって月10万円ほど稼げるようになりましたが、プログラミングを学び始めた時は同じような悩みを抱えていました。
難しいプログラミングも難しいのは最初だけです!

初心者が挫折する原因

目的がはっきりしない
初心者が挫折する原因はいろいろありますが、一番の理由は「目的がはっきりしていないこと」です。
英語とか資格の勉強が長続きしない原因もこれと全く同じです。TOEIC90%取れなければ仕事クビになるとかだと誰でも必死こいてやりますが、「なんとなく英語ができたらかっこいいな」くらいの緩い理由だと長続きしません。
僕の周りでもプログラミングを始める大学生や社会人がたくさんいますが、挫折する人ってほとんど目的がはっきりしていないんですよね。彼らは「プログラミングが将来役に立ちそうだから」みたいな曖昧な目的で学習を始めているパターンが多いんです。

って人は挫折する確率が一番高いので要注意です!
何を学習すればいいのかわからない
上の目的が決まっていないという原因とかぶっている部分もありますが、「何を学習すればいいのか」わからないという原因も周りを見ていると多いです。
こういう人って「ruby以外の言語で作られた会社のサイトを編集できるようになりたい」のにrubyの勉強してたりするんですよね。サッカーが上手くなりたいのに野球で基礎体力つけるみたいな無駄なことをしています。こういう状態になるとモチベーションが維持できないのでプログラミング学習が続かなくなります。
エラーの解決ができない
ある程度、やる気もあって目的もはっきりしている人でも必ず遭遇するのがエラーです。これはプログラミングをやる上では必ずつきまとうものです。僕もプログラミングの案件をやる時は軽く100回くらいはエラーに会います。
ある程度慣れてくるとエラー分でググって自力で解決ってできるんですが、初心者の頃は無理でした。
近くに聞ける人がいるといいんですが、なかなかそんなに恵まれた人っていないですよね。仮に近くにエンジニアがいたとしても何回もエラーの解決策を教えてもらうのは申し訳ないので結局自分で解決するしかありません。
エラーの解決って時には3時間くらいかかってしまうこともあるので、その時間でやる気が削がれていってプログラミングが嫌になるっていうパターンが多いです。実際僕もC言語をプログラミング未経験の時に勉強して3日で挫折しました。
挫折しないために抑えるべき3つの方法


学習の目的について考える
物事を継続する上で、やっぱり一番大事なのが動機付けです。
「ITエンジニアとして就職したい」「社内のエンジニアとコミュニケーションが取れるようになりたい」と言った具体的な目的があるとプログラミング学習に挫折しません。
僕の場合だと「大学生のうちに在宅で稼ぎたい」「将来はWeb系のエンジニアになりたい」っていう目標があったので、1日10時間とかプログラミングしていても諦めずに頑張ることができました。
逆に「なんとなく将来役に立つかも」みたいな理由だと1日10時間も勉強できなかっただろうなと思います。
まずプログラミングを学習する前に、「そもそも何のためにプログラミングを学習するのか?」としっかり考えてみるといいでしょう。
学習するべきものを考える
例えば、「社内のエンジニアとコミュニケーションを円滑に取りたい」という目標を立てれば「社内で使われているプログラミング言語は何か?」「エンジニアとコミュニケーションが取れない部分はどこか?」と言った具体的な問題点が出てくるので、自然と自分が学ぶべき場所がわかるはずです。
僕がプログラミングを学び始めた動機は「在宅で稼げるようになりたい」だったので在宅で仕事がしやすいWeb系の言語であるrubyから学び始めました。
自分が学習するべきものが分かっていると効率的に学習することができてモチベーションも維持しやすいですよ
学習方法
独学
独学のいいところは何と言ってもお金がかからないことです。今の時代progateみたいに無料でプログラミングを学習できるサービスで溢れています。ちょっとプログラミング触ってみたいっていうくらいならprogateだけで十分です。
ただある程度のレベルまで行くと必ずエラーが出てきます。そして初心者の人だとエラーが出た時に自分で解決できなかったり、解決できても時間がかかってしまったりていうことがほとんど。
そんな時に僕が使っていたのがteratailです。これを使えば親切なエンジニアの人たちがエラーの解決策を教えてくれます。簡単に言うとエンジニア版yahoo!知恵袋。早ければ2時間とかで回答が来たりします。
プログラミングスクール
独学でもある程度までは勉強できます。ですが僕の場合独学はしんどかった。エラー解決で3時間とか使った時に、時間を無駄にしたような感覚になるんですよね。
プログラミングの挫折率って90%を越えます。お金にある程度余裕がある人ならプログラミングスクールに通うのが一番いい方法だと思っています。僕の体験談も書いてあるのでよければ参考にしてください。
挫折しないために必要なことまとめ
プログラミング学習で挫折しないために必要なことを最後に簡単にまとめておきます。
- プログラミングで何がしたいのか考える
- それを実現するために必要なことの取捨選択
- progateを使う
- 余裕があればプログラミングスクールに通う
僕がプログラミングを勉強し始めたから在宅で稼げるようになるまでにやったこともまとめておくので、よかったら参考にしてくださいね