この記事では「プログラミング独学の勉強法」について書いています。

いざプログラミングを勉強するとなっても、何から手をつけたらいいのか、何をしたらいいのか分からない
という悩みがあるかと思います。
実際、私も大学生の時にプログラミングに興味を持ち、独学で勉強していましたが、最初は自分が気になるサイトや本をとりあえず使っていました。
当時は、どのようなステップでプログラミングの勉強を進めていけばいいか分からず、闇雲に進めていた時期もありましたが、もっと効率的にプログラミングを学ぶことができたなと今になって思います。
そういったことから、今後プログラミングの勉強を始める方には遠回りして欲しくないので、この記事を書きました!
今回はプログラミング独学勉強法を6ステップに分けて紹介していきます!
プログラミング独学勉強法6ステップ

まず、事前準備としてステップ1〜ステップ3を行いましょう。すでに事前準備はしてあるよーという方はステップ4まで飛ばしてもらって構いません。
ステップ1:プログラミングを触ってみる

まず初めに、全くプログラミングを触ったことない方は、実際にプログラミングはどういったものなのかコードを実際に書いてみましょう!
私のおすすめは、Progateというプログラミングを無料で学習できるサービスを軽く使ってみることです。
このサイトはUIも綺麗で何と言っても使いやすいです。解説も丁寧でスライドに沿って勉強を進めていくことができるので、まずこちらを触ってみると良いでしょう。
ここで軽く触ってみて、面白いなと感じたらステップ2に進みましょう!
面白くなければ今後プログラミングを続けていったとしても、どこかで挫折したり、技術についていけなかったりするといったことがあるので、興味がなければここできっぱり辞めた方が僕は良いと思っています。
ちなみにProgateに関しては、こちら「文系大学生がプログラミング学習サイトのProgate(プロゲート)を始めてみた」でも紹介しているので参考にしてみてください!
ステップ2:どんなエンジニアになりたいのか、もしくはどんなものを作りたいのか決める

次にどういったエンジニアになりたいのか、もしくはどんなものを作りたいか決めましょう。これを決めないと、どのプログラミング言語を勉強していくか決めることができません。
「本当はWebアプリを作りたかったのに、スマホアプリ開発で使われている言語を学んでいた」みたいなことがあったりするので。
エンジニアの種類としては大体以下が挙げられるかなと思います。
・フロントエンドエンジニア
・バックエンドエンジニア
・iOSエンジニア
・Andoroidエンジニア
・ネットワークエンジニア
・セキュリティエンジニア
・SRE
・機械学習エンジニア
・ブロックチェーンエンジニア
・ゲーム開発エンジニア
詳細については、こちら「エンジニアの種類と仕事内容を分かりやすく解説!」で解説しているので参考にしてみてください!
どんなエンジニアになりたいかは決まっていない場合は、作りたいものを明確にしましょう!何を作りたいかによって学ぶべきプログラミング言語も変わってきます。
ただ、ここで「どんなエンジニアになりたいとかもまだ決まっていないし、これといって作りたいものもない」ということも多いと思います。
そういった場合は、TechAcademyの無料体験 などのプログラミングスクールの無料体験を活用するのがおすすめです。無料なので本当気楽に使えます。私も無料体験を使って色々と質問したりしていました。
ここで、次のステップで紹介する「どのプログラミング言語を学べばいいか」についても聞いてみると良いでしょう。
ステップ3:どのプログラミング言語を学んでいくか決める

どんなエンジニアになりたいか、どんなものを作りたいか決めたら、次にどのプログラミング言語を学ぶか決めましょう。
例えばWebアプリを作りたいなら、Ruby言語やPHP言語、データ解析やAI開発をしたい場合はPython言語などがあります。
ちなみに私が最初に学んだ言語はRubyでした。理由としては、ネットに多くの情報が落ちていることやRubyに関して学べるサイトや本が多かったからです。
現在は会社でPHP言語を用いて開発をしています。
ステップ4:本やサービス等を使って基礎知識を身につける

