1 作りたいものを決める
よく、やっとけば潰しが効くから「Java」を学ぶ!今流行りだから「Python」を学ぶ!
という意見を見かけますが、これは手段と目的が逆転している状態です。
あくまでプログラミング言語というものは、生活を便利にするサービスを作るための「手段」ということを忘れてはいけません。
ここが明確に定まっていないと挫折してしまう確率が高くなってしまいます。
2 学習する言語を決める。
作りたいものが決まったら、それを作るために学習する言語を決めましょう。
例えば、ECサイトを作りたいからフロントを作るために、HTML/CSS,JavaScript
バックを作るためにPHP、Laravel、SQLを学ぶといった具合になります。
↓どの言語で何ができるのか網羅的に記載されているので一読をお勧めします
3 基礎を学ぶ
上記で決めた言語の基礎を学んでいきましょう。
ここで大切なのは、「完全に理解できなくても次に進む」ということです。
よく、基礎は大切だから時間をかけてみっちり学ぼうとされる方がいますが、これは陥りがちな間違いです。
プログラミングは学校のテストと違って、「カンニングOK」なので、「暗記」する必要はありません。
とにかくここは完璧に理解できなくてもいいので ざっくり全体像を理解することを前提に進めていきましょう。
基礎学習おすすめのサービス
↓
プロゲート
ドットインストール
4 既存のサービスのコードを写してながら形になるものを作ってみる
基礎は一通り学習しても、0から自分でサービスを作るというのはまだ難しいと思います。
そこで、既存のサービスを見様見真似で作ってみることをお勧めします。いわゆる写経と呼ばれるものです。
実際のサービスとなるものを作りながら、プログラミングの全体像を把握して、上記で学んだ基礎が、どのような形で動くのかといったことを手を動かしながら学ぶことができます。
このことで基礎の定着にも繋がりますし、実務を擬似的に体験することができます。
5 0から自分でサービスを作る
写経で基礎の定着と全体像を把握したら、次は自分でオリジナルのサービスを作って見ましょう。
ここで大切になってくるのが不完全でもいいのでとにかく完成させてできればリリース、公開するということです。
基礎学習と同じで、「まず終わらせる」ことが大切です。
Facebook創業者のマークザッカーバーグも
完璧を目指すよりまず終わらせろ(英語:Done is better than perfect)
と述べております。
最初から完璧を目指して開発するのではなく、設計・開発・テスト・改善のサイクルを短期間で繰り返し、少しずつ質を高めていくことを目標に開発を進めていきましょう。