2023.5.27
【プログラミング初学者向け】プログラミングの学習のロードマップ〜その1〜
今回はプログラミング初学者向けにプログラミングの学習ロードマップを解説していきます。
僕は独学でプログラミングを学習し、Sler系の企業で勤めています。独学での経験と勤めている経験の中で、この基準をクリアできていて欲しい、反対にここまでできていないと、開発などができない案件にアサインされてしまうのではないかな、などと思うことがありましたので、その点についてまとめていきたいと思います。
留意点としては以下のことに注意してください。
SIer系で業務系アプリケーションを開発している企業での経験が基準となっています。ロードマップのゴールはプログラミングを学習して企業に就職し、開発が行えるような案件にアサインされることと想定してください。WEB系の企業ではもっと別の技術を学習すべきということもあるかもしれませんし、強強エンジニアになりたいという方はよりコンピュータサイエンスをふかぼっていく必要があると思います。また、今回はWEBアプリケーションにおけるプログラミング学習となっております。モバイルアプリやデスクトップアプリ、機械学習系については考慮していませんので、ご了承ください。
一応WEBアプリケーションを開発することを想定していますが、WEB制作などの参考になれば幸いです。

1.プログラミング、WEBの基本的な仕組みを理解する
プログラムを書く上でプログラミング、WEBの基本的な仕組みを理解する必要があります。
めちゃくちゃ深める必要はありません。インターネットで探してプログラミングっていこういうことなんだな、WEBってこういうことなんだなという程度で理解したらいいかと思います。
大切なことは、これから学習することはこういうことなんだな、と全体感を理解することです。ここを理解することで、プログラミングで学習していることと、理論が結びつき、学習効率が格段に上がります。
プログラミングについては以下のことを理解しましょう。
・プログラミングの役割
・機械語やアセンブリ言語から高級言語について
・コンパイラ言語とスクリプト言語
次に、WEBの基本的な仕組みについてですが、以下のことを理解しましょう
・HTTP通信という方法で通信していること
・クライアントの役割
・サーバー側の役割
繰り返しになりますが、そこまで深ぼる必要はありません。いずれその時は来るかもしれませんが、今はその時ではありません。ある程度理解できたら次に進みましょう。
大切なことはこれから学習することはこの部分について学ぶんだということを認識することです。
2.HTML、CSSを学習する
HTML、CSSを学習しましょう。ここもざっくり簡単に学習しましょう。
HTMLのタグを使用すること、CSSでHTMLの配置を変えるなどの基本的な知識を押さえましょう。
あまり凝りすぎると次に進めなくなってしまうので、WEBサイトっぽいのを作れるくらいまで理解できれば、一旦合格点とします。
HTML、CSSは奥が深く、またデザイン要素も含まれるため、やればやるだけ次に進めなくなってしまいます。(例えWEB制作の方であってもです。)
一旦、ここでは基準をぐっと下げて次にいきましょう。
3.JavaScriptの学習をする
ここからやっとプログラミングの学習になります。
JavaScriptをプログラミング言語として最初に学習すべき理由としては、環境構築が不要だからという点、WEB制作、WEB開発どちらも必須の知識という点になります。
JavaScriptはWEBページの見た目をプログラムによって操作する言語になります。そのため、WEBブラウザ上でプログラムは動作します。また、JavaScriptはほぼ全てのWEBアプリケーションで使用するといっても過言ではありません。掛け算九九のように絶対にできないとまずいかなと思います。
ここでJavaScriptの学習する点は二つにあります。
一つ目時は、文法学習、二つ目は、WEB開発に関する学習です。
文法の学習は本を一冊購入してみてもいいですし、Progate、ドットインストール、Paizaなどのプログラミング学習サイトでも学ぶことができます。
単純でつまらないし、これが開発の何につながるのか分からないという理由で、挫折率が高いのが文法学習ではないでしょうか。ここでも文法は基本的なことをある程度理解できれば十分です。
上記のサービスや本を一週程度すれば十分でしょう。文法に関しては、プログラムを書いていく中で覚えていきますので、100%覚えようとせず、忘れても調べることができるということを意識して理解することを意識しましょう。
次にWEB開発に関する学習ですが、ドットインストールやUdemy、YouTubeなどで、アプリケーション作成のチュートリアル教材がありますので、WEB開発においてJavaScriptをどのような役割であるかを理解しましょう。
ここまでできればJavaScriptは十分かと思います。
3.サーバーサイド言語を学習する
JavaScriptの学習までできたら、ここでサーバーサイドの学習をしましょう。
環境構築が必要なのが次に訪れるプログラミングの挫折ポイントかなと思います。なので、言語は何でも大丈夫ですが、環境構築が簡単なものがいいでしょう。個人的にはPHPが環境構築が簡単で教材も豊富なので、おすすめです。
ひとまず、サーバーサイド言語でもJavaScriptと同様、文法をまず勉強しましょう。
ただ、ここではサーバーサイド言語のみでアプリケーションを作ることは可能ですが、データベースとの連携ができず、サーバーの役割を理解することが難しいです。
なので、サーバーサイド言語では文法を一旦学習したら次の学習を一度挟みます。
4.SQLを学習する
「3.サーバーサイド言語を学習する」でも書いたようにサーバーサイド言語だけでは、アプリケーションを作成することはできても、データベースとの連携はできませんので、サーバーの役割を認識することが難しいと思います。
ここでSQLを学習します。
ここもProgateなどを使用して基本的なSELECT、INSERT、UPDATE、DELETEをできるようにすること、WHERE句による条件検索、JOINによる結合ができるようになりましょう。
5.サーバーサイド言語、SQLを使用してWEBアプリケーション開発を覚える
ここまでできたら、サーバーサイド言語やSQLを使用してWEBアプリケーションを作成してみましょう。データベースを使用したデータの保存、データの書き換えなどを行うことでJavaScriptだけで作成したアプリケーションよりもアプリっぽいような実装ができるのではないでしょうか。
教材としては、JavaScriptと同様、ドットインストールやUdemy、YouTubeにあるチュートリアル動画や、書籍を一冊購入して進めればいいと思います。
ここまで来たら大まかにWEB開発の概要を押さえることができて、自分でアプリケーションを作成できるところまで来ていると思います。
大切なのは理解することです。WEB開発はどういう仕組みを使っているか、どういうロジックを実装しているかを理解しながら進めていきましょう。
6.アプリケーションを作成して公開する
ここまで学習してきたことを活用して、自作オリジナルアプリケーションを作成してみましょう。
おそらく、最初はなかなか上手くいかないと思いますが、慣れと調べることが大切です。とにかく数をこなすことを大切にしていきましょう。
また、レンタルサーバーを借りて公開してみましょう。データベースの移行やSSLの設定、ドメインの取得と設定などを自分でやってみましょう。
サーバーによって仕様が異なったり使用料などの課金が発生するなどハードルは高いですが、WEB開発において必要な知識になってきます。ここは学習というより経験になりますので、どういうものかを調べながら進めるといいと思います。
また、これが一つ就職する際のポートフォリオとしてアピールポイントになってきます。
ここまでが就職する上で最低限必要なプログラミング学習と知識かなと思います。
これで基本的なアプリケーションの作り方やWEBへの理解が深まっていると思います。
この時点で就職活動を進めても運用保守で採用される可能性は少しずつ出てくるかと思います。
とはいえ、いくらなんでも最低限過ぎるという人もいるかもしれませんので、次回していきたいと思います。
今回はここまでにしていきたいと思います。最後までご愛読くださりありがとうございました。
~画像出典元~