勉強する言語も決めた後は、本やサービス等を使ってプログラミングの基礎的な知識を身につけましょう。
個人的には、プログラミングを学ぶことができる本とサービス両方使うことをおすすめします。本で体系的な知識を学び、サービスを使って実際に手を動かすといった学び方が良いかなと思います。
本で学ぶ場合はこちら「プログラミングを独学する際におすすめの本|現役エンジニアが紹介!」を参考に、サービスを使って学ぶ場合はこちら「プログラミングを独学したい人必見|おすすめの学習サイトを現役エンジニアが紹介」を参考にしてみてください!
本は苦手という方は、おすすめ学習サイトで紹介しているサービスを使ってみることをおすすめします。
ステップ5:既存サービスのクローンを作ってみる

基礎的な学習を終えた後は、実践的なスキルを身につけるためにも何かサービスを作ってみましょう。
最初からオリジナルのサービスを作ることは設計から入る必要があり、かなり挫折してしまう確率が高いと思うので、初めは既存サービスのクローンを作ってみることをおすすめします!
例えば、「TwitterやInstaのようなSNSアプリ」「チャットができるサービス」「TODO管理サービス」などがあるので、これらを作ってみると良いでしょう。
ただ何も参考にせず上記を作ることは、最初のうちはかなり難しいと思うので、Techpitのような教材を購入して学ぶのも一つの手です。
すぐに分からないところは質問できる環境が良いという方には、現役エンジニアに質問しながらそういったサービスを作ることができるTechAcademy [テックアカデミー]がおすすめです。
ステップ6:オリジナルサービスを作ってみる

既存のサービスを作り終えたら、かなり実力がついていると思います。次は既存サービスのクローンではなくオリジナルサービスを作ってみましょう。
私自身は基礎学習を終えた段階で、テックアカデミーのWebアプリケーションコースを受講し、オリジナルサービスとして、「自分が通っていた大学の授業評価などを行えるサービス」を作りました。
メンターの方のサポートが無ければ途中で挫折していたと思います。
この段階では私のようにプログラミングスクールを使ってみるのもありかと思います。この最後のステップはかなり挫折率が高いと思うので。
プログラミング独学の勉強時間はどれくらいかかる?

プログラミングのスキルを習得するのに必要な時間は本当に人によって様々です。また何を持ってスキル習得とするのか定義しづらいところであります。
実際エンジニアとして働いても、新しい技術をその現場で使う場合は、その技術についての勉強も必要となるので。
なので、プログラミング学習に関しては「勉強する」という意識を捨てた方が良いです。勉強に意識が傾くと、暗記や勉強時間に注力してしまい、いざコードを書く場合なかなか思うように書けないです。
プログラミング独学する際に大切なポイント

上記で述べた内容にも似ていますが、プログラミング独学する際に大切なポイントは、「作りながら学ぶ」ことだと思います。
エンジニアやプログラマーは実際にコードを書いてシステムの開発やアプリの開発を行うことがほとんです。それなのに、本や同じサイトを何周もやるといったことはかなり遠回りです。
また実際にコードを書いて完成させたサービスは就活や転職時にポートフォリオとして提出でき流ので、とにかく作りながら学びましょう!
プログラミング独学で挫折しそうになった場合の対処法

どうしてもプログラミング独学で挫折しそうになることはあるかと思います。私自身も途中でエラーが出て1日考えても解決しなかったり、どう実装していいか分からなくて1日中詰まるみたいなことがあったりしました。
そういった場合は、独学を辞めてプログラミングスクールに通うことをおすすめします。プログラミングスクールに関して、テックアカデミー であれば完全オンラインで受講することもでき、現役のエンジニアに質問することができます。
またメンターの方もついてくれるので、キャリアの相談や詰まっている箇所の質問もしやすいです。特に初心者のうちは、どうやってエラーを解決したら良いか分からず、数時間過ぎてしまうといったことがざらにあるかと思います。
そういう場合、すぐに質問できる環境があると便利ですよね。私が受講していた時は、分からないことが多かったので、めちゃくちゃ質問していた記憶があります。
参考までに、以下に受講した際に書いた記事を置いておきます。気になる方は是非読んで見てください。
記事: 【体験談】テックアカデミーのWebアプリケーションコースを2ヶ月間受講してみた感想
以上、最後まで読んでいただきありがとうございました!
コメント