プログラミングの学習は、独学の勉強法だとなかなか進まないと思います。
プログラミング学習の挫折率は約90%という情報もあるため、継続して学習を続けるためには、コツを知っておく必要があります。
本記事では、プログラミングを独学で続けていくための勉強法をお伝えします。僕はゆるふわに、しかし、確実に進む勉強法をよし、としています。ゆるふわにプログラミングを続ける方法を探している方は、ぜひ参考にしてみてください。
ここでは、Webアプリのプログラミングを前提に記事を書いていますが、スマホアプリやデスクトップアプリのプログラミングの勉強法も、同じ様に進めることができます。
この記事は、こんな方向けです
・プログラミングを独学で勉強する方法を知りたい方
・現役エンジニアが実践しているプログラミングの勉強法を知りたい方
・プログラミングの勉強を継続できる自信のない方
・過去に独学でプログラミングを始めたことがあるけど、挫折してしまった方
本記事を書いている僕は、以下の経験があります:
・業務でのプログラミング歴20年以上(独学)
・プログラミング書籍の執筆者
・WEBアプリ、組み込み系、デスクトップアプリやスマホアプリをこれまでに開発
プログラミングを継続するために実践すべき方法
独学でプログラミングを勉強するためには、以下2点を意識すればOKです:
- とにかく継続すること=習慣化すること
- Todoとスケジュールを作ること
上記2点だけを守り続ければ、独学でも、プログラミングは必ずできる様になります。それぞれの詳細を以下に説明します。
習慣化
プログラミングを独学で進めるためには、とにかく習慣化することを第一に考えます。
習慣化するまでは、毎日パソコンを起動して、自分で決めたスケジュールをこなす様にします。あまり気が乗らなければ、1日15分~30分、スケジュールをこなすだけでOKです。
とにかく、パソコンを起動して、プログラミングをしなければ、先に進まないため、パソコンを起動→プログラミングのタスクをこなすことが習慣になるまでこれを続けます。
僕の場合、最初から2時間も3時間もこなすと、途中でやる気が失せる可能性が高いので、新しいWebアプリを開発する時でも、最初は15分~30分だけスケジュールをこなす様にしています。
詳細は後述しますが、スケジュールに遅れが出そうであれば、スケジュールの期限を延ばします。誰にも迷惑をかけることはないので、堂々とスケジュールの期限を延ばしましょう(笑)。
Todo(やることリスト)とスケジュール化
Todoとスケジュールを作成することで、目標とするゴールまでの距離(日数、やること)が可視化できます。僕が実際にWebアプリを公開するまでのTodoとスケジュールの一部も公開していますので、ぜひご確認ください(内容はかなりゆるいです):
スケジュールに遅れが出る場合は、期限を延長します。スケジュールは、一度決めたものを絶対に守る必要はありません。その都度、(3日後とか実現可能な期限を設定して)延長や縮小をして、最終目的を達成できればよいのです。
罪悪感0でスケジュールを延長しましょう(笑)
毎日プログラミングを続ける習慣が付けば、コードを読んだり、書いたりすることや本を読んだりすることが苦にならなくなります。僕の場合は、大体3日~7日ぐらいで習慣化されることが多いです。
参考書を読みながら学習を進める方法
プログラミングの参考書や解説本を読みながら学習を進める方法は、今も昔も有効な学習方法です。ただし、小説とは異なり、解説本の場合は何回か読み直して、解説本の情報を自分のものにしていきます:
- 1回目:まずは、ざっと全体を読む。
ここで内容を理解できなくても問題なし。全体の概要をつかめればOK。 - 2回目:参考書にあるサンプルコードを実際に動かす。
1回目で分からなかった点は、理解する様に努める(理解度80%程度でOK)。 - 3回目:再度参考書を読みながら、不明点をつぶしていく。
参考書だけでは不明点が解消しない場合は、Google検索やStack Overflowなどのプログラミングコミュニティに質問する。
上記は、参考書の内容を3回で習得する場合ですが、3回目以降も、不明点などが残る場合は、繰り返し読み込み→Google検索や質問して不明点を解消のループを続けて、不明点を解消します。
動画を観ながら学習を進める方法
動画を基にプログラミングの学習を進める方法です。ドットインストールがおすすめです。基本の動画は無料ですが、先生に質問をしたり、多くの動画を見る場合は、プレミアムサービスへの登録が必要になります。
動画の場合も、3回ほど繰り返して確認することにより、習得します:
- 1回目:まずは、ざっと動画を確認。この時は、動画を見るだけでOK。
- 2回目:動画の通りにプログラミングして、動かす。
不明点やエラーは、Google検索や動画のコメント欄に質問を入れる。 - 3回目:動画をみずにプログラミングして、動かす。
実際のソースを確認しながら学習を進める方法
GitHubやソースコードを公開しているウェブサイト上のソースを動かして、学習する方法です。例えば、フロントエンドで人気のJavaScriptは、すぐに動かせるソースが色々と公開されています。
JavaScriptのおすすめは、多様なJavaScriptフレームワークに対応したTodoMVCです。ソースをダウンロードすれば、すぐに動かせるものが手に入ります。ReactやAngularJSなど、主要なJavaScriptフレームワークにはすべて対応しています。
また、フロントエンドだけでなく、バックエンドもすぐに動かせるソースであれば、RealWorld example apps がおすすめです。Webアプリとしてそのまま動かせるだけの機能が実装されており、そのソースも公開されています。
どれも、現役エンジニアにより開発されているため、ソースコードを読むと色々と勉強になります。
独学に必要な勉強時間
プログラミングを独学で勉強して、業務で使える様になるには、1000時間必要だといわれています。
・・・が、個人的には、約200時間(およそ3か月)でよいと思います。
理由は、プログラミングスクールでの学習時間が大体150時間~200時間といわれているためです。仕事でも、初心者にプログラミングを教えると大体1か月ほどで使える様になる(20日 * 8時間 = 160時間)ので、150時間~200時間は妥当だと考えます。
まずは、いきなり200時間を目指すのではなく、10時間~50時間を目指して勉強するとよいです。目標を低く設定して、確実にクリアできる様にすれば、勉強していても嫌になりません。
ゆるふわは、正義です(笑)
独学が不安な場合:プログラミングスクールで学習を進める方法
一人での学習が続くか不安な場合は、プログラミングスクールも悪くありません。
プログラミングスクールの良い点は、以下2点です:
- カリキュラムが用意されている点
- 不明点があれば、質問できる点
しかし、カリキュラムが用意されていたり、不明点をいつでも質問できるからといって、まったく準備なしでいくときついと思います。プログラミングスクールに頼る場合は、独学で全体の概要がうっすらでもいいので、分かる様になってから受講するとよいと思います。
なお、Webアプリを作るエンジニアになりたい場合は、プログラミングスクールTechAcademyのWebアプリケーションコースで学ぶことをおすすめします。
TechAcademyでは、直接マンツーマンで教えてもらえるので、プログラミングでありがちな「詰まって先に進めなくなる」状況に陥りません。また、Webアプリを作ることが目標であれば、公開までサポートしてくれます。最初は、無料体験や無料カウンセリングを受けて、どんなものか理解してからコースを受講するとよいです。
以上、独学でのプログラミング勉強法について説明しました。少しでも、独学でプログラミングを学習できる方のお役に立てればと思います。