WEBエンジニアに就職するための正しいプログラミングスクールの選び方③【連載】

この記事は古い情報が含まれています。最新の内容はこちらです。

どうも! ウェブマスターです。

今回は、WEBエンジニアに就職するためのプログラミングスクールの選び方【連載】の第3回目ということで、WEBエンジニアに就職するためには何を勉強すれば良いのかというお話をします。

前回は、WEBエンジニアの実際の仕事内容について解説しました↓
WEBエンジニアに就職するための正しいプログラミングスクールの選び方②【連載】

今回は、WEBエンジニアに就職するために必要な学習内容について解説します。

最近は、WEBエンジニアの実務で通用する内容と謳っていながら実務で通用しない趣味レベルの内容を教えているスクールも沢山あるので、そういったところに騙されないためにもWEBエンジニアに就職するために必要な学習内容を知っておくことは大切です。

ということで、今回は、フリーランスのWEBエンジニアでプログラミングスクールの講師でもある私が、WEBエンジニアに就職するために必要な学習内容について解説します。

就職するには開発経験が必要?

SES企業は別として、受託開発企業、もしくは自社開発企業へ就職するためには、WEBアプリケーションの開発経験が必要です。

SES企業、受託開発企業、自社開発企業の違いはこちらの記事で解説しています↓
WEBエンジニアに就職するための正しいプログラミングスクールの選び方①【連載】

開発経験とは、WEBアプリケーションを開発した経験です。

全くの開発未経験者は、「教育コストが高い」、「開発に興味がなさそう」といった理由で書類選考の段階で落とされてしまいます。

私も何度か未経験者の採用選考にエンジニアとして携わったことがありますが、東大や京大などの超高学歴の人以外を除いて、開発未経験者は選考から落としていました。

また、未経験の求人でも応募条件に開発経験が必須と記載されている求人も多いです。

なので、WEBエンジニアとして就職するためには、WEBアプリケーションの開発経験が必要なのです。

しかし、未経験者なのだから開発経験なんてあるはずがないですよね。

じゃあ、どうすれば良いのかというと、「ポートフォリオ」というものを作るのです。

ポートフォリオ?

「ポートフォリオ」とは、クリエイターが実績をアピールするための作品集のことです。
WEBエンジニアの場合は、自分が開発したWEBアプリケーションの作品集になります。

業界未経験者であってもポートフォリオ(自分が開発したWEBアプリケーションの作品集)を作ることで、開発経験を客観的に証明することが出来ます。

ポートフォリオがあれば、業界未経験でもエンジニアとして採用されます。

私がフリーターからWEBエンジニアになるときも、ゼロからWEBプログラミングを学習してポートフォリオを制作しました。

当時私が制作したのは、学習した内容を可視化するアプリでした。

学習日記を投稿すると、何をどれだけ学習したかを後からグラフで確認できるアプリです。

時間管理で有名な「Toggle」のようなアプリです。

ポートフォリオを制作したおかげで、「このアプリ面白いね!」、「ここはどんな風に作ってるの?」など、面接の場が大いに盛り上がった結果、複数の自社開発企業様から採用頂けました。

ポートフォリオを制作すれば、業界未経験でも採用されるのです。

学習が必要な技術

ポートフォリオを制作するためには、ゼロからWEBアプリケーションを開発するための技術が必要です。

以下は、ゼロからWEBアプリケーションを開発するために必要な技術です。

・HTML言語(クライアントサイドプログラム)
・CSS言語(クライアントサイドプログラム)
・JavaScript言語(クライアントサイドプログラム)
・Ruby, PHP, Python, Java(サーバーサイドプログラム)
・WEBサーバー
・インターネット
・データベース

WEBエンジニアへ就職するためには、これらのスキルを学習する必要があります。

クライアントサイドプログラム

クライアントサイドプログラムは、WEBアプリケーションの画面(ユーザーが操作する部分)を作成するためのプログラムです。

クライアントサイドプログラムは、「HTML言語」、「CSS言語」、「JavaScript言語」の3つの言語を用いて開発します。

HTML言語とCSS言語

「HTML(エイチティーエムエル)言語」と「CSS(シーエスエス)言語」は、WEBアプリケーションの画面の表示を担当します。

普段私たちが何気なく見ている、WEBページの表示部分は、「HTML言語」と「CSS言語」で作られています。

 JavaScript言語

