別の記事でも度々お話ししていることですが、基本的に私は最初の段階では
『webエンジニアを目指すべき』
だとお話ししています。
理由は様々ありますが
これらのメリットがあるため、最初の段階でwebエンジニアを目指すことは
『自分の人生を変える一つのきっかけ』
にもなるのです。

私自身も最初はwebエンジニアになるために勉強を始めた一人なので、そのメリットは十分に理解しています。
なのでここでは、この先webエンジニアを目指す方(未経験向け)のために、どのような勉強をすれば良いのか?について掘り下げていきたいと思います。
正直webエンジニアになるための勉強法はシンプルです。


段階を踏んでいけば必ずスキルを身につけることはできますので、ぜひ最後まで記事を読んで参考にしてみてください。
好きなところから読んでください
webエンジニアの基本的な知識

このwebエンジニアという仕事は、大きく分けて2つの種類があります。
フロントエンドエンジニア

こちらは
『私たちユーザーが目にする部分をいじる仕事』
がメインになります。
例えば今あなたがみている私のサイトは、ある程度webデザインが整っているため、サイト自体が見やすくなっていますよね?


サイト全体の構成や、訪れたユーザーが見やすいと感じるサイト作りをすることが、フロントエンジニアの主な仕事となります。
▼フロントエンジニア
- フロントエンジニアはフロントエンドを担当する人のこと。
- フロントエンドというのは、ユーザーとデータのやり取りをすることで、Webブラウザ側をでの仕事がメイン。
バックエンドエンジニア

そしてこちらは
『表には見えないけど重要な作業を担っているエンジニア』
になります。
フロントエンジニアとは違い、バックエンドエンジニアというのは
のが主な仕事となります。
例えばサイトの中で、あなたの情報を入力するような項目があった場合、間違った方法で入力したら
『半角カナで入力してください』
このような赤文字が出たりしますよね?
あれは全てバックエンドエンジニアがその処理を行っているのです。


重要な情報などを入力する場合には、スペルミスや半角全角のミスが多発します。
それを未然に防ぐために、フロントエンジニアが処理を行い、安全に使えるサイトに仕上げているのです。
サイトにはこのような処理がたくさんあります。
だからと言ってフロントエンジニアが重要ではないという話ではないんですけどね笑。
▼バックエンドエンジニア
- フロントエンドエンジニアがユーザー側のデータを処理するのに対し、バックエンドエンジニアはユーザーの見えない部分のデータ処理を行う仕事。
- web制作としては『サーバー側』と呼ばれている。
webエンジニアが最初に勉強しておくべき5つのこと

ちなみにフロントエンジニアやバックエンドエンジニアの括りに入らず、基本的になんでもできるエンジニアのことを
『フルスタックエンジニア』
と呼びます。


最初の段階ではここを目指す必要はありませんが、どちらの仕事も担えるエンジニアへと成長できれば、それだけ希少価値の高い人材になることができます。
未経験としてこの業界に入り、webエンジニアとして活躍したい!
そう思った場合、これからどのようなことを勉強していけばよいのか?
正直何が正しくて何が悪いということはないのですが、重要なポイントとしては
『確実に必要な知識を最初に取り入れること』
です。
最初は難しいことを考えず、まずは以下のことから知識を取り入れて勉強をしていきましょう。
webサイトの仕組みを理解する

webエンジニアとして重要な要素はたくさんありますが、もし未経験の状態からスタートするのであれば、最初は具体的な方法論よりも
『webサイトの全体像を徹底的に把握する』
ことを最優先させてください。
例えばあなたがスマホでネットサーフィンする中で、様々なサイトにアクセスすると思います。

最初の段階で必ずHTML/CSSを学ぶことになるのですが、これを理解することで
ようになります。
私が推奨するやり方としては
最低限HTML/CSSを学ぶ
↓
実際にネット上に出ているサイトをHTML/CSSの知識を持っている状態で見る
↓
サイトを模写して自分でコードを書いてみる

最初の段階でこれを繰り返していると、今まで分からなかったことが少しずつ理解できるようになってきます。
ちなみにHTML/CSSはプログラミング言語ではないため、特に難しい思考は必要ありません。
シンプルなルールで作られているものになりますので、一定期間の学習を経れば誰でも理解できるようになりますよ。
1つのプログラミング言語を集中して勉強する

最低限HTML/CSSを理解できれば、基本的なサイトの骨組みは作れるようになります。
これができるようになっただけでも結構楽しくなってくるものです。


そしてこの次のステップとして
『1つのプログラミング言語を集中的に学ぶ』
ことを始めていきましょう。
HTML/CSSはマークアップ言語と呼ばれており、これはプログラミング言語ではありません。
つまりプログラミングの中では
『基礎の前を学ぶ段階』
になるのです。
HTML/CSSをすっ飛ばしてプログラミング言語を学ぼうとすると、何一つ理解できませんので要注意です。
ここを理解してからようやくプログラミングの世界へと足を踏み込むことになります。
プログラミング言語というのは、世界に500種類以上あると言われていますが、初心者の段階では、まず最初に
ことを重要視してください。
これは後々分かることですが、プログラミング言語を1つ学ぶことができると、その次の言語を学ぶのがかなり楽になります。

あれこれ手を出して万能なプログラマーを目指すのではなく、まず最初に学ぶ言語を1つ決めて、それだけを徹底的に学習していきましょう。
HTML/CSSに動的な動きを組み込めるPHPやJavaScript・JQueryという言語は特におすすめです。
難易度的にはPHPが一番学びやすいかもしれませんね。
webエンジニアを目指すのであれば、親和性の高い言語であるJavaScriptやPHPを学ぶのが一般的な流れになります。
PHPの場合、事前に開発環境を用意する(XAMPPやMAMPなど)必要があるため、テキストエディタだけで言語を扱いたい場合には、JavaScriptが良いかもしれません。
データベースを知る

HTML/CSSを知り、その後にプログラミング言語を1つ学ぶことができたら、この段階である程度の仕事はこなせるようになります。
企業の扱うLP(ランディングページ)やウェブサイトというのは、基本的にHTML/CSSとJQuery(JavaScriptを使いやすくした言語)で作られています。
この段階で一般的には
『プログラムが書ける状態』
になっていますので、早い段階でデータベースの理解を深めていきましょう。
このデータベースというのは
のことを指しています。




データベースを扱うための言語として挙げられるのが『MySQL』というものです。
この言語を学ぶことによって、自分が扱うデータを安全に、且つ管理することができるため、この先webエンジニアとして活躍するのであれば、間違いなく必要になる知識です。
MySQLという言語は最初に学ぶものではありませんが、いずれ必ず必要になるスキルになりますので、早い段階で慣れておくようにしましょう。
基本的なフレームワークの使い方を学ぶ

ここまでの流れで学習を進めていけば、すでに仕事ができるレベルのスキルは身についていることになります。
本気のwebアプリを開発するためには、スキルアップや実務経験を経る必要がありますが、それをなるべく簡単にするためのツールとして
『フレームワーク』
を理解しておくと便利です。
このフレームワークというのは、簡単に言ってしまえば
なので、このフレームワーク通りに開発を進めていくと、無駄な時間を使うことなくwebアプリが作れるようになるのです。

PHPであれば
- CakePHP
- FuelPHP
などのフレームワークがありますので、まずはそれを動かし、自分だったらどうするかを考えてみましょう。


webエンジニアの勉強でやってはいけないこと

基本さえ学ぶことができれば、あとはどの道に進もうとやることはほとんど変わりません。
基本ができればあとは肉付けしていくだけなので、段階さえ踏めればスキルは高めることが可能です。




しかしwebエンジニアになる際に
『やってはいけない学習方法』
というものが存在します。
私はど素人の頃、このやってはいけないことをメインで取り入れていました笑。
つまり、学習していた最初の期間はかなり無駄な時間を過ごしたということです。
最初から効率を求めて学習をすること

スキルを身につけるために効率を重視することは大切です。
ただ、ここでお伝えしたいことは
『最初の段階で効率を求めすぎると、重要な内容を理解せずに先に進むことになる』
ということです。

ですがその面白くないことを学ぶことによって、後々面白いことができるようになります。
▼効率に対する考え方
- 効率というのは、結局数をこなした人が作り出すものであって、初心者が楽をするためのものではありません。
- ここを勘違いすると泥沼にはまります。
効率を求め続けることによって、重要な内容も
『後で勉強すればいっか!』
と飛ばすことになりますので、これをやってしまうと後々苦しみます。
目標を定めずに勉強を始めること

これは別の記事でも何度もお伝えしていることですが、重要なことなので覚えておいてください。
何をするにしても、人は
『何かしらの目標がなければ頑張ることは難しい』
ため、最初の段階でプログラミングを学ぶ目標を設定しておきましょう。
例えば全くプログラミングを学んだことがない状態から始めるのであれば
という目標でも良いです。
そしてそれを実現したら、次は
『JavaScriptを身につける』
という目標に変えても良いでしょう。
そしてさらにそれも身につければ、次は
『自分のサービスを作ってみる』
ことを目標にしてみるものありです。

仮に大きな目標しか持っていない場合、それを実現するまでのロードマップが見えなければ、自然とモチベーションが落ちてしまいます。
▼目標達成の一例
大きな目標:プロ野球選手になりたい!
小さな目標:キャッチボールができるようになる→バッティングができるようになる→試合に出られるようになる→レギュラーになる→ホームランが打てるようになる→スカウトに注目されるようになる
小さな目標を少しずつ乗り越えていくことで、最終的な大きな目標を引き寄せるようなイメージが理想です。

全て一人で頑張ろうとすること

自分の人生を振り返ってみると、どんな時も必ず
『教えてくれる人の存在』
があったと思います。
例えば学校に通い始めれば、先生が授業で国語・英語・算数・理解・社会などを教えてくれます。
専門学校に行けば自分の興味のある分野のプロの先生が教えてくれます。
何かを身につけるためには『教わる』ことが必要不可欠なのですが、プログラミングに対しては、多くの人が独学を選択しがちです。


もちろん独学で頑張れるのが一番理想ですが、それでも
『全てを一人でこなすのは効率が悪すぎる』
ため、早い段階でコミュニティやスクールを活用することが重要です。
『まずは独学から始める→基礎が身についたからスクールで教わる』
『挫折したくないのでスクールに通う→基礎がわかったので独学で学ぶ』
様々な選択肢がありますが、自分の学習を効率良く進めるためには、やはり教えてくれる人がいる環境に身を置くことが理想です。
まとめ

webエンジニアになることは、これからの時代の流れに乗ることができる選択肢だと私は考えています。
この先の時代は、どう考えてもIT業界が注目されていきます。

となれば、自然とITのスペシャリストであるプログラマーやエンジニアにスポットライトが当たることになります。
これからの時代で
この2つに分かれた場合、どちらが有利に生きていけるのか?
それを考えると、やはり早い段階で決断をしたほうが良さそうですね。
今この時点でプログラミングに出会えたことに感謝しつつ、私も日々スキルを磨いていきたいと思います。