Pocket

別の記事でも度々お話ししていることですが、基本的に私は最初の段階では

『webエンジニアを目指すべき』

だとお話ししています。

理由は様々ありますが

未経験からでも働きやすい
需要が高いため待遇の良い環境で働ける
年収1000万以上を狙える

これらのメリットがあるため、最初の段階でwebエンジニアを目指すことは

『自分の人生を変える一つのきっかけ』

にもなるのです。

avatar
今の日本で高い年収を狙える職業は数少ないですが、その数少ない職業の一つとしてこのwebエンジニアが挙げられるため、正直早い段階で勉強して転職を考えてみるのもありです。

私自身も最初はwebエンジニアになるために勉強を始めた一人なので、そのメリットは十分に理解しています。

なのでここでは、この先webエンジニアを目指す方(未経験向け)のために、どのような勉強をすれば良いのか?について掘り下げていきたいと思います。

正直webエンジニアになるための勉強法はシンプルです。

avatar
webエンジニアと聞くと、なんだか難しそうですが‥
avatar
いや、やることはとてもシンプルですよ♪

段階を踏んでいけば必ずスキルを身につけることはできますので、ぜひ最後まで記事を読んで参考にしてみてください。

webエンジニアの基本的な知識

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

理想としては両方できるようになって頂きたいのですが、最初の段階ではそこまで意識せずに勉強を進めていきましょう。

フロントエンドエンジニア

こちらは

『私たちユーザーが目にする部分をいじる仕事』

がメインになります。

例えば今あなたがみている私のサイトは、ある程度webデザインが整っているため、サイト自体が見やすくなっていますよね?

これはテンプレートなどを作ったフロントエンジニアのおかげでそうなっているのです。
avatar
表に見えている部分はフロントエンジニアさんの仕事なんですね。
avatar
基本的にはそういうことです。

サイト全体の構成や、訪れたユーザーが見やすいと感じるサイト作りをすることが、フロントエンジニアの主な仕事となります。

▼フロントエンジニア

  • フロントエンジニアはフロントエンドを担当する人のこと。
  • フロントエンドというのは、ユーザーとデータのやり取りをすることで、Webブラウザ側をでの仕事がメイン。

バックエンドエンジニア

そしてこちらは

『表には見えないけど重要な作業を担っているエンジニア』

になります。

フロントエンジニアとは違い、バックエンドエンジニアというのは

『サイト全体のアルゴリムを構築する』

のが主な仕事となります。

例えばサイトの中で、あなたの情報を入力するような項目があった場合、間違った方法で入力したら

半角カナで入力してください

このような赤文字が出たりしますよね?

あれは全てバックエンドエンジニアがその処理を行っているのです。

avatar
確かにフォームの入力などをする際に出ますね!あれはバックエンドエンジニアさんがやってくれてたんですね。
avatar
実はあまり知られていないことですが、このような処理をしてくれているんですよ♪

重要な情報などを入力する場合には、スペルミスや半角全角のミスが多発します。

それを未然に防ぐために、フロントエンジニアが処理を行い、安全に使えるサイトに仕上げているのです。

サイトにはこのような処理がたくさんあります。

表には見えませんが、バックエンドエンジニアというのは、実はめちゃめちゃ重要な仕事を担っている人たちなのです。

だからと言ってフロントエンジニアが重要ではないという話ではないんですけどね笑。

▼バックエンドエンジニア

  • フロントエンドエンジニアがユーザー側のデータを処理するのに対し、バックエンドエンジニアはユーザーの見えない部分のデータ処理を行う仕事。
  • web制作としては『サーバー側』と呼ばれている。

webエンジニアが最初に勉強しておくべき5つのこと

ちなみにフロントエンジニアやバックエンドエンジニアの括りに入らず、基本的になんでもできるエンジニアのことを

『フルスタックエンジニア』

と呼びます。

avatar
なんかかっこいい名前ですね!
avatar
未経験からでもフルスタックエンジニアになることは十分に可能ですよ♪

最初の段階ではここを目指す必要はありませんが、どちらの仕事も担えるエンジニアへと成長できれば、それだけ希少価値の高い人材になることができます。

未経験としてこの業界に入り、webエンジニアとして活躍したい!

そう思った場合、これからどのようなことを勉強していけばよいのか?

正直何が正しくて何が悪いということはないのですが、重要なポイントとしては

『確実に必要な知識を最初に取り入れること』

です。

最初は難しいことを考えず、まずは以下のことから知識を取り入れて勉強をしていきましょう。

webサイトの仕組みを理解する

webエンジニアとして重要な要素はたくさんありますが、もし未経験の状態からスタートするのであれば、最初は具体的な方法論よりも

『webサイトの全体像を徹底的に把握する』

ことを最優先させてください。

例えばあなたがスマホでネットサーフィンする中で、様々なサイトにアクセスすると思います。