「JavaScript(ジャバスクリプト)言語」は、WEBアプリケーションの画面の動きを担当します。

画像をクリックした時に「ポップアップメニュー」を表示するなど、画面に動きを付けるのに「JavaScript言語」が使用されます。

サーバーサイドプログラム

サーバーサイドプログラムは、WEBアプリケーションのデータを処理するためのプログラムです。

例えば、「Amazon」のサイトで、電子書籍の商品画面から「注文ボタン」を押すと、自動的にカードの決済が行われ、注文した電子書籍が見れるようになります。

これはユーザーが「注文ボタン」を押したときに、ユーザーからは見えないところで、プログラムが動いてデータの処理をしているからです。

「カードの決済処理」や「電子書籍を見れるようにする」などのデータ処理のプログラムは、インターネット上にあるサーバーという場所で動作します。

サーバーで動作するプログラムなのでサーバーサイドプログラムと呼ばれているのです。

サーバーサイドプログラムは、「Ruby(ルビー)言語」、「PHP(ピーエイチピー)言語」、「Python(パイソン)言語」、「Java(ジャバ)言語」などを用いて開発します。

WEBサーバー

WEBサーバーは、ユーザーから送られたデータを受け取ったり、ユーザーへデータを送ったりする役割を持っています。

WEBアプリケーションを開発するためには、WEBサーバーについての知識も必要です。

インターネット

世界中のパソコンやスマホ、サーバーの間でデータのやりとりができるのは、インターネットという仕組みがあるからです。

WEBアプリケーションを開発するためには、インターネットの基礎知識も知っている必要があります。

データベース

「Amazon」などのECサイトでは、自分が今までに注文した商品の履歴を見ることができますが、なぜ注文履歴が見れるのでしょうか?

それは、ユーザーが商品を注文した時に、その注文データを保存しているからです。

そして、WEBアプリケーションのデータは、「データベース」と呼ばれるデータを管理するための専用のソフトウェアで管理されています。

データベースの知識は、WEBアプリケーションを開発するためには必須の知識になります。

学習範囲は幅広い

ゼロからWEBアプリケーションを開発するためには、

クライアントサイドプログラムを作るための「HTML言語」と「CSS言語」と「JavaScript言語」、

サーバーサイドプログラムを作るために、「Ruby言語」、「PHP言語」、「Python言語」、「Java言語」の内いずれか1つの言語

WEBサーバー」、「インターネット」、「データベース

の学習が必要です。

学習期間の目安は半年間

0からプログラミングを学習して、ポートフォリオを完成させるまで、一般的に500時間程度の時間が必要だと言われています。

実際に、私がプログラミング未経験からポートフォリオを完成させるまでに掛かった時間は、480時間でした。

働きながら学習した場合、1週間で勉強できる時間は、平日1時間、土日で15時間ぐらいなので、合わせて20時間程度でしょうか。

週に20時間の学習をした場合、

500 ÷ 20 = 25週間(約6カ月間)

約6カ月間(半年間)の学習期間が必要になります。

1週間の学習時間を10時間にした場合は、学習期間は1年となります。

まとめ

今回は、WEBエンジニアに就職するためには何を勉強すれば良いのかというお話をしました。

今回の内容をまとめると、

未経験から受託開発企業、もしくは自社開発企業へ就職するためには開発経験が必要。
未経験者が開発経験を客観的に証明するためにはポートフォリオが必要。
ポートフォリオとは、クリエイターが実績をアピールするための作品集のこと。
(WEBエンジニアの場合は、自分が開発したWEBアプリケーションの作品集)
ポートフォリオを制作するためには、ゼロからWEBアプリケーションを開発するための技術が必要。
ゼロからWEBアプリケーションを開発するために必要な技術↓
・HTML言語(クライアントサイドプログラム)
・CSS言語(クライアントサイドプログラム)
・JavaScript言語(クライアントサイドプログラム)
・Ruby, PHP, Python, Java(サーバーサイドプログラム)
・WEBサーバー
・インターネット
・データベース

※ サーバーサイドプログラムはいずれか1つの言語を学習すれば良い。

0からプログラミングを学習して、ポートフォリオを完成させるまで、一般的に500時間程度の時間が必要。

となります。

WEBエンジニアへ就職するためのプログラミングスクールを選ぶ際には、そのプログラミングスクールが上記の内容を満たしているかをチェックしてみると良いですね。