全くの初心者がプログラミングを学習することによって、人生が良い方向に好転していくことは私自身も体感していること。
しかし、目的がないプログラミングの勉強をしても意味ないのは事実。
プログラミングを学習したいと思っても、継続した努力ができない人はスキルを身につけることができませんし、何もサービスを作り出せません。

もちろん最初の動機は軽いものでも問題ありません。
重要なのは
『プログラミングを学んでいく中で目的を明確にしていく』
ことです。
ここでは目的を全く持たないプログラミングの学習がなぜ時間の無駄であるのか?その点について私の経験を元に色々とお伝えしていきたいと思います。
好きなところから読んでください
なぜプログラミングを勉強したいのか?その理由は答えられますか?

この記事を読んでいるということは、少なくともプログラミングの学習を前向きに考えているはずです。

例えば
- ウェブサービスを作りたい
- 新しいスキルを身につけて転職したい
- お金持ちになりたい
- モテたい
理由は何でも良いので、まずはざっくりとした目標を定める必要があります。
ちなみに私の場合は、最初プログラミングを知った時
『面白そう!』
『これできたらモテるかなw』
『新しいサービス作ってみて〜!』
というように、勝手に妄想を膨らませていました。
今考えると、これが最初の目標となっていたのかもしれません。
何でも良いので、この目標を持つことによって、今後プログラミング学習で必ず起こる問題を乗り越えられるようになるのです。
プログラミング学習は必ず壁にぶつかる時が来る

ざっくりとした目標を掲げ、いざプログラミングの学習を始めてみると、最初の段階で理想と現実のギャップという壁にぶつかります。
実際プログラミングを学べば誰でも簡単にサービスを生み出せると思ってしまいがちですが、実際のところは猛烈に地味な作業を続けていき、ある程度時間をかけてサービスを作り上げていくことになります。

目的がないとプログラミングで挫折してしまう理由【時間の無駄です】

一部の天才エンジニアを除いて、この壁にぶつかることを避けるのはまず不可能です。
誰かにプログラミングを教わったとしても、そこで教わったことを実行するのは自分ですから、なぜエラーが出るのか?どうして正しく動作しないのか?を考えられる脳みそを作り上げていかなければならないのです。
基礎を学んでいる段階では壁は出現しませんが、いざこの段階に入ると、目標を持っていない、もしくは目標が具体的ではない人たちはどんどん挫折していくことになるのです。
ではなぜ目的を持たないと挫折をしてしまうのか?その理由は大きく3つあります。
そもそも壁を乗り越える理由がない・やる意味がない

全く目的を持たずにプログラミングを学び、そこで大きな壁が立ちはだかった場合、そもそもその壁を乗り越える理由が見当たりません。

例えば3メートル以上の木にりんごが育っていた場合、そこまでお腹が空いていない人はりんごを取ろうとしませんが、死ぬほどお腹が空いている人はなんとかしてそのりんごを取って食べたいと思いますよね?
これも結局目的が明確にあるかないかが行動を大きく変えているのです。
やってもやらなくてもどっちでも良い状況の場合、人はわざわざ辛い選択肢を取ることはまずありませんからね。
何を勉強すれば良いか定まらない

そしてプログラミングには数多くの言語があります。
それぞれの言語によって、得意なことやできることが変わってくるため、自分が何を作りたいのかが明確になっていない場合は、言語選びも適当になってしまいます。
実際プログラミングで大きな結果を出している人たちの多くは
『あのサービスが作りたいからこの言語を学ぼう!』
と目標を明確に持って言語を学び始めるため、まず迷いがありません。
しかしとりあえずプログラミングを学習してみよう!と考えている人たちは、目的がないため、言語を学んでいく中で
『これは難しいから違う言語にしよう‥』
と迷いが生じる瞬間が出てくるのです。

これは挫折するパターンの典型的な例とも言えるでしょう。
プログラミング学習は手段であり目的ではない

ここは考え方として最も重要なポイントとも言えます。
そもそもプログラミング言語を学ぶということは、手段であり目的ではありません。
プログラミングを学ぶために言語を学習するのは、そもそも前提がおかしい考え方です。
普通は、○○という言語を使って作られたサービスを自分も作ってみたいから、○○という言語を学んでいく!のような感じで学習を手段として考えます。

私が口を酸っぱくして目的の重要性をお伝えしているのも、全てはこれが理由です。
手段が目的となると、間違いなく結果を残すことができませんので、この点は必ず理解しておきましょう。
学習していく中で小さな目標を見つけることが大切!

