【プログラミング独学は無理?】独学への期待をやめると可能です

ALL

プログラミングの独学は可能なのか知りたい人「プログラミング独学が自分にできるかどうか不安。プログラミングスクールに入るか1人でやるかどうやって決めればいいんだろう。独学って言ってもやり方もわかんないしなあ。」

こういった疑問に答えます。本記事に目を通すと上記の悩みは解決します。

本記事でわかること

  • プログラミングの独学は可能なのか【結論:可能です】
  • 独学のメリットをスクールのメリットと比較しながら解説
  • プログラミング独学の具体的な方法

信憑性

ここからはこの記事の信憑性のために少し書きます。なので早く本編を読みたい方はこちらから飛ばして読んでください。

本ブログを運営する2人は独学でプログラミング(Javaと現在Pythonを勉強中)の基礎知識までを習得しました。
本ブログは旧帝大大学院生2人が運営しており、経歴は以下になります。

【めておの経歴】旧帝大大学理系→大学院でウイルス研究、趣味でプログラミング独学→大手金融機関
【のにの経歴】旧帝大大学理系(めておとは別大学)→大学院でプログラミング研究、趣味で企業参画→大手電子メーカーSE

つまり1人はプログラミング初心者、もう1人はプログラミング4言語(Java以外)を実戦レベルで習得済みといった経歴です。2人ともJavaの基礎知識の習得は独学である程度できました。実践レベルまではまだ折り返し地点といったところです。どのくらいのレベルまで習得したのか気になる方は以下のJavaに関する記事一覧を参考にしてください。

>>【Java入門】初心者のJavaマスター完全ロードマップ【徹底解説】

僕が言いたいこと(本記事の結論)はこのレベルまでの基礎知識なら独学で問題ないということです。それを今から話していきます。

【プログラミング独学は無理?】独学への期待をやめると可能です

プログラミングの独学は可能です。これをするだけです。

過度な期待を捨て、1人で頑張る。

前半部分の「過度な期待を捨てる」ことと後半部分の「1人で頑張る」ことの必要性をそれぞれ解説していきます。

独学の限界を知り過度な期待を捨てる

独学では基本的にプログラミングの基礎習得までが限界です。

プログラミングを独学だけで実戦レベルで使えるようになりたいとお考えの方は独学すべきではありません。その最終目標を改めるか学習スタイルを改めるべきです。実践レベルに独学だけで到達するのは不可能だからです。

理由は簡単で独学にはこんな特徴があるからです。

特徴(デメリット)

  • するべきことがわからなくなる
  • 分からないことを解決するまでに時間がかかる【実践レベルまで独学はあまりに非効率】
  • 参考書やサイトでは基礎レベルまでの紹介が限界【実戦レベルはコミュニティに入るべき】

なので繰り返しますが基礎の習得までが独学をおすすめできる範囲です。そしてここまで読むとこういうふうに感じませんか?

  • 独学っていい点何もないんじゃない?
  • 実践レベルを目指す人はもうこれ以降の記事を読む必要ないんじゃない?

これらの疑問の答えはいずれも「No」です。1つめの疑問点については、独学には他にないメリットがあります。それはこの後に話します。

実践スキルを身につけたい方も安心してください

あくまで、独学すべきでない人は独学だけで実戦レベルまで目指したい方です。基礎だけなら独学で十分可能です。その後にコミュニティに入ることも全然アリです。これが2つめの疑問点に対する答えです。つまりこういうことです。

基礎と実践の習得を分けて考える。基礎→独学、実践→スクールなど
であれば可能(当然基礎も実践もいずれもスクールでも可能)。

1人で3ヶ月努力する断固たるやる気が必要です

プログラミングの独学が可能なのは3ヶ月間1人で努力できる人です。
後のプログラミング独学の具体的な方法のところでも詳しく話しますが、独学はどんなに短く見積もっても200時間弱は必要です。つまり1日2時間の学習でおよそ3ヶ月になります。

また1日の勉強時間を減らして長期的に取り組む方法も避けた方がいいです。なぜなら独学はモチベーションを高く保つ必要があり、それは長期的には難しいからです。

プログラミングを独学で学んでいる人の90%が挫折しています

なので、繰り返しますがプログラミングの独学する人は3ヶ月間1人で努力できる必要があります。

努力した過去があるといいです

