プログラミング

プログラミングを挫折しないで勉強し続けるには?

こんにちは!

事業会社でWebマーケ・データ解析屋さんとしてお仕事をしているウマたんです。

大学時代に様々なプログラミング言語に挑戦し、挫折を繰り返してきました。

そんな僕ですが、最近になってやっとプログラミングを挫折せず続けて勉強できるようになってきました。

プログラミング言語って独学で勉強するのは難しいな・・・
プログラミングを勉強しようとしても挫折してしまった・・・次こそは挫折せず取り組みたい!

そんな悩みを解決するために、この記事ではプログラミング言語を挫折せず勉強する方法をお伝えします!

プログラミングは挫折して当たり前!それをどう克服していくかが成長のカギだ!

今まで扱ってきた言語は、R/Python/SQL/Ruby/HTML/CSS/Java/C+/Javascript

いわゆる有名どころの言語は大体触ってきましたが、効率よく習得できた言語と習得できず挫折してしまった言語があります。

なぜプログラミング言語は挫折してしまうのでしょうか?

自分の経験をふまえてプログラミング言語で挫折しない方法について見ていきたいと思います!

プログラミング言語を勉強する上で挫折してしまうパターン

プログラミング言語を勉強しようとして挫折してしまうパターンは3つ。

目的がない

これが一番の挫折の原因だと思っています。

なんとなくプログラミング流行っているから勉強してみようと思っていませんか?プログラミング言語は、まず目的がないと続きません。

プログラミングはあくまでも手段なんです。

本来、「何かWebアプリケーションを作りたい!」とか「株価の動きを解析してみたい!」という目的があり、それを成し遂げるための手段としてプログラミング言語を使うべきです!

とりあえず、プログラミング言語を勉強しておけば手に職が付くからーと思って勉強してもなかなか身に付かないし、効率が悪いです。

まずは、自分の中でプログラミング言語を使って成し遂げたいことをイメージしましょう!

僕の場合、自分の研究を達成するために用いていたRや、Webアプリケーションを作るために勉強したPython・Javascript、データ抽出・集計のためのSQLは効率的に習得できました。

ただ、なんとなく勉強させられていたC+、Javaや流行っているから使ってみようと思ったRubyなどは、全く習得できず・・・

僕の場合研究や仕事に紐づいて習得することが多かったですが、趣味で勉強する際も

■何か自分で成し遂げたいこと
■そのプログラミング言語を習得したら何が出来るようになるのか

をイメージして勉強に臨むと良いでしょう!

分からないことを聞ける環境がない

ある程度まで出来るようになると自走できますが、やはり分からないところを教えてもらう環境がないと挫折しやすいですよね。

現代ではネットに情報が溢れているので調べると大体出てきますが、それでもなかなか解決しないことは多い。

そんな時に、さらっと聞ける人が周りにいるかいないか。非常に大きな差ですよね。

ただ、そんな恵まれた環境があるとは限らない。後ほど分からないことを聞ける環境を作る方法をお伝えしますね!

仲間がいない

もう一つ挫折してしまうパターンがこれ。

仲間がいない。

ただこれは先述の二つに比べるとそんな大きな要因ではないかも。

まあでもやっぱり、一緒に勉強して切磋琢磨する仲間がいないとどうしても勉強は続きません。

教えてもらう人も大事ですが、同じレベルで一緒に勉強していける仲間も大事。

一緒に勉強する仲間がいると、分からないところを共有してお互いに教え合えますし、モチベーションも高まります。

プログラミングスクールやハンズオン勉強会で作っても良いし、TwitterなどのSNSを使っても良いでしょう!

挫折しないで勉強を続ける方法

それでは、どのようにすれば挫折せずプログラミングの勉強を続けられるのでしょうか?

それは先ほどの挫折してしまう3つの原因を出来るだけ排除すること。

■目的がない→目的を作る
■分からないことを聞ける環境がない→聞ける環境に飛び込む
■仲間がいない→仲間を作る

目的を作る

最重要課題なのが、これ!

特に目的がない状況は避けたい。

漫然と勉強するのではなく「XXX」を作りたいから勉強する、「XXX」を解析したいから勉強する、とイメージして学習を行うと効率良く学べるでしょう!

結構ドリーミーな目的でも良いと思います。いきなり具体的なWebアプリケーションを作る!など!

そんなの無理!と思うかもしれません。

しかし、僕自身Python・Javascriptを習得するために「Webスクレイピングをして文書類似度を算出するWebアプリケーションを作る」という目的を持って勉強していました。←「割とこのWebアプリケーションは難易度的にちょうど良いと思います」

細かい文法が分かっていなくても、ネットで調べると情報があふれているので、色んなコードを組み合わせて、なんとか作り上げました。