興味本位で始めることに関しては、最初は誰しもが明確な目標を持っていません。その点は全く問題ないです。
しかし、ある程度その分野に関して理解を深めていくと
『もっとアレをやりたいな〜』
『もっとこうしたら上手くいくかな〜』
と自分の考えが生まれてきます。
例えばあなたが野球を始めた場合、最初はルールも分かりませんし、どのような練習をすれば上達するのかも謎です。
しかしある程度ルールを把握してくると、自分が伸ばすべきスキルが明確になってくるため、そこに向かって努力を始めることになります。
努力をしていくと、面白いように結果が出るようになるため、いずれ
『ホームランを打ってみたいな〜』
という自分の考えが出てきて、その目標を実現するための努力を始めるようになるのです。
なんとなく野球を始める→ルールは分からないけどとりあえず続けてみる→ある程度ルールを把握して少し頑張ってみる→結果が出るようになる→自分の達成したい欲が出てくる→その目標に向かって努力を始める

もちろん途中で自分に合っていないことに気づいて辞める人もいますが、それは『自分には向いていない』ことが分かっただけでも大収穫です。
目的もなく続けて辞めるのと、自分の性に合っていないから辞めるのとでは意味が全く違いますので、この点は勘違いしないようにしましょう。
理解が深まると必ずやりたいことが明確になる

途中でプログラミング学習では挫折者が多いという話をしましたが、この挫折する人たちというのは
『プログラミングの理解を深める前に辞めてしまう』
ことがほとんどです。私はこれが99%だと思っています。
実際プログラミングを続けていくと、知識が増えていくにつれてできることが多くなるため、何かをやってみたい欲が高まっていき、まず挫折する選択肢がなくなります。

つまり最初の段階で目的を明確化し、自分が初心者→中級者にステップアップできる環境を整えることさえできれば、高い確率でプログラミングスキルを身につけることができるということでもあります。
今まで理解が深まった後にプログラミングが嫌になったという話は聞いたことがありませんからね笑。
プログラミングで目標を見つける簡単な方法!
最初プログラミングを学び始めたばかりの頃は、目標が少しふわっとしていました。
そのため、最初は結構無駄な時間を過ごしていた気がします。
ですが、最初の段階でとりあえず『プログラミングの無料サービス』を利用し、実際にコードを打ち込むことで何ができるようになるのか?を自分の目で確認し、それを具現化したのです。
そしてこの無料サービスを利用して、自分の手でもサービスが作れることを体感し、そこからの成長は早かったですね。
最初の段階で
『自分一人で勉強することが効率が悪すぎる』
ことを理解し、早い段階でプログラミングスクールの無料相談を利用します。
TechAcademy [テックアカデミー]:無料でWEBアプリ開発・サポートあり
テックキャンプ:転職成功率99%の実績
そこでプロの話を聞き、転職する際に必要なレベル、自分でサービスを作る際に必要なスキルのイロハを学び、その後自分でコードを書き続けて成長していきました。
この行動を起こして良かった点としては、プロの話を聞いてみると
『初心者が思っている悩みが悩むことではないことに気づける』
ということです。
プログラミングは、最初ちょっとしたことで躓きがちですが、一人で悩むと数日かかるものが、プロに相談すればその場で解決できることが多々あります。
スクールに行くのは無駄だと話している人も多いですが、時間効率を考えると、明らかにスクールを上手に活用している人の方が成長スピードが早いはずです。これは私自身が一番痛感しています。
まずは3ヶ月続けてみよう!話はそこからです!

私たち人間は3という数字を重要視する人種ですが、このプログラミングに関しても同じだと私は思います。
とりあえず1日数時間の学習を3ヶ月継続できれば、まずプログラミングを理解できずに挫折することはなくなるはずです。

『続ける』ということがどれだけ難しいことかはあなた自身も分かっていると思いますが、どんなに分からないことがあっても、まずは3ヶ月継続して学習してみましょう。
そうすると、今まで点としてしか捉えられていなかったものが、突然一つの線として見られるようになるはずです。
私の場合、1日数時間の学習を3ヶ月続けた結果、プログラミングのちょっとしたブレイクスルーを感じることができました。
独学だと少し時間がかかるとは思いますが、この時間を短縮したいのであれば、積極的にプログラミングスクールや教材を活用してみてください。
まとめ

今成功している人たちも、最初から明確な目的を持っていたわけではありません。
学習を続けていく中で自分ができることが増えていき、そこで新しいことに挑戦したい欲が出てきたことにより、新しい目的を見つけ続けています。
目的は人間を行動へと促す重要な素材です。

せっかくプログラミングという人生を変えるものに出会ったのであれば、積極的に行動を起こして人生を良い方向へと導いていきましょう。
将来的な可能性も大きいスキルになりますので、学習しておいて損することはまずないはずですよ♪
人気記事 安くてスキルが身につくプログラミングスクールを厳選してみた!