プログラミングを独学はやめとけ?オススメの学習法・サイト解説!
プログラミングを独学で始めようと思った時、「やめとけ」や「無理」といった言葉を目にします。なぜプログラミングを独学でやるのは無理と言われるのでしょうか?
それらにはいくつかの要因があります。今回は実際に独学でプログラミングを始めることは可能なのか?実際にどれくらいのスキルまで身につくのか。プログラミングを独学でやる実態について解説します。
ぜひ最後まで見て独学で勉強するメリットを抑えつつ、コツを掴み取ってください。
挫折せずに挑戦するならプログラミングスクールGeekSalon
GeekSalonについて詳しく知る目次
プログラミング独学の挫折率は9割!?
実はプログラミングを独学で行う場合、挫折率は9割にも及ぶことをご存知でしょうか?
なぜ、9割の人が挫折してしまうのでしょうか?プログラミングは独学で習得可能なのでしょうか?
プログラミングは独学で習得可能なのか?
結論、プログラミングは独学で習得は可能です。可能というのは、プログラミングのコードを理解して自分でプログラムを作って動作させることを指します。
プログラミングは、勉強として行うのと実務として行うのでは、技術的なギャップが大きく生まれるため、独学で実務経験を積むまで勉強するという観点では非常に難易度の高いものとなっています。
そのため、実務経験のあるエンジニアなどの視点からは、「プログラミングを独学で習得するのは無理だ・やめとけ」といった言葉が出てきます。
では実際に習得するまでに必要な時間はどれくらいなのでしょうか?
実際に習得するまでに必要な時間とは?
プログラミングを習得するためにはいくつかのステップがあります。
ステップごとにどれくらいの時間がかかるのか解説します。
プログラミングの基礎概念を理解するには約200~300時間
実際にプログラミングを始めようとする場合、まずはプログラミングの基礎概念を理解する必要があります。
例として挙げるならば、変数の概念、四則演算の概念、配列の概念、if文などの制御構造を理解することを指します。
これらのプログラミングの基礎概念は、情報学部の学生が1年生の頃に2ヶ月程度かけて学習する内容です。この内容を独学で行う場合は200時間から300時間程度かかると言われています。
プログラミングの独自の考え方を理解するには100時間程度
プログラミングの基礎概念には数学の知識が関わったり、英語の知識が関わる内容があります。プログラミングの独自の考え方とは、オブジェクト指向におけるクラスとインスタンスの概念であったり、関数や、ファイル分割の概念、ポインタの概念などのことを指します。
これらも情報学部の学生は学部1年生の前半に行う内容で、約100時間はかかると言われています。
デバッグとエラーハンドリングのスキルを習得 30時間以上
デバッグとは実際にエラーが出た際に自分でエラーを直すことを指します。これらは自分でエラーメッセージやデバッグツールを使用して、問題の原因を特定し、適切な修正を行います。
エラーハンドリングとは、プログラム実行中に発生するエラーや例外に適切に対応し、プログラムが予期せず終了したり、不正な結果を出したりしないようにする仕組みや処理のことを指します。
これらの知識はプログラミングを独学で行おうとする場合に使用する教材にある程度書かれている場合が多いので、独学で習得することは可能と言えるでしょう。
実際に上記の基礎の内容が完璧な場合、概念を理解し構文を使うことでデバッグやエラーハンドリングの習得は可能なので、しっかり基礎を勉強する必要があります。
よって実際にプログラミングのコードを理解して自分でプログラムを作って動作させるには約200時間から500時間程度は必要と言われています。
あくまで一例としてこの時間であり、個人差が生じます。理解力や論理的思考能力の高い人は200時間以内で習得することも可能ですし、復習をしっかり重ねた上でステップアップしていく人には500時間以上かかる可能性もあります。
ではプログラミングを独学で学ぶメリットとは何があるのでしょうか?
プログラミングを独学で学ぶメリットとは?
プログラミングを独学で学ぶメリットは以下のようなものがあります。
- スクールで学習するよりも安価である
- 自分の好きな時間に好きな場所で学習することができる
スクールで学習するよりも安価である
独学で学習する際には学習教材と使用するパソコンのみに費用がかかるため、プログラミングスクールよりも安価で学習することができます。
自分の好きな時間に好きな場所で学習することができる
スクールと比較すると独学の場合は、進捗の制約や時間的な制約もないため、自分が好きなタイミングで好きな所まで勉強することができます。
マイペースにコツコツとできるタイプの人にとってはオススメでしょう。
一方でプログラミングを独学で学ぶデメリットとは何があるのでしょうか?
プログラミングを独学で学ぶデメリットとは?
プログラミングを独学で学ぶデメリットは以下のようなものがあります。
- 躓いた時に質問ができない
- モチベーションの維持が難しい
- 習得までの時間が莫大にかかる
躓いた時に質問ができない
独学で勉強する場合は、知り合いにプログラミングができる人がいない限り躓いた時に質問ができないので進捗が止まってしまいます。
プログラミングにはエラーがつきものです。実際に実務経験のあるエンジニアですらエラーが発生したり予期しない動作が起こったりします。
初心者ではどこが間違っているのか、何をどうすればいいのか分からなくなる状況があるのでデメリットであります。
モチベーションの維持が難しい
プログラミングを独学で行う場合、習得までのロードマップが見えなかったり、上記で記載した通りエラーが出現したりするとモチベーションが低下する場合があります。
プログラミングの挫折率は9割とも言われており、挫折する要因の多くがモチベーションの維持が難しいからと言う理由です。
習得までの時間が莫大にかかる
上記で記載した通り、プログラミングを独学で習得するには莫大な時間を要します。特に最初の頃は何をどうしたら良いのか分からない状況が続くでしょう。
実際に独学でプログラミングを習得するには期間として1年から2年以上かかる場合もあるため、習得までの時間が莫大ということはデメリットであると言えるでしょう。
では、実際に独学でプログラミングを習得するまでにやるべきこととはどんなことなのでしょうか?
独学でプログラミングを習得するまでにやることとは?
独学でプログラミングを習得するにはいくつかの手順を踏む必要があります。
- パソコンを購入する
- 学ぶプログラミング言語を選定する
- 学習方法を決める
手順1 パソコンを購入する
プログラミングを行うならまずパソコンを購入しましょう。プログラミング言語やソフトによってMacBookの環境のみ、Windowsの環境のみでしか動作しないようなものがあります。初心者でこの壁にぶつかることはほとんどありませんが、すでにやりたいことが決まっている場合は自分が購入しようと思っているパソコンのOSが適応するのか確認しておきましょう。
プログラミングを行う際は、数多くの処理、数多くのファイルを扱うためメモリやストレージは大きめのものを購入すると良いでしょう。
ストレージは外部ストレージとして増やすことは可能ですが、メモリの容量は基本的にあとから増やすことはできませんので、気をつけましょう。
手順2 学ぶプログラミング言語を選定する
2つ目の手順として勉強するプログラミング言語を選定しましょう。プログラミングを行う目的を決めてから言語を選ぶのも良いでしょう。
プログラミング言語にはそれぞれ特性があり、Web開発にはこの言語、アプリ開発にはこの言語といったように、多くの言語が特定の用途に向いています。
そのためプログラミングを学ぶ目的を決めてからプログラミング言語を選定すると良いでしょう。特に決まっていない、と言った方はC言語やC#などの言語を選ぶのもオススメです。
オススメのプログラミング言語についてはこちらの章で詳しく解説しますので是非ご覧ください。
手順3 学習方法を決める
プログラミングを学ぶ手段としていくつか学習方法があります。おすすめの順番で紹介します。
- 動画で勉強
- 本で勉強
- Webサイトで勉強
動画で勉強
Youtubeで実際にプログラミングの講座を配信しているYoutuberがいます。
Youutbe以外にもスキル習得を目標とした人に向けて動画教材を販売しているUdemyなどもオススメです。
Udemyは有料ですが、セール時は1つのテーマが¥2,000程度で購入でき、1つの講座で網羅することが可能です。
動画では、実際に書いている内容はもちろんどのように動かしているのか視覚的に見ることができるため挫折しにくい学習手段でしょう。
本で勉強
プログラミングの本は多く出版されており、1つの言語についてもたくさんの本が出ています。言語によってはバージョンごとに書き方が異なることがあるため、本を購入する際は、なるべく新しく出版されたものを選ぶと良いでしょう。
本の場合は自分の好きなスピードで勉強することができるため、マイペースで勉強を進めたい方にオススメです。
Webサイトで勉強
言語によっては、Webサイトで学習することが可能です。有名なサービスとしてProgateがあげられます。
Progateは無料で学習を始めることができ、数多くのプログラミング言語を学習することができるためおすすめとなっています。
プログラミング言語によっては、Webサイト上に載っていない場合もあるので気をつけましょう。
手段4 プログラミングの基礎概念の理解
何をするにしても基礎はとても大事ですが、もちろんプログラミングも基礎がとても大事になってきます。
どの言語を勉強するにあたっても、データ型と変数や条件分岐とループなど、プログラミングとして基礎中の基礎はしっかり理解した上で次の手順に進みましょう。
手段5 成果物を作成する
プログラミング基礎概念は教材にあるので教材を進めることで達成することができるでしょう。実際に教材は終わった、次は何をしたらいいのか?というお悩みの人は実際に成果物を作成してみましょう。
成果物を作成する工程は教材等でもあまりないため、多くの場合は自力で作る必要があります。教材などがない中で自力で成果物を作ることが理解力の促進につながり、プログラミングを習得する近道になるでしょう。
成果物を作成する段階ではもちろんエラーが発生します。エラーが出たら自ら解決する力も身につくためとてもオススメの方法になっています。
独学で始めるならこれ!オススメのプログラミング言語5選
初心者にオススメのプログラミング言語は以下の通りです。
- HTML / CSS
- Python
- JavaScript
- C言語
1 HTML / CSS
HTMLやCSSは厳密にはプログラミング言語ではなくマークアップ言語という扱いですが、プログラミング初心者にとっては、オススメの言語です。
HTMLとは、Webページの骨子を作る言語であり、Webサイトには必ずHTMLが使われています。Webサイトに書かれている文章、画像の挿入等は全てHTMLが利用されています。
CSSとは、Webサイトのデザインに使われる言語です。色や配置、ボタンの形など様々なところに利用されています。
HTMLやCSSは難しい処理がなく初心者にとって扱いやすい言語になっています。また、書いたものをすぐに確認することができるため、楽しく勉強することができるでしょう。
2 Python
Pythonは今やプログラミング言語の中でも最も人気な言語です。
Pythonは汎用性が高く、ウェブ開発、データ分析、人工知能(AI)、自動化スクリプト、科学計算など、さまざまな分野で活用されています。
近年注視されているAIはこのPythonという言語を用いて開発されています。
Pythonの構文は英語に近く、コードが直感的で理解しやすいため、プログラミング初心者にとって取り組みやすいです。Pythonはウェブ開発やデータ分析、AIや機械学習、自動化スクリプトなど多岐にわたる分野で利用されています。初心者がPythonを学べば、興味を持った分野で実際に使えるプログラムを作れるようになるため、学ぶモチベーションを保ちやすくなります。
Pythonはライブラリが多く備わっており、簡単にデータ分析や数学的な処理を行えるため初心者にオススメになっています。
※ライブラリとは、一連の便利な機能やコードの集まりで、プログラミングを効率よく行うために利用できるものです。
3 JavaScript
JavaScriptとは主にWebサイトのデザインを動的にする場合によく用いられます。HTMLやCSSとともにWebの三大要素の一つとされ、ブラウザ上で実行されるため、ユーザー側(クライアントサイド)で動くスクリプトを作るのに最適です。
HTMLやCSSなどはWebサイトのデザインや文章など人の目につく言語、いわゆるフロントエンド言語と言われており、JavaScriptもフロントエンドに分類されます。
しかし近年はJavaScriptでシステムの裏側の処理、いわゆるバックエンドの処理も可能になってきています。Webサーバの構築、データベースの操作などもでき、JavaScriptで幅広く多彩なことができるためオススメの言語になっています。
4 C言語
C言語は、システム開発や組み込みシステムなどに使われる言語です。なぜこんなプログラミング言語がオススメなのかというと、C言語は、1970年代に開発され、他の多くのプログラミング言語の基盤となる特徴を持っています。
数多く存在するプログラミング言語の基盤となっている言語をしっかり理解することによって、他の言語に応用しやすいことがメリットになっています。
初心者にオススメのプログラミング言語については関連記事で解説していますのでぜひ併せて読んでみてください。
独学でプログラミングを習得するコツとは?
独学でプログラミングを習得するコツは以下の通りです。
- 学習教材に頼りすぎない
- 周りに質問できる人を探す
- コツコツ毎日勉強を続ける
学習教材に頼りすぎない
動画や本などを使って勉強をしていても、自分のミスや言語のバージョンによってエラーが出てしまう可能性があります。
エラーの解決方法までは、教材には記載していないケースがあるため学習教材に頼りすぎないことが大事です。
実際にエラーが出た際、教材では詳しく解説されていないケースの場合は、以下のサイトを使って検索をしてみましょう。
Qiitaとは、プログラミングやテクノロジーに関する情報を共有するための日本発の技術情報共有プラットフォームです。エンジニアや開発者が、プログラミング言語の使い方、技術的なノウハウ、開発ツールの活用方法などの記事(投稿)を通じて情報交換を行っています。
Qiitaは、エンジニア同士が知識を共有し合い、質問や解答、実践的なコードサンプルなどを気軽に投稿できるため、初心者から経験豊富なエンジニアまで幅広く利用されています。また、検索性やタグ機能が優れているため、特定の技術に関する情報を素早く見つけることができる点も魅力です。
周りに質問できる人を探す
プログラミングを勉強していたらエラーが出たり、書いているコードが分からなかったりと誰かに相談したくなるタイミングがあります。その際に相談する相手がいるとモチベーション高く挫折することなくプログラミングを勉強することができるでしょう。
周りに質問できる人がいない場合は、以下のサービスを利用することがオススメです。
teratail(テラテイル)は、プログラミングに関する質問や問題解決をサポートするQ&Aプラットフォームです。
エンジニアやプログラミング学習者が、開発中に直面した技術的な疑問やエラー、コードの改善方法などを質問し、他のユーザーから回答を得ることができます。
プログラミング初心者の方も多く利用しており回答率は85%以上となっているため、質問するとテラテイルに登録している他のユーザーから回答が返ってくるサービスです。
コツコツ毎日勉強を続ける
何を勉強するにしても、最初はコツコツと毎日勉強することが大事です。やはり勉強量が技術力に直結する分野です。実務を行なっているエンジニアでさえコツコツと勉強しています。
実際にどこまで独学で習得できるのか
独学で勉強を続けた場合どれくらいのスキルを身につけることができるのでしょうか?
独学で勉強をして稼ぐことは可能なのでしょうか?
独学で勉強した年数にもよりますが、1-2年の独学の場合、プログラミングの基礎知識の理解、制作物の作成は可能でしょう。質の高いポートフォリオの作成ができれば、案件の受注につながる可能性はあるでしょう。
独学で賄えないことは具体的に?
独学で賄えないことは以下の通りです。
- チーム開発の経験
- Gitなどバージョン管理システムの知識
チーム開発の経験
独学でプログラミングを学ぶ場合、チームでの開発経験を得るのは難しいため、独学だけではカバーできない知識となることが多いです。しかし、就職や実務経験を積む場面では、チーム開発の経験が求められることがよくあります。これは、独学から収入を得るまでの大きなハードルになる可能性があります。
Gitなどバージョン管理システムの知識
Gitやバージョン管理システムの基本的な使い方は独学でも学べますが、実際にチームで使う際には、他のメンバーと協力して進めるための知識やスキルが求められます。
1人でGitを使う場合と複数人でGitを利用する場合は1人では使わない技術(pullなど)を使う場合もあるため独学で知識を身につけるのは厳しいでしょう。
本格的にプログラミングを学ぶならプログラミングスクール
前述した通り、独学でプログラミングを勉強する場合はかなりの時間と覚悟が必要です。プログラミングの独学の挫折率は9割以上と言われているため、少しでも不安がある人はプログラミングスクールで勉強することがオススメです。
プログラミングスクールに通う際はそれぞれメリットデメリットが存在します。
プログラミングスクールに通うメリット
- 挫折率が下がる
- モチベーションの維持がしやすい
- 最短時間で習得できる
挫折率が下がる
プログラミングスクールに通う最大のメリットは、挫折率が下がることです。せっかくプログラミングを始めようと決意したのに、たった2~3日で諦めてしまうのは非常にもったいないですよね。スクールに通うことでサポートを受けながら進められるため、学習の継続がしやすくなります。
モチベーションの維持がしやすい
独学でモチベーションが下がる場面としては、エラーが出て解決できない場合や自分が何をしているのか分からないという場面でしょう。
プログラミングスクールでは、エラーが出て解決できない場合や、自分が何を書いているのか分からなくなった時に、講師に質問することができます。その場で疑問を解消できるため、効率よく学習を進めることができます。
最短時間で習得できる
プログラミングスクールは効率よく学習できるようにカリキュラムが組まれているため最短時間でプログラミングを習得することができます。
社会人で時間がない人や効率よく勉強したい方にとってはプログラミングスクールがオススメです。
プログラミングスクールに通うデメリット
- 料金がかかる
プログラミングスクールに通うデメリットは料金がかかることでしょう。プログラミングスクールによって価格帯は月に数万円から数十万円かかるため、唯一のデメリットでしょう。
大学生でプログラミングを勉強するならGeekSalon
大学生でプログラミングを勉強するならGeekSalonがオススメです。
GeekSalonは、最短1ヶ月からプログラミングを勉強することができ、短期間で成果物を作成することができる大学生限定のプログラミングスクールです。
GeekSalonは文系の学生も多く、プログラミング未経験者が8割となっており、未経験や文系の方にとってもオススメのプログラミングスクールです。
価格帯も以下の通りになっており、大学生にとって通いやすいスクールになっています。
コース | 受講期間 | 受講料金 |
---|---|---|
Webサービス開発コース | 3ヶ月 | 109,340円 (税込) |
Gameアプリ開発コース | 3ヶ月 | 109,340円 (税込) |
iPhoneアプリ開発コース | 3ヶ月 | 109,340円 (税込) |
WebExpertコース | 3ヶ月 | 149,490円 (税込) |
AIコース | 3ヶ月 | 149,490円 (税込) |
Pythonコース | 1ヶ月 | 49,830円 (税込) |
UI/UXコース | 2ヶ月 | 89,980円 (税込) |
VideoEditorコース | 2ヶ月 | 74,580円 (税込) |
毎日オンラインにて無料の説明会を行なっていますので少しでも興味があれば参加してみてください。
挫折せずに挑戦するならプログラミングスクールGeekSalon
GeekSalonについて詳しく知る