独学で迷った人向け!Webエンジニアになるまでの学習ロードマップ
皆さんこんにちは。独学で何かを学ぶってすごく大変ですよね。しかもプログラミングって沢山種類(言語)があって、沢山情報が飛び交い、一体全体どのようなロードマップを持って進めばいいのか分からなくなりがちです。
そこで、今回は、独学でプログラミングを勉強しようと考えている人向けに、私が勝手にロードマップを作ってみることにしました。是非参考にしていただけると幸いです。それでは行ってみましょう。
まずはIT業界を知ろう
なんといっても一番大事なのはこれ。IT業界の事を沢山知りましょう!
以前このようなツイートをしたのですが、IT業界と一言で言っても、簡単に分けただけでも、ツイート内容ぐらい様々な働き方や開発体制の違いがあります。上記をよく読んで、業界ごとの違いを認識し、まずは自分が目指すべき業界をしっかりと定めましょう。
どの業界に行きたいか決めよう
業界を決めたら、その業界の好みの言語やフレームワークなどがありますので、後はこれについて学んでいけばよいだけです(後は求人とかを見てみて、求められるスキルが何なのか確認することも有効)。まさにゴールを決めて、手段を選んでいくスタイル。
ウェブ系のプログラミング言語を勉強したいならこのロードマップ
ウェブ系のプログラミングを学びたければ、大体こんな感じのロードマップでやっていると、一通りウェブ系の開発で必要とされるスキルセットの基本が出来上がります。それでは次はそれぞれの項目について細かく学ぶ理由を書いていきます。
HTML/CSSを学ぶ理由
ウェブ系のプログラムは、基本的に、今皆さんがnoteで記事を読んでいるように、ブラウザで表示されます。ブラウザで絵画されるのに使われている言語はHTMLとCSSです。その為、どのようなプログラムを使おうが、最終的にはHTMLとCSSに落とし込まれます。ですから、最も根本的かつ基本的なHTMLとCSSをまず学ぶ必要があるのです。でなければ、ブラウザ上では何も動かすことができません。
一通りHTMLとCSSに慣れてきたら、JavaScript(jQueryとか簡単に触れるようなやつから)に手を付けてみてもいいかもしれません。因みに、プログラムにはサーバーサイドスクリプティング(サーバーで実行され、結果だけが私達のPCに帰ってくるもの)とクライアントサイドスクリプティング(プログラムが私達のPCに送られ、私達のPC上で実行されるもの)に大きく大別され、JavaScriptはクライアントサイドスクリプティングに属するプログラムです。プログラムを手前で実行するので動きがあるサイトなどを作り出すことができます。余談だけど。
PHPを学ぶ理由
PHPはサーバー上で動かす事のできる、上記で説明したサーバーサイドスクリプティングに属する代表的なプログラム言語です。
私が初学者にPHPを推す理由は、過去にもnoteに書いたのですが、とにかく「簡単に書ける」「環境構築が容易」「オープンソースのプログラムが豊富」「世界規模のコミュニティがある」「他の言語の良い所をすぐパクろうとする」ですね。いい面もあれば悪い面もあるとは思いますが、とりあえず初学者は挫折しにくく簡単に始められるものからスタートで良いんじゃないでしょうか。
Wordpressを学ぶ理由
他の言語と比べてPHPの大きな特徴として、先程も上記で書いたのですが、PHPは沢山のオープンソース(無料で使えるソフト)があります。Wordpressに代表されるCMS(コンテンツマネージメントシステム)もその一つです。ブログや少し凝ったサイトを作ろうとすると、1からフルスクラッチして作るよりもサクッとWordpressを入れて作ったほうが楽です。
また、例えばECサイトならばEC-CUBEとか最近ならShopifyとか。1から全部プログラミングしなくても、半製品状態になっているものがあります。PHPは豊富なオープンソースがあるので、技術選定時にも選択肢が多く、初学者の最もゴールにすべき、「仕事の幅を拡げる」事に大きく寄与してくれる存在なのだと思います。
CakePHPを学ぶ理由
私はプログラミング学習の方法論の一つに「守破離」の概念は大事だなと思っていまして、初学者の方々はまず「守(指導者の行動を見習って、指導者の価値観を自分のものにしていく。)」が大事だと思います。コードデザインのセオリーを知ってもらいたい。そのためにはCakePHPはうってつけなのです。MVCデザイン(専門用語ごめんね)で書き、きつい規約があるので、おのずと必要な書き方を学ぶ(身につける)ことができます。
また、CakePHPはRuby on Rails(初学者に人気だよね、このFW)をPHPでパクろうぜ!ということから始まったプロジェクトで、Railsの概念やルールが多く取り入れられています。その為、CakePHPを学んでいれば、Railsをいざ使おうと思った時、非常に楽にインプットすることが出来るのです。
SQLを学ぶ理由
SQLとは、データベースの中から、必要なデータを検索したり、データ入力したりする専用の言語の事なのですが、プログラムを扱っていて、データベースと無縁…という事はありえません。フレームワークでO/Rマッパーが使われているから大丈夫。とは思わず、1冊SQLに関する本を読んで、実際にデータの操作をやってみましょう。きっとO/Rマッパーを使うときも非常に役に立つはず。
Linuxサーバーを学ぶ理由
Linuxサーバーは、開発環境を構築する時にも知識が必要になりますし、勿論AWSなど、最新のクラウドサーバーを構築する時にもその経験が行きてきます。最初は単体のLinuxサーバーで、基本的なウェブサーバーを構築し、外向け(インターネット上)に公開するために必要なソフトウェアのインストール、設定などが出来るようになりましょう。最新のクラウドとか触ってみたい、という欲求もあるかもしれませんが、ここは我慢してください。
単体のLinuxサーバーの運用構築手順を知らずに、AWSなどのクラウドサーバーのセオリーから入ると、大変危険です。この理由は今お伝えしても知識が足りず理解が大変だと思いますので、これは騙されたと思って信じてください。1年後ぐらいに「あぁ、あの時こうやんが言っていたことは正しかったな」と思っていただけたら幸いです。
セキュリティを学ぶ理由
自分が受け持つ仕事の範囲のセキュリティぐらい、しっかりと発生原理・有効な対策方法は知っておきましょう。セキュリティのガバガバなシステムを作ってしまって、後で問題が起きたときに被害が大きいと、目も当てられません。セキュリティといっても非常に奥が深く、ジャンルも広いですが、とりあえずはWeb系の仕事を取り巻く範囲で勉強しておきましょう。プログラム学習の総仕上げです。
まとめ
さて、ここまで長く語ってきましたが、肝心な「どうやって学べば良いんだ!」というお話は、私がスクールで使っている教材リストを公開しているので、これを参考にしてみてください。ではでは!
この記事が気に入ったらサポートをしてみませんか?