プログラミング独学は無理ではありません。
学習環境がここ数年で著しく改善されているためです。
しかし、それでも9割以上の人が挫折すると言われています。
本記事では挫折理由と独学できない場合の学習方法について解説します。
プログラミングを覚えて転職したい場合には「【6ステップで解説】未経験からエンジニア転職へのロードマップ」も参考にしてください。
プログラミング独学は無理ではない
プログラミング独学は簡単ではありません。しかし、徐々に学習環境がととのって結果、現在は独学できる人も増えています。
ここではプログラミング独学が無理ではない理由3点を説明します。
- 安価で優良なwebサービスで効率的に学習できる
- プログラミングのエラーはQ&Aサイトで解決できる
- Rubyなど学習しやすいプログラミング言語がある
安価で優良なwebサービスで効率的に学習できる
安価で優良なプログラミング学習のためのwebサービスが登場しています。
そのため、プログラミング習得のハードルは年々、下がっています。
具体的なwebサービスについては「安価で優良なwebサービスを利用する」をご覧ください。
プログラミングのエラーはQ&Aサイトで解決できる
プログラミング学習で最大の難関は、自分で書いたコードにエラーが出たときの解決です。
理解不足もあり、自分が正しいと思っているコードがエラーで正しく動作しないことは良くあります。そのときに、エラー解消できないと、いつまでも理解が深まりません。
この点はプログラミング学習の最大の難関でした。
しかし、最近は優良なQ&Aサイトで無償で質疑できるようになりました。無償なので回答がないこともありますが、上手に活用できれば、疑問点の解決に役立ちます。
おすすめのQ&Aサイトで様々な便利なサイトを紹介しています。
Rubyなど学習しやすいプログラミング言語がある
プログラミング言語の習得難易度は段々と低くなっています。
C言語やJavaなどが主流だった時代には独学での習得は極めて困難でした。
しかし、RubyはRuby on Railsと言う開発補助ツールがあることで初心者でもある程度のwebアプリを簡単に作れるようになっています。
独学成功の6つのポイント
独学でプログラミング学習を行い、習得できるのは全体の1割程度だと言われています。
そのため、学習環境がととのってきたとは言え、簡単に習得することはできません。
ここではどうすれば、独学を成功させることができるのかについて説明します。
目標・ゴールを定める
プログラミング言語を学ぶ目的は大きくは以下の3つです。
- 未経験からIT業界に転職する
- 未経験からフリーランスエンジニアとして独立する
- ITスキルを仕事(DX活用など)に役立てる
こう言った目的を定めると、何をどこまで学ぶべきかを意識できます。
優良なプログラミング学習のwebサービスを利用する
独学で学ぶ場合、学習方法は大きくは書籍、webサービスの2つがあります。
これら2つの使い方ですが、webサービスをメインとし、不明点を調べるために書籍を補助教材として利用するのがおすすめです。
webサービスはどんどん、分かりやすいものが出ていますし、日々改善されるのが強みです。一方、書籍は一流の筆者と編集者が内容を練っているため、説明が洗練されており、分かりやすいのが強みです。
そのため、これらを上手に使い分けると、より学習がスムーズになるでしょう。
具体的なwebサービスや書籍については次章「プログラミング独学の学習方法について」をご覧ください。
学んだことをアウトプットする
webサービスや書籍を読むと分かった気になれます。
しかし、実際に学んだことを利用してプログラムを書こうとすると、どうやって書けば良いかが分からないことも多々あります。分かったつもりになっているものの、本当に理解することはできていない状態です。
自分の理解度を把握するためにも学んだことを使ってプログラムを書いてみてください。分かっていなければ、該当箇所の説明部分を読み返して理解を深めましょう。
不明点は友達やQ&Aサイトで全て解決する
プログラミング学習で最大の難関は、自分で書いたソースコードを実行したときのエラーの解決です。
自分が理解した範囲で正しいと考えて書いているものがエラーとなり、正常動作しないと言う経験はプログラミングを勉強していれば、誰でも経験します。
友達への相談や、Q&Aサイトを利用することでエラーを解決して疑問を残さないことが大切です。
便利なQ&Aサイトについては次章「Q&Aサイト」をご覧ください。
学習仲間を作る
独学は孤独な作業になりがちです。
エラー解決に苦戦したり、テキストの内容を理解できないと、同じ境遇にある人と愚痴を言い合って気晴らししたくなるものです。
そう言ったことができないと、段々と学習そのものがイヤになり、サボってしまうようになります。
このような状態を避けるためには、学習仲間を作るのをおすすめします。
ツイッターで「#駆け出しエンジニアと繋がりたい」などと検索すると学習仲間を見つけられます。
学習習慣を身に付ける
仕事をやりながらプログラミング学習を行う場合、毎日の学習時間の確保とその習慣化が大切です。
残業で遅くなったり、飲み会が入ったり、学習する気が起きなかったり・・・。色々とあると思います。
しかし、何があっても継続して行くことがこう言った学習では最も大切になります。そのために最も大切なのが習慣化です。歯磨きを行うように当たり前に学習することが大切です。
また、仕事を辞めてプログラミング学習を行う場合は、さらに怠けてしまいかねません。時間があるため、油断してしまうのです。
毎日決まった時間だけ、やり続けることで必ず、学習は積みあがっていき、理解が深まります。これが最も難しいですが、最も大切なことです。
独学できる人の3つの特徴
独学でプログラミングスキルを習得できるのは1割程度だと言われています。
ここでは独学でプログラミングを習得できる人の3つの特徴について説明します。
- 一人で学習する習慣がある
- 分からないことを一人で解決するまで努力できる
- 好きなものには熱中できる
3つの特徴それぞれについて説明します。
一人で学習する習慣がある
独学なので当然ですが、一人での学習習慣を作るのは結構難しいものです。
どうしても、サボりたくなる時、学習したくない時、パーと気晴らししたい時は誰にでもあるものです。
そのようなときの対処方法も大切になります。
例えば、サボりたい時は思い切ってサボってみて、その分を必ず取り返すように時間を作る、もしくは、どんな状況でも必ず、決めた時間は学習する、などです。
学習を習慣化できるかどうかが最大の肝です。
分からないことを理解できるまで努力できる
プログラミング学習を行っていると、様々な分からないことに直面します。
そのときに、分からないことを放置せずに、分かるまで調べたり、考えたり、Q&Aサイトで質問したりして、一つ一つ、理解していく努力が大切です。
こう言った分からないことを分かるようになるまで頑張る姿勢は独学に限らず、重要です。
学習に熱中できる
プログラミング学習に限った話ではありませんが、イヤイヤするのと、前のめりに夢中になって学習するのでは学習効率に大きな違いがあります。
プログラミングが好きで好きでたまらないと言う人の方が少ないと思います。しかし、学習するのであれば、面白さを見つけて夢中になった方がスキルが身に付いて、さらに夢中になれると思います。
好きこそ物の上手なれ、と言いますが、プログラミング学習を楽しめれば、身に付きやすくなるはずです。
プログラミング独学の方法について
プログラミングの独学が難しいと言うことを説明してきました。
しかし、独学による学習環境が充実してきているのは間違いありません。
独学にチャレンジする人のために学習方法をまとめました。
安価で優良なwebサービスを利用する
プログラミングの学習方法として最もメジャーなのがwebサービスを利用するものです。
安価で優良なサービスも増えているので是非、参考にして下さい。
Progate
Progateとは? | 超初心者から初心者までを対象としたプログラミング学習サイト |
学習できる言語 | ・HTML&CSS ・JavaScript ・jQuery ・Ruby ・Ruby on Rails5 ・PHP ・Java ・Python ・Command Line ・Git ・SQL ・Sass ・Go ・React |
コース | ・はじめてのプログラミングコース(HTML&CSS、Ruby) ・Webデザインコース(HTML&CSS、Sass、JavaScript、jQuery) ・Ruby on Railsコース(HTML&CSS、Ruby、Command Line、Ruby on Rails) ・PHPコース(HTML&CSS、PHP) ・データ分析コース(SQL) ・はじめての共同開発コース(Git、Command Line) ・Web開発パス(HTML&CSS、Ruby、Ruby on Rails) |
特徴 | ・月額1,078円(税込) ・登録ユーザ数150万人(2020年7月時点) ・初心者の最初の関門である環境構築が不要 ・図解を駆使した解説は分かりやすいと好評 ・実際にコードを書く演習が多い ・オフ会がある |
Progateはプログラミングを初めて勉強するにはwebサービスです。
超初心者から初心者になるには最適だと思います。
ただし、これだけでは実践で使えるほどのスキルは習得できません。
ドットインストール
ドットインストールとは? | 超初心者から初心者までを対象としたプログラミング学習サイト |
学習できる言語 | ・HTML&CSS ・JavaScript ・Ruby ・Python ・Java ・PHP ・Go ・Kotlin ・Swift |
特徴 | ・月額1,080円(税込) ・動画による講義 ・Go,Kotlin,SwiftやJavaScriptを学習できる ・初心者の最初の関門である環境構築が必要 |
ドットインストールはプログラミングを初めて勉強する人向けの学習サイトです。
Progateとの最大の違いは環境構築が必要なことです。
そのため、パソコン操作に不安がある人はドットインストールよりもProgateの方が良いでしょう。
PyQ
PyQとは? | Python特化のプログラミング学習サイト |
学習できる言語 | Python |
特徴 | ・料金プランは2コース 質疑ができるプラン:月額8,130円(税込) 質疑ができないプラン:月額3,040円(税込) ・Pythonを利用した開発を行っている会社が開発した学習サイト |
PyQはPythonに特化したプログラミング学習サイトです。
Pythonによる開発を本業とする会社が作った学習サイトなので教材の質はしっかりしています。
レベルとしては初級者から中級者向けと言ったところです。
書籍で学ぶ
便利なwebサービスがない時代はプログラミングは書籍で学習するしかありませんでした。
今はここまで説明したようなwebサービスを使った方が効率的です。
書籍はどうしても分からない内容を辞書のように調べる補助教材として利用するのが良いです。
ここでは初心者向けの教材として評判の良いものをピックアップしてご紹介します。
HTML/CSS
小さなサイト作りを通してHTMLとCSSの基礎が学べる入門書の決定版!累計4万部以上を売り上げたベストセラーです。
JavaScript
手を動かしてサンプルをひとつずつ作っていくことで、知識だけでなく、現場で活きる、応用・実践につながる基礎力を身に付けることができます。
Ruby
「プログラムの読み方をすべて載せる(ふりがなをふる)」という手法で究極のやさしさを目指した、まったく新しいRuby(ルビー)の入門書です。
PHP
PHPのいちばんやさしい入門書でありながら、MySQLまでカバーしています。初心者がつまずいたり迷ったりするポイントをとことん解消しています。
Q&Aサイトで疑問を解消する
独学で一番つらいのが、プログラミングでエラーが出て解消できないとき・・・。
そう言うとき、ここで紹介するQ&Aサイトで質問してみると良いです。
ただし、利用者はみなボランティアなので、回答が返ってこないことも、しばしば・・。回答が返ってきてラッキーくらいの気持ちで使うと良いです。
それから質問内容が分かりづらい場合、それをディスられることもありますが、気にしないようにしましょう。
色々と戸惑うことは多いと思いますが、慣れると便利です。
なお、初心者の場合、エラー内容をキチンと説明することがなかなか、できなかったりします・・。
teratail
teratailはプログラミングに関するQ&Aサイトとしては最大規模です。
主だったプログラミング言語はすべてカバーしています。
ただし、超初心者の場合、質問の仕方などを巡り、炎上することも多いので、注意が必要です。
超初心者が使うには少し、ハードルが高いかもしれません。
Qiita
Qiitaはプログラミングに関する情報の共有プラットフォームです。
勉強方法などについても様々な情報が発信されています。
プログラミングに関するノウハウ記事も多いため、参考になります。
Stack Overflow
Stack OverflowはプログラミングのQ&Aサイトとして世界最大規模です。
英語ができれば、このサイトがQ&Aサイトとして最も役立ちます。
日本語版もありますが、利用者はあまりいません。
プログラミング独学で9割が挫折する理由
プログラミング独学による挫折率は9割と言われています。
私も学生時代に独学で習得しようとして挫折しました・・。そのため、挫折する人の気持ちは良く分かります。
ここではプログラミング独学をおすすめしない理由を3つあげて説明します。
- 時間が掛かりすぎる
- モチベーションを保つのが難しい
- 相談できる相手がいない
時間が掛かりすぎる
プログラミングの習得には大体、300時間ほど掛かると言われています。
1日10時間で1ヶ月、1日3時間で3ヶ月の学習が必要なのです。しかも、平均的な人の場合の話なので、もっと時間が掛かる人も多くいます。
単に時間が掛かるだけではなく、かなりストレスが溜まります。
自分でコードを書いて実行すると、理解不能なエラーが大量に出てきて萎えるのです。また、エラー解消には何日も掛かることがあります。
このようなストレスフルな時間を3ヶ月過ごすうちに段々と嫌になって挫折する人が多いのです。
モチベーションを保つのが難しい
独学は孤独な作業です。
3ヶ月程度の時間が掛かり、その間、大量のエラーと戦うことになります。
しかし、
「プログラミングなんて簡単だ。」
と言っている人もいるし、
「もしかすると自分にはプログラミングの才能がないのでは?」
と疑心暗鬼になり、挫折してしまうのです。
相談できる相手がいない
独学で一番辛いのは、相談相手がいないことです。エラー解消は、分かっている人に聞いたら一瞬で解決するものです。
特に初心者のうちは、30分掛けて分からなかったら、誰かに相談できると勉強がスムーズになります。
また、学習が進まずに萎えている時に
「みんな、そこで苦戦するよ。誰もが通る道。」
などとアドバイスを貰えると、救われた気持ちになるものです。
逆にそう言う相談相手がいないことが多くの人が独学で挫折する最も大きな原因だと思います。
独学してないのに独学と言っていることも多いので要注意
プログラミングの挫折率は9割を超えると言われていますが、逆に言うと1割弱の人は独学できていると言うことでしょう。
筆者が本格的にプログラミングを身に付けたのは就職後で先輩に手取り足取りで覚えました。これは独学とは言えませんが、割と会社で教えて貰ったのを独学と言っている人もいます。
そう言った事情もあり、本当の意味で独学でプログラミングを身に付けている人はごくごく少数です。そして、こう言ったごくごく少数の人がプログラミングは独学可能だ!と言っているのです。
できる人がいる以上、独学は可能か?不可能かと言われれば可能でしょう。しかし、ほとんどの人にとっては不可能なのです。
独学できないほとんどの人にとっては費用が掛かってもプログラミングスクール通学が早道です。おすすめのプログラミングスクールをご紹介します。
転職・就職
プログラマカレッジ【20代で正社員経験1年以上で無料で転職・就職可能】
DMM WEBCAMP【20代向け転職保証、経済産業省認定講座】
テックキャンプ エンジニア転職【30代向け転職保証あり】
副業・フリーランス
TechAcademy(テックアカデミー)【稼げるスキルを学べて日本e-Learning大賞受賞】
スキルアップ
aidemy(アイデミー)【AI学習サービス最大手でPython特化】
まとめ
プログラミングを独学で学ぶことは無理ではありません。
しかし、多くの人にとっては難しいでしょう。
本記事では独学で利用すると良いサービスや書籍、Q&Aサイトをご紹介しました。
もし、独学でプログラミングを習得するのが難しそうだと感じたら、プログラミングスクールでの学習をおすすめします。
転職・就職
プログラマカレッジ【20代で正社員経験1年以上で無料で転職・就職可能】
DMM WEBCAMP【20代向け転職保証、経済産業省認定講座】
テックキャンプ エンジニア転職【30代向け転職保証あり】
副業・フリーランス
TechAcademy(テックアカデミー)【稼げるスキルを学べて日本e-Learning大賞受賞】
スキルアップ
aidemy(アイデミー)【AI学習サービス最大手でPython特化】
パソコンを持っていない方はパソコンのレンタルを検討してみても良いと思います。
プログラミングスクールの比較については以下の記事も参考にしてください。
【卒業生が選んだ】おすすめプログラミングスクール比較 | プロリア プログラミング
参考までに未経験から独学で以下のサイトを作ったような方もいます。
高級賃貸バイブル