プログラミング

【体験談】プログラミングを挫折しない方法3つの秘訣!

PC
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、プログラミングを挫折しないで独学で勉強し続けられる方法についてまとめていきます。プログラミングを挫折し続けてきたからこそ伝えられる価値があると思い、今までの経験を基に徹底的にお話しいていきますよー!

こんにちは!

事業会社でデータサイエンティストとしてお仕事をしているウマたん(@statistics1012)です。

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

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

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

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

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

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

※厳密にはSQL/HTML/CSSはプログラミング言語ではありません

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

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

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

プログラミング言語に挫折した日々

んーーー。正直、一つのことを続けるのは自信ある方なんですよー!!

だけどプログラミングはなかなか続かなかった。

そんなプログラミング続かなかった続いた時系列を見ていきましょう!

大学1~2年生でJava・C+を学ぶ

大学に入って学んだ一番初めのプログラミング言語はJava・C+。一番スタンダードであり、重要なプログラミング言語です。

ウマたん
ウマたん
単位を取るためにやらざるを得ない状況だったなー。

まあそれなりに理解は出来たし、書けるようになったのですが正直興味なかったので習得はできませんでした。

これがJava・C+。もちろんプログラミング言語の土台にはなったと思います。

まあムダだったとは思わないですけど、無理やり行うプログラミングなんてクソ意味ないです。

やらない方がまし!!

なんであなたは今プログラミング言語を勉強しているんですか?習得して何がしたいんですか?して意味あるんですか?必ず自問自答しましょう!

それで明確に答えられないなら立ち止まって考えなおしましょう!

大学3,4年生でRを学ぶ

いろんな世の中のわけわからない事象を数理的に解明したいなと思い、統計学という学問に興味を持ちはじめたのが大学生の後半。

統計学の研究室に入り、データ解析言語であるRを勉強するようになりました。

いやー自分の興味のあることなら学習が進む!

結局プログラミングって手段なんです。

解析したい事象があるからそれを確かめるためにRを使う。

そんなこんなでRは比較的簡単に習得することができました。

研究室の同期で非常に優秀な友達がいたのも大きいですねー!

ロボたん
ロボたん
俺のことかい??
ウマたん
ウマたん
ロボたんいなくても全然だいじょ・・・お世話になりました・・・

大学院でRuby・Pythonを学ぶ

大学院になって余裕が出てきたため、RubyとPythonを勉強しはじめました。

ウマたん
ウマたん
なぜかって?RubyとかPython出来たらカッコいいんじゃん!

そう、RubyとPythonは非常に汎用性が高いプログラミング言語であり今のうちに勉強しておけば役に立つかなーという安易な気持ちで勉強しはじめました。

結果・・・ほぼ習得できず。

何のために勉強しているのか分からず、目的が曖昧になっているプログラミング言語は習得できません!!!!

社会人になってPython・SQL・HTML・CSS・Javascriptを学ぶ

社会人になって、業務でHTML・CSS・Javascriptを少し触るようになりました。

元々知識はないし、教材等で体系的に学んだことはないのですが、記述は理解できるしある程度なら書けるようなレベルになりました。

SQLはゴリゴリ業務で使うのでだいぶ書けるようになりました。

正直プログラミング学習を続ける上で教材の良し悪しってそれほど大きな問題ではないと思っています。

どれだけ続けられる環境を作れるかが大事!!

ウマたん
ウマたん
HTML・CSS・Javascriptって実装するとすぐ結果が画面に反映されて面白い!簡単に形にすることができるとモチベーションも上がりやすい!

また業務でAI・機械学習を使ったプロジェクトを行うようになり他ツールとのAPI連携を行う上でPythonを使うようになりました。

学生時代はRで十分だったためPythonを習得することができませんでしたが、今回は必要にせまられてPythonを習得することに・・・だいぶ習得できるようになりました。

ウマたん
ウマたん
やはり習得目的がはっきりしていて、習得した後のアウトプットイメージが出来ていると効率が良い!

これが自分のプログラミング挫折人生です。

まあ、それなりに習得出来たプログラミング言語と全くできなかった言語がありますねー。

これらを振り返った時にプログラミング言語を挫折してしまうパターンが見えてきました。

プログラミングを挫折しないで勉強し続ける方法

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

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

■目的がない
■分からないことを聞ける環境がない
■仲間がいない

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

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

目的を作る

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

なんとなくプログラミング流行っているから勉強してみようと思っていませんか?

プログラミング言語は、まず目的がないと続きません。

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

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

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

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

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

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

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

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

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

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

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

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

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

以下の記事で紹介していますのでよければご覧ください。

macとsurface
PythonのFlaskで簡単なWebアプリケーションを作ってみよう!当サイト【スタビジ】の本記事では、Pythonの軽量WebアプリケーションフレームワークであるFlaskを使って簡単なWebアプリケーションを作成していきたいと思います。Pythonを開発言語としても使えるようになると、幅が広がりますよー!...

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

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

英語も、最初から体系的に文法・単語を身に付けても実践しないと習得できないですよね?

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

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

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

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

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

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

ただ、そんな恵まれた環境があるとは限らない。

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

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

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

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

僕はTechAcademyを選びました。


公式サイト:https://techacademy.jp/

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

テックアカデミーのAIコースを受講しましたが、現役エンジニアの方の説明が分かりやすくかつノルマを与えられるのでお尻に火がつきます。

テックアカデミー メンターのレスポンス

テックアカデミーを体験記事を挙げているのでよければご覧ください!

【体験談】テックアカデミー評判は?3か月本気受講してみたので徹底レビュー!当ブログ【スタビジ】では、様々なプログラミングスクールの中からテックアカデミーのメリット・デメリット・評判について3か月の体験談をもとに赤裸々にレビューしていきます。...

教材のレベルも高く、本気で実践的なプログラミング学習ができます。

無料体験もやっているので不安な人は無料体験がオススメです!

とは言え、プログラミングスクールって複数あって違いが分かりずらいですよねー・・

以下の記事で言語別のおすすめプログラミングスクールについてまとめていますので是非にしてみてください!

また、プログラミングスクールの比較が「WebReach」というサイトのおすすめプログラミングスクールの記事で詳しく紹介されています。

とてもわかりやすいので、ぜひご参考ください。

エンジニアへ転職・企業でインターンシップ

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

社会人なら転職!

学生さんならエンジニアインターンシップなどを考えてもよいでしょう!

こちらは、上手くいけばお金をもらいながら効率よく勉強できます。

エンジニアになると半ば強制的に目的がつくられるので、最重要の項目「目的を作る」も達成できちゃいます。

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

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

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

仲間を作る

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

仲間がいない。

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

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

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

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

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

ウマたん
ウマたん
みんな!是非是非一緒にプログラミングを学ぼう!
ロボたん
ロボたん
仲間を作ってプログラミング言語を加速させよう!

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

ちなみに僕のTwitterのアカウントは@statistics1012です!

ウマたん
ウマたん
フォローしてくれると飛んで喜ぶよ!!

プログラミングが挫折しないサービス・教材

プログラミング学習を挫折しないためには、まずインプットの環境作りが大事だよという話をしてきました。

環境作りが一番大事だと伝えた上でインプットの効率を上げるサービスや教材についてまとめていきたいと思います!

書籍でインプット!

本からのインプットは、手っ取り早く始めることができ、かつ安く済みます。

しかし、継続しない確率が高い。特に図や絵のない文章ばかりの堅苦しい本は問題外!

分からなかったらそれを解消する手段がないので、頓挫しやすいです。

プログラミングを勉強する上で本は3つの役割に分かれると思います。

1つは概念的な超初級者向けの本。「プログラミングを勉強したら何ができるようになるか~基本的なプログラミング」までを網羅した本。

2つ目はリファレンス用の本。読み通すことを目的としているのではなく、必要な時に逆引きで調べられるような手元に置いておく本。

3つ目は読むことによってプログラミングが習得できるようになると謳った本。

圧倒的に多いのは3つ目ですが、それをいきなり購入して勉強しようとするのは間違い。

本に関しては1・2をメインに購入を検討すると良いと思います。本は、プログラミング勉強への架け橋と、勉強を進める上での補助としての役割が向いています。

もし、3つ目を読破するなら、一人ではなかなか難しいです。よっぽどの天才か、よっぽどの熱量がないと無理。少なくとも僕は無理。

3つ目の類の本を読破するなら、勉強会に参加したり、一緒に読み進める仲間を作って進めていきましょう。1人でやると効率悪いです。

目的を持つのは必須です!

ちなみにR・Python・SQLに関してはオススメの本をこちらに挙げているのでご参考までに!

R Pythonの本
厳選10冊!データ解析(R・Python)の勉強におすすめな本当サイト【スタビジ】の本記事では、PythonとRを勉強するのにおすすめな書籍を徹底的にまとめていきます!書籍だと続かない・・・という人のために書籍以外の勉強法についても紹介していきますのでぜひチェックしてみてください!...
SQL
SQLを最速でマスターできるオススメ本と勉強方法!当サイト【スタビジ】の本記事では、SQLを勉強するのにオススメな本と勉強法についてまとめていきます!SQLはデータサイエンスの基本であり必ずマスターしておかなくてはいけない言語です。早い段階から手を動かすことで理解が深まりますよー!...

プログラミング学習サービスを使う

ネットには手軽に体験できるプログラミングサービスが多数存在します。

無料なものから有料なものまでありますが、動画などで説明してくれるので本より分かりやすく継続しやすいのが特徴的です。

また、レッスンごとに分かれているので、友達といつまでにここまでやろうと決めて一緒に進めていくとモチベーションも保ちやすく良いと思います。→結局これが大事。僕自身、大学時代は研究室の同期と同じペースで進めるようにしてモチベーションを保っていました。

それではオススメのサービスを見ていきましょう!

ドットインストール

まずはこちら!

ドットインストール

動画で丁寧に教えてくれるので非常に分かりやすく初心者でもつまずかず勉強することができます。

無料で視聴できる動画も多数あり、十分無料でも勉強できます。

最初に無料ではじめて、もっと深く勉強したいなと感じたら有料プランに変えると良いでしょう!

他のサービスとの違いは、完全に環境構築からやる、というところ。他のサービスは良い意味でも悪い意味でも環境構築する必要がなかったりします。

コーディングしてデバック回してくれてアウトプットが出てくるツールが標準装備されていると、簡易的に始めることができますが、実際にビジネスや研究に使おうとすると環境構築でつまづいてしまう可能性が高いです。

言語を勉強するだけでなく、それを実践で活かせるレベルまでもっていけるのがドットインストールなのです。

ただ、その分最初の環境構築の動画の段階で分からなくて頓挫してしまう可能性もあります。

他のサービスよりも継続性が低いです。続けるためにも友達と一緒に進めることをオススメします。

PyQ

Pythonってめちゃくちゃ需要あるのになかなか深く学べるツールがないんです!

さきほど紹介したドットインストールもPythonに関しては本当に基本的なことしか学べません。

そこで、Pythonに特化したこちらのサービスPyQを利用してみましょう!

非常に分かりやすく、Pythonの基礎から、開発までできるようなレベルまで教えてくれるのでオススメです。

料金は月額3000円ほどですが、それくらいの価値があります!!!開発環境を整えなくても登録してからすぐにPythonをカタカタと打ち込めます。

PyQについては以下の記事で詳しくまとめています!

【体験談】PyQの評判は?3か月本気でPythonを勉強してみたので徹底レビュー!PyQはPythonを学ぶ上で非常にオススメで評判の高いサービスです。ただ、他のサービスとの違いが分かりにくいのも事実。そこで当サイト【スタビジ】では、実際にPyQを3か月体験した僕がPyQのメリット・デメリット・評判について徹底的にレビューしていきます!...

プログラミングを挫折しない方法 まとめ

長々とプログラミングを挫折しない方法についてまとめてきましたが・・・・一番伝えたかったのはプログラミングを挫折しない3つの重要なコト!

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

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

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

Pythonに関しては学習方法を以下に簡単にまとめています!もしPythonを習得したい人は以下の記事も合わせてご覧ください!

Python 勉強
【入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【スタビジ】の本記事では、Pythonを効率よく独学で習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

またプログラミングが分からない時の解決方法について詳しく以下で解説しています!

プログラミング 分からない
【初心者向け】プログラミングが全く分からない・・・そんな時の解決方法 こんにちは! 事業会社でデータサイエンティストとしてお仕事をしているウマたん(@statistics1012)です。 ...
Pythonを初学者が最短で習得する勉強法

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!