【第5回】独学でWEBエンジニアになるための学習の全体像を把握しよう!

この記事は古い情報が含まれています。他の記事を参考にしてください。

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

この記事は、 「【連載】完全未経験から6カ月間でWEBエンジニアへ転職しよう! 」の第5回目です。

前回の記事はコチラです↓
【第4回】WEBエンジニアになるための学習の準備をしよう!

前回は、プログラミング完全未経験者がWEBエンジニアになるためには、480時間、働きながらだと約半年の学習期間が必要だということ、

学習方法には、プログラミングスクールへ通って学習する方法と独学で学習する方法があり、それぞれのメリットとデメリットをお伝えしました。

今回からは、独学で学習する場合の勉強方法についてのお話をしていきます。

現役のWEBエンジニアでプログラミングスクールの講師でもある私が、市販の教材(書籍)を使って効率よくWEBエンジニアとしてのスキルを身に付けるためのカリキュラム(学習のロードマップ)を作成しました。

今回は、そのカリキュラムの全体像を説明します。

学習目標

当カリキュラムの学習目標は、

自分1人でオリジナルのWEBアプリケーションを作成し、作成したWEBアプリケーションを一般公開すること

です。

WEBページを作成するための基本となる「HTML言語」というものから学び始め、最終的には、自分で考えたオリジナルのWEBアプリケーションを作成し、作成したWEBアプリケーションをクラウドサービス(AWS)というものを利用して一般公開します。

学習期間

当カリキュラムの学習時間の目安は、480時間です。

働きながら学習することを想定し、勉強できる時間は、平日1時間、土日で15時間ぐらいだとすると、 1週間に20時間程度になるでしょう。

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

480 ÷ 20 = 24週間(約6カ月間)

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

もちろん、1週間の学習時間は、あなたの都合にあわせて変えて頂いて構いません。

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

学習の進め方

次回の記事から、1つの記事に1冊の書籍を紹介していきます。

紹介した書籍を順番に学習していくことで、WEBアプリケーションを作成するスキルが身に付くように構成しています。

各記事には、それぞれ、その書籍で学習する際の「注意点(効率よく学習するためのアドバイス)」と「学習時間の目安」を記載していますので、そちらをお読みになってから学習を始めてください。

また、各記事には、それぞれ、理解度をより深めるための練習問題を用意しています。書籍での学習を終えた後に、練習問題に取り組んでください。

学習を進める中で、躓いてしまい、どうしても前に進めない場合は、対象の記事へコメントして頂ければ、私の時間が許す限りで回答させて頂きます。

※ 皆さん同じような箇所で躓くと思いますので、他の人の参考にも出来るように、質問への回答は対象の記事内に追記させていただきます。

ポートフォリオ制作

こちらで紹介している全ての書籍の学習を終えた方は、ポートフォリオ制作に取り組んでください。

ポートフォリオ制作では、オリジナルのWEBアプリケーションの企画~設計、開発、そして、一般公開する方法までを教えていきます。

学習する技術

当カリキュラムで学習する代表的な技術を見てみましょう。

今の段階では、

こんなものをこれから学習していくんだなぁ~

程度で流し読んで頂くと良いです。

① 画面の表示を担当する技術

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

普段私たちが何気なく見ている、WEBページの表示部分は、「HTML(エイチティーエムエル)」と「CSS(シーエスエス)」と呼ばれるコンピューター言語で作られています。

「HTML」と「CSS」

② 画面の動きを担当する技術

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

画像をクリックした時に「ポップアップメニュー」を表示するなど、画面に動きを付けるために使用されるのが「JavaScript(ジャバスクリプト)」と呼ばれるコンピューター言語です。

「JavaScript」

③ データ処理を担当する技術

WEBアプリケーションのデータ処理を担当する「Python(パイソン)」を学習します。

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

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

このように、ユーザーの見えないところで、「カードの決済処理」や「電子書籍を見れるようにする」などのデータ処理を担当するのが「Python(パイソン)」と呼ばれるコンピューター言語です。

Python

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

このようにサーバーで動作するプログラムをサーバーサイドプログラムと呼びます。

サーバーサイドプログラムに使用されているコンピューター言語は、「Python言語」以外にも「Ruby(ルビー)言語」や「PHP(ピーエイチピー)言語」、「Java(言語)」などがあります。

④ 通信を担当する技術

WEBアプリケーションの通信を担当する「HTTP(エイチティーティーピー)」と「WEBサーバー」を学習します。

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

データの処理がインターネット上にあるサーバーという場所で動作するということは、データを「ユーザー」と「サーバー」の間でやりとりする必要があります。

WEBアプリケーションでは、「ユーザー」と「サーバー」の間でのデータのやりとりを、「HTTP(エイチティーティーピー)」という通信方式と「WEBサーバー」というソフトウェアを使用して行っています。

⑤ データ管理を担当する技術

WEBアプリケーションのデータ管理を担当する「データベース」を学習します。

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

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

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

本格的なWEBエンジニアのスキルが身に付く

当カリキュラムでは、WEBアプリケーションを作成するために必要な技術を一通り学習します。

また、ここで紹介した技術以外にも、実際の開発現場で利用されているツールや開発手法についても学習するので、当カリキュラムの通りに学習することで、本格的なWEBエンジニアのスキルを身に付けることが出来ます。

まとめ

今回は、独学でWEBエンジニアになるための学習方法(カリキュラム)の全体像を説明しました。

次回からは、いよいよ実際に学習を始めていきます。