そして、その後に体系的な学習を行うと、あの時のあの文法はこういう意味があったのかーと経験と知識が紐づいて吸収しやすいです。

英語も、最初から体系的に文法・単語を身に付けても実践しないと習得できないですよね?いきなり何も分からない状況で英語圏に飛び込んで、実践的に英語を使ってから、文法や単語を勉強した方が効率良かったりしますよね?

プログラミングも一緒なんです。だからまずは、「何を作りたいか」目的を持って取り組みましょう!

分からないことを聞ける環境に飛び込む

今すでに周りに聞ける環境がある人はよいでしょう。だけどなかなかそんな環境ないですよねー!

分からないことを聞ける環境に飛び込むには4つの方法があると思っています。

ハンズオン勉強会に参加してみる

【価格の安さ】
【手軽さ】
【学習効率の良さ】
【オススメ度】

ハンズオン勉強会は頻繁に行われていて価格も安いので一番気軽に参加できますね!

ここで同じレベルの仲間を作るのも大切です。

ただ恒常的に聞く環境は作れず、さらに自分のレベルに合ったハンズオンを見つけるのが難しいので学習の効率はそれほど良くないです。

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

【価格の安さ】
【手軽さ】
【学習効率の良さ】
【オススメ度】

プログラミングを本気で勉強しようとするならスクールに通うのは一つの手です。ただ、価格がそれなりに高いので選ぶ際は慎重に。

有名どころだとTechAcademy、TechCampなど。

■TechAcademy

基本的にはオンライン学習コンテンツを進めていくものになりますが、現役エンジニアのメンターがついて分からないことは素早く対応してくれます。

教材のレベルも高く、本気で実践的なプログラミングを勉強するならテックキャンプよりもテックアカデミーでしょうか。

■TechCamp

テックキャンプは教室が全国8か所にあって、受講期間は自由に使えるのが良いですね!

一緒に切磋琢磨する仲間も作れるかもしれないし、トレーナーさんに直接質問できるのも魅力的ですね。

一緒に周りにプログラミングを学べる仲間がいる場合は、テックアカデミーでゴリゴリ学習を進めて、もし仲間が欲しい場合はテックキャンプで教室に通ってみるのが良いと思います。

エンジニアへ転職

【価格の安さ】 逆にもらえる
【手軽さ】
【学習効率の良さ】
【オススメ度】

こちらは、上手くいけばお金をもらいながら効率よく勉強できます。エンジニアになると半ば強制的に目的がつくられるので、最重要の項目「目的を作る」も達成できちゃいます。

プログラミングが出来ない状態からエンジニアに転職するというのはリスクが大きいかもしれません。

それでもやる気さえあれば受け入れてくれるところはいくつかあるそうです。友達で未経験からエンジニア転職した人もいます。

僕自身転職したことがないのでなんとも言えないですが、ITエンジニア専用の転職サービス「レバテック」はオススメ!(※レバレジーズでインターンしてました笑)

質問サービスを使う

【価格の安さ】
【手軽さ】
【学習効率の良さ】
【オススメ度】

今ではネットで聞けば誰かが何でも応えてくれる時代ですので、そちらを利用するのも1つの手です。

プログラミングのQ&Aサービスだとterateil(テラテイル)が圧倒的にオススメ!こちらもレバレジーズのサービスですが、回答率が高く盛んにやり取りが行われています。(※レバレジーズの回し者ではありません笑)

仲間を作る

最後に「仲間を作る」方法。

新しく知り合うパターンと、既存の友達をプログラミング学習に引き入れるパターンがあります。

ただ、無理にプログラミング学習に引き込んでもなかなかモチベーションが上がらず途中で離脱してしまうことも多いので出来るならプログラミング学習に意欲的な友達を新たに作る方が良いでしょう。

そのためには、ハンズオン勉強会やプログラミングスクールなどに通って作るリアルを起点にした方法と、SNSなどで繋がるバーチャルを起点にした方法があります。

是非リアル・バーチャルを上手く利用して一緒にプログラミングを学ぶ友達を作りましょう!

ちなみに僕のTwitterのアカウントは@statistics1012です!フォローいただけると喜びます。

まとめ

最後にプログラミングを挫折しないで勉強し続ける方法をまとめておきましょう!

繰り返しになりますが、プログラミングを挫折しないためには以下の3つが大事!

■目的を作る
■分からないことを聞ける環境に飛び込む
■仲間を作る

これで、プログラミングも挫折せずに習得できるはず!

プログラミングの勉強方法に関してはこちらの記事でもまとめています!

プログラミング言語を勉強する上でオススメな方法とツールを紹介!こんにちは! プログラミング言語ってなかなか一人で勉強しようとしても続かないですよね・・・ 分厚い書籍を購入してみたもののな...