また再現性がある程度取れていると望ましいです。どういうことかというと、過去に3ヶ月間1人で努力した経験がある(僕の場合だと受験勉強です)が良いということです。1人で3ヶ月間努力するのは予想以上にしんどいです。最初はできると思っていても途中で挫折する可能性があるからです。

つまりここまでの話をまとめるとこんな感じです。

プログラミング独学は、基礎習得までを目標として3ヶ月努力し続けることで可能。

独学とスクールのメリット

ここからは独学とスクールのメリットについてそれぞれ解説していきます。少し先ほど述べましたが、スクールでも基礎習得はもちろん可能です。どちらを選ぶかの判断基準はあなたのやる気が続く方を優先すべきです。なのでここからの話は独学かスクールかを決める上で役に立ちます。独学のメリットが以下になります。

独学のメリット

  • 時間の有効活用がしやすい
  • いろいろな勉強法を試すことができる
  • 投資額が圧倒的に少ない(既出)

これらのメリットがあります。一方でプログラミングスクールに通うと以下のような理由からモチベーションを保ちながら学習することができます。

スクールのメリット

  • スケジュール管理がしっかりできる
  • 他の受講者と触れ合う機会がある
  • 高いお金を払っている分やらなければという義務感が発生するため、それがモチベーションになる

なんか一見するとスクールの方が恩恵がありそうです。そうなるとやっぱりスクールに通うのがベストなのでしょうか。独学だと挫折率が9割ですもんね。

独学挫折率9割にはカラクリがあります

中途半端な気持ちでプログラミング学習をする人はほぼ確実に独学です。
※決して「独学で学習する人」が必ずしも「中途半端な気持ち」だというわけではありません。

本気度が低いものに高い投資はしませんよね。つまり中途半端に始めた方はスクールに通わないですよね。

なので数字上では、独学の方が途中で諦めてしまう確率が高そうと思ってしまいがちです。でも実際にはあなたが独学向きなら全然可能です。

自分とよく相談して決めるのがオススメ

つまり結論は200時間プログラミング学習をできそうな方を選べば良いです。独学だと柔軟性がモチベーションになりますし、スクールだと義務感がモチベーションになります。
ですので自分にあった方を選ぶと良いです。ただ決して基礎習得までに限ればプログラミング独学は不可能ではありません。

もしもここまでの独学とプログラミングスクールの比較を読んで、プログラミングスクールの方が自分に合ってそうだと感じた方は以下のリンクに飛んでみてもいいかもです。プログラミングスクール選び方やおすすめのスクールなどを公開しています。

>>おすすめのプログラミングスクール4社を徹底比較【2020年度版】はこちら

ここまでを読んで、独学が向いてそうだと思った方は、これ以降の記事を読むと有意義です。

プログラミング独学の具体的な勉強方法

ここからはプログラミングの独学の具体的なやり方について解説をしていきます。独学を始めるまでの手順は以下の3つです。

  • 独学する上で重要なことを知る
  • 学習するプログラミング言語を選ぶ
  • 学習ツールを選ぶ

独学する上で重要なことを知る

  • 1日2時間の勉強を3ヶ月(合計200時間を3ヶ月以内にできる配分なら他でも可能)
  • 同じ勉強ツールを最低2周はする(2週目はアウトプットをしながら)
  • コードを間違えた際には原因をしっかり考える

1日2時間の勉強を3ヶ月

プログラミングの基礎習得には200~300時間を要します。言語によっても差異はもちろんありますが、どんなに少なく見積もっても200時間が必要です。他のサイトでも言われている相場ですので、概ね正しいかと思います。例えば以下のサイトです。また他のサイトも気になる方は「プログラミング 独学 時間」で検索すると調べることができますが、大体どこも200時間程度です。

'多くの人たちが話している一つの目安として、プログラミングの基本的なレベル(基本〜アプリ開発程度)であれば、大体200〜300時間の学習があればできると言われています。'

1つのプログラミング言語の習得時間の基準はどれくらいなのか?より抜粋

僕もJavaの基礎知識習得に概ね200時間くらいを要しました。ちなみに初期投資は2500円(パソコンはもともと持っていました)。

  • 僕がJavaを勉強したときは独学で平均して1日2時間程度を3ヶ月弱、2500円程度の本1冊とパソコンで勉強しました。

インプットとアウトプット

知識を定着させるためには、自分の手を動かすことが重要です。例えば、人気プログラミングスクールの一つであるTECH CAMPのプログラミング教養コースはプログラミングを理解したい人向けのコースです。そのコース内容の1つには実際のサービスを開発する学習内容が組み込まれています。

TECH CAMP プログラミング教養より抜粋

つまり、実際に手を動かすことが基礎習得のレベルでも必要だということです。

エラーと向き合う

またコードが正確に処理されない時(エラー時)に、その原因を追及することが大切です。
もう一度整理すると、アウトプットは独学の場合は基礎知識を習得するために必要です。なのでエラーで理解できていない箇所を発見し、修正することで不足している知識を効率的に養うことができます。

ここまでを端的にまとめるとこんな感じです。

独学でプログラミング学習を行う際には、意味を理解しながらコードを書く(アウトプットする)作業を200時間続ける必要がある。

学習するプログラミング言語を選ぶ

学ぶ言語はプログラミング学習をする目的と照らし合わせて選びましょう。言語別の大まかな特徴については以下の表を参考にしてください。

言語別の特徴

言語強みなにが作れるのか稼ぎやすさ
HTML初心者向きの簡便なコードWebサイト普通
CSSWebサイト構築に必須webアプリ普通
JavaScript動作確認が容易webアプリ稼ぎやすい
PHP非常に多くのWebアプリに使われているwebアプリ稼ぎやすい
Javaプログラミングの知識が身に付くアプリ全般稼ぎやすい
PythonAIや機械学習アプリ全般稼ぎやすい
C++動作処理が早いwindowsアプリ稼ぎやすい
C♯動作処理が早いwindowsアプリ普通
Swift将来性iosアプリ普通
Ruby業務系、Web系など幅広いwebアプリ稼ぎやすい

またより詳しく言語の選び方について知りたい方はプログラミングスクールの選び方の記事中で解説をしています。どんな言語が人気なのかといったところもデータとともに解説を行っています。

学習ツールを選ぶ

  • サイト
  • 動画

勉強方法としては主に3つかと思います。「本」と「サイト」、「動画(youtube等)」です。本とサイトについては本ブログにてまとめたものがあるのでご覧いただければと思います。ただ動画については僕が実践しなかった方法なので、他サイトの情報を掲載しておきます。

Javaの参考書に関しては別記事でまとめているので参考にしてください。

>>【2020版】Javaのおすすめの本3選【初心者向け】はこちら

サイト

Javaのサイトに関してはこちらを参考にしてください。こちらはプログラミング初心者だった僕が独学を行い、作成したものです。ですので初心者の方が疑問に思うことを解消しながら学習するために最適な学習教材です。

>>【Java入門】初心者のJavaマスター完全ロードマップ【徹底解説】はこちら

動画

>>プログラミングの勉強でおすすめのYoutube動画

本当にこれだけで初めて大丈夫なのか、例えば時間だけじゃなくて学習内容を細かく決める必要はないの?と疑問を抱く方がいるかもしれません。

計画を明確に決めすぎるとモチベーション低下につながります。

独学のデメリットで紹介した分からないところの解決に時間がかかることから、計画が崩れることがあります。そしてそれはモチベーションの低下につながります。一方で独学にはするべきことが分からなくなるという側面もあります。なので、言語を決め、学習ツールを決め、そして学習時間を決めることまではやりましょう。

もう一度繰り返すと独学を始めるまでにしておくべきことはこれら3つだけです。

独学前にすべきこと

  • 独学する上で重要なことを知る
  • 学習するプログラミング言語を選ぶ
  • 学習ツールを選ぶ

まとめ

本記事ではプログラミング独学について解説を行いました。結論、プログラミング学習の独学は不可能ではありません。以下に本記事のまとめを掲載しておきます。

独学に向いている人

  • 3ヶ月間1人で努力できる人
  • 基礎知識までの習得が目標の人

独学のメリット

  • 時間の有効活用がしやすい
  • いろいろな勉強法を試すことができる
  • 投資額が圧倒的に少ない

独学の上で必要なこと

  • 1日2時間の勉強を3ヶ月(合計200時間を3ヶ月以内にできる配分なら他でも可能)
  • 同じ勉強ツールを最低2周はする(2週目はアウトプットをしながら)
  • コードを間違えた際には原因をしっかり考える

今回はここまでになります。ご覧頂きましてありがとうございました。