avatar
そのサイトはどのように作られて、どんな構成でテンプレートを構築しているのか?これらを具体的にイメージできるようになり、尚且つ『自分ならこうするかな!』と思えるようになるのが理想です。

最初の段階で必ずHTML/CSSを学ぶことになるのですが、これを理解することで

『webサイトの全体像が少しずつ見えてくる』

ようになります。

私が推奨するやり方としては

最低限HTML/CSSを学ぶ

実際にネット上に出ているサイトをHTML/CSSの知識を持っている状態で見る

サイトを模写して自分でコードを書いてみる

avatar
自分でコードを書くところを特に重要視しておいてください。

最初の段階でこれを繰り返していると、今まで分からなかったことが少しずつ理解できるようになってきます。

ちなみにHTML/CSSはプログラミング言語ではないため、特に難しい思考は必要ありません。

補足

シンプルなルールで作られているものになりますので、一定期間の学習を経れば誰でも理解できるようになりますよ。

1つのプログラミング言語を集中して勉強する

最低限HTML/CSSを理解できれば、基本的なサイトの骨組みは作れるようになります。

これができるようになっただけでも結構楽しくなってくるものです。

avatar
確かに。今まではコードを見てもなんのこっちゃわかりませんでしたからね。
avatar
ちょっとでも理解できるようになると『知りたい!』という欲求が強くなりますよ。

そしてこの次のステップとして

『1つのプログラミング言語を集中的に学ぶ』

ことを始めていきましょう。

HTML/CSSはマークアップ言語と呼ばれており、これはプログラミング言語ではありません。

つまりプログラミングの中では

『基礎の前を学ぶ段階』

になるのです。

HTML/CSSをすっ飛ばしてプログラミング言語を学ぼうとすると、何一つ理解できませんので要注意です。

ここを理解してからようやくプログラミングの世界へと足を踏み込むことになります。

プログラミング言語というのは、世界に500種類以上あると言われていますが、初心者の段階では、まず最初に

『1つの言語に絞って学習する』

ことを重要視してください。

これは後々分かることですが、プログラミング言語を1つ学ぶことができると、その次の言語を学ぶのがかなり楽になります。

avatar
英語をマスターした後に他の言語を学ぶと、同じ要領で学習ができるからスムーズに知識を取り入れられる感覚と一緒です。

あれこれ手を出して万能なプログラマーを目指すのではなく、まず最初に学ぶ言語を1つ決めて、それだけを徹底的に学習していきましょう。

HTML/CSSに動的な動きを組み込めるPHPやJavaScript・JQueryという言語は特におすすめです。

難易度的にはPHPが一番学びやすいかもしれませんね。

webエンジニアを目指すのであれば、親和性の高い言語であるJavaScriptやPHPを学ぶのが一般的な流れになります。

PHPの場合、事前に開発環境を用意する(XAMPPやMAMPなど)必要があるため、テキストエディタだけで言語を扱いたい場合には、JavaScriptが良いかもしれません。

データベースを知る

HTML/CSSを知り、その後にプログラミング言語を1つ学ぶことができたら、この段階である程度の仕事はこなせるようになります。

企業の扱うLP(ランディングページ)やウェブサイトというのは、基本的にHTML/CSSとJQuery(JavaScriptを使いやすくした言語)で作られています。

この段階で一般的には

『プログラムが書ける状態』

になっていますので、早い段階でデータベースの理解を深めていきましょう。

このデータベースというのは

『情報を保存するもの』

のことを指しています。

avatar
データベースって難しそうですね。
avatar
最初はそう思うかもしれませんが、これも結局慣れですよ。
avatar
どんなことができるようになるんですか?
avatar
簡単に言ってしまえば、大量のデータの中からスムーズに情報を取り出せる体制を整えるのようなものですね。

データベースを扱うための言語として挙げられるのが『MySQL』というものです。

この言語を学ぶことによって、自分が扱うデータを安全に、且つ管理することができるため、この先webエンジニアとして活躍するのであれば、間違いなく必要になる知識です。

MySQLについて

MySQLという言語は最初に学ぶものではありませんが、いずれ必ず必要になるスキルになりますので、早い段階で慣れておくようにしましょう。

基本的なフレームワークの使い方を学ぶ

ここまでの流れで学習を進めていけば、すでに仕事ができるレベルのスキルは身についていることになります。

本気のwebアプリを開発するためには、スキルアップや実務経験を経る必要がありますが、それをなるべく簡単にするためのツールとして

『フレームワーク』

を理解しておくと便利です。

このフレームワークというのは、簡単に言ってしまえば

『欲しい機能を最初の段階でまとめてあるもの』

なので、このフレームワーク通りに開発を進めていくと、無駄な時間を使うことなくwebアプリが作れるようになるのです。

avatar
これに関しては、実際にフレームワークを動かしながら学んでいくのが一番です。

PHPであれば

  • CakePHP
  • FuelPHP

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

avatar
そんな便利なものがあるんですね。
avatar
フレームワークが使えるようになると、開発がかなり楽になります。

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

基本さえ学ぶことができれば、あとはどの道に進もうとやることはほとんど変わりません。

言語を学び、分からないところをググりながら進んでいく。
新しい情報を取り入れて、それを自分で使えるようになる。

基本ができればあとは肉付けしていくだけなので、段階さえ踏めればスキルは高めることが可能です。

avatar
基礎がとても重要なんですね。
avatar
そうですね。そこをすっ飛ばすと後々大変になってきます。
avatar
今やるか後でやるかということですか?
avatar
その通りです。ただし後回しにすればするほど自分を苦しめることになってしまいます。

しかしwebエンジニアになる際に

『やってはいけない学習方法』

というものが存在します。

私はど素人の頃、このやってはいけないことをメインで取り入れていました笑。

つまり、学習していた最初の期間はかなり無駄な時間を過ごしたということです。

最初から効率を求めて学習をすること

スキルを身につけるために効率を重視することは大切です。

ただ、ここでお伝えしたいことは

『最初の段階で効率を求めすぎると、重要な内容を理解せずに先に進むことになる』

ということです。

avatar
基礎学習は猛烈に地味です。正直全く面白くありません。

ですがその面白くないことを学ぶことによって、後々面白いことができるようになります。

▼効率に対する考え方

  • 効率というのは、結局数をこなした人が作り出すものであって、初心者が楽をするためのものではありません。
  • ここを勘違いすると泥沼にはまります。

効率を求め続けることによって、重要な内容も

『後で勉強すればいっか!』

と飛ばすことになりますので、これをやってしまうと後々苦しみます。

応用を取り入れる時期に基礎が理解できていないと、その時点で2倍の苦労をすることになりますからね。

目標を定めずに勉強を始めること

これは別の記事でも何度もお伝えしていることですが、重要なことなので覚えておいてください。

何をするにしても、人は

『何かしらの目標がなければ頑張ることは難しい』

ため、最初の段階でプログラミングを学ぶ目標を設定しておきましょう。

例えば全くプログラミングを学んだことがない状態から始めるのであれば

『HTML/CSSを身につける』

という目標でも良いです。

そしてそれを実現したら、次は

『JavaScriptを身につける』

という目標に変えても良いでしょう。

そしてさらにそれも身につければ、次は

『自分のサービスを作ってみる』

ことを目標にしてみるものありです。

avatar
最初に大きな目標をどかっと設定するのではなく、小さな目標を設定し、いずれ達成したい大きな目標に頑張ることが重要なのです。

仮に大きな目標しか持っていない場合、それを実現するまでのロードマップが見えなければ、自然とモチベーションが落ちてしまいます。

▼目標達成の一例

大きな目標:プロ野球選手になりたい!

小さな目標:キャッチボールができるようになる→バッティングができるようになる→試合に出られるようになる→レギュラーになる→ホームランが打てるようになる→スカウトに注目されるようになる

小さな目標を少しずつ乗り越えていくことで、最終的な大きな目標を引き寄せるようなイメージが理想です。

avatar
小さな目標を持っていない場合、ただプロ野球選手に憧れる人で終わる可能性が高いでしょう。

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

自分の人生を振り返ってみると、どんな時も必ず

『教えてくれる人の存在』

があったと思います。

例えば学校に通い始めれば、先生が授業で国語・英語・算数・理解・社会などを教えてくれます。

専門学校に行けば自分の興味のある分野のプロの先生が教えてくれます。

何かを身につけるためには『教わる』ことが必要不可欠なのですが、プログラミングに対しては、多くの人が独学を選択しがちです。

avatar
確かに、大人になってから何かを学ぼうとすると、人に頼ることをしなくなりますね。
avatar
そうなんですよね。ただ、その選択のほとんどは『遠回り』になってしまいます。

もちろん独学で頑張れるのが一番理想ですが、それでも

『全てを一人でこなすのは効率が悪すぎる』

ため、早い段階でコミュニティやスクールを活用することが重要です。

『まずは独学から始める→基礎が身についたからスクールで教わる』

『挫折したくないのでスクールに通う→基礎がわかったので独学で学ぶ』

様々な選択肢がありますが、自分の学習を効率良く進めるためには、やはり教えてくれる人がいる環境に身を置くことが理想です。

まとめ

webエンジニアになることは、これからの時代の流れに乗ることができる選択肢だと私は考えています。

この先の時代は、どう考えてもIT業界が注目されていきます。

avatar
スマホが普及した時点でそう直感した人も多いはずです。

となれば、自然とITのスペシャリストであるプログラマーやエンジニアにスポットライトが当たることになります。

これからの時代で

プログラミングができる人
プログラミングができない人

この2つに分かれた場合、どちらが有利に生きていけるのか?

それを考えると、やはり早い段階で決断をしたほうが良さそうですね。

今この時点でプログラミングに出会えたことに感謝しつつ、私も日々スキルを磨いていきたいと思います。

Pocket