Webプログラマーを目指すと言っておきながら,最近その方面の記事をちっとも書いていなかったので,今回はWeb関連の話にします。
管理人も,現段階でWeb業界の全体像について語れるほどの知識があるとは言い難いのですが,少なくとも何も分からなかった頃に比べれば,Web業界がどういうものかということについて,全体像が何となく見えるようになってきました。
この記事では,これからWeb業界を目指してみようという人向けに,管理人がこれまで把握している範囲内で,Web業界に関する基礎知識を,出来る限り簡潔にまとめてみたいと思います。
1 HTMLとCSS,Javascriptとは
Web関連の専門職に就こうとする場合,まず必要になるのがHTML,CSS,そしてJavascriptといった,Webサイト作成に必要な技術に関する知識です。これらは一体,どういうものなのでしょうか。
(1)HTMLとは
HTMLとは,Hyper Text Markup Languageの略で,インターネット上で公開されるWebサイトの基本構造は, このHTMLドキュメントによって記述することになります。なお,一般には「ホームページ」と呼ばれることも多いですが,『ホームページ』とは本来Webサイトの最初に表示されるページ(トップページ)のみを指す用語であり,Web上で見られるページ全体を指す用語としては,ウェブページの方が適切です。
最近は,このブログサービスなどを含め,HTMLに関する知識が特に無くても,自分が書きたいことをWeb上に掲載できる様々なサービスが普及しており,また出来合いのテンプレートで自分用のWebサイトを作ることができるサービスも普及していますが,これらのサービスは独自のソフトウェアにより,ユーザーが入力した情報を自動的にHTMLなどの言語に変換してくれるものです。
Web業界でプロと呼ばれるようになるためには,こうした出来合いのサービスで自分用のWebサイトを作れるだけではもちろん足りず,そうしたサービスに頼らず,一からオリジナルのWebサイトを構築したり,その保守・運用をしたり,あるいは素人向けのWebサービスを構築したりすることのできるスキルが必要になります。そうしたスキルのうち,最も基本となるのがHTMLです。
実際に使われているHTMLが,どのようなものか知りたい方は,お好きなWebサイトを開いた上で,右クリックして『ページのソースを表示』を選択してみてください。そこに表示されているものが,そのWebページを記述しているHTMLドキュメントです(ただし,HTMLドキュメントを表示する方法は,お使いのパソコン等によって異なる可能性があります)。
例えば,このアメーバブログのトップページについて,今管理人が『ページのソースを表示』を選択したところ,次のようなHTMLドキュメントが表示されました。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1180">
<meta name="referrer" content="unsafe-url">
<meta name="description" content="Ameba(アメーバ)を利用している芸能人・有名人のブログを見ることができます。俳優・女優・グラビア・アイドル・お笑い芸人・スポーツ選手など、幅広い有名人がブログを開設中です。">
<title>Ameba(アメーバ) | 芸能人・有名人ブログ</title>
<meta property="og:title" content="Ameba(アメーバ) | 芸能人・有名人ブログ" />
<meta property="og:description" content="Ameba(アメーバ)を利用している芸能人・有名人のブログを見ることができます。俳優・女優・グラビア・アイドル・お笑い芸人・スポーツ選手など、幅広い有名人がブログを開設中です。" />
<meta property="og:type" content="website" />
(以下略)
この記事は,Webに関する専門知識そのものに立ち入る趣旨ではないので,上記の各記述にどのような意味があるかといった解説はしませんが,HTMLに関する勉強をするということは,こうしたHTML言語の意味が分かり,自分でもこうしたHTML言語を書けるようにするための勉強をする,ということです。
なお,HTML言語には様々なバージョンがありますが,その点については以前の記事で書きましたので,ここでは省略します。
(2)CSSとは
CSSとは,Cascading Style Sheetの略で,Webページの見栄えを定義するための言語です。一般的には,単に『スタイルシート』と呼んでも,特に差し支えないと思われます。
CSSでは,Web上に表示されるテキストの書体や色など,Webページの見栄えに関する様々な要素を定めることになります。こうした要素を,HTMLドキュメントの中で定めることも不可能というわけではありませんが,こうした要素のすべてをHTMLで記述してしまうと,HTMLの記述量が膨大なものとなり,Webサイトの管理が難しくなるなどといった理由から,通常はHTMLと別建てで,各WebページのCSSドキュメントを作成し,Webページの基本構造を定めたHTMLドキュメントとリンクさせることになります。
そんなわけで,実際にWebサイトを作成するには,HTMLのみならずCSSの知識も必須であり,現在のところはHTMLとCSSを使いこなす知識と技能が,Web業界で活躍するにあたり最低限必要な,基本的スキルということになります。
HTMLと同様,CSSにもいくつかのバージョンがあり,現時点におけるCSSの最新バージョンは,CSS3と呼ばれているものです。ただし,CSS3は,従来のCSSより機能が増えて便利になったというだけで,従来バージョンのCSS(CSS2.1など)から抜本的に変わったというわけではありません。
(3)Javascriptとは
Javascriptは,ユーザーの操作に応じてWeb上の文字や画像を動かすなど,Webサイトにより高度な機能を持たせるためのプログラミング言語です。単に,テキストと画像データを表示するだけのWebサイトであれば,HTMLとCSSの技術だけで作成できますが,文字や画像が動くWebサイトを作ったり,Web上で商品やサービスの注文などを受け付けたりするサイトを作ったりするには,Javascriptを使いこなすための知識や技能も不可欠になります。
Javascriptについては,CSSと同様HTMLドキュメントの内部に記述することもできますが,特に大きなプログラムを作る場合などには,HTMLとは別の外部ファイルとして記述し,HTMLドキュメントとリンクさせる方法が採られます。Javascriptは,HTMLやCSSとは異なる組織で策定及び標準化がなされたためか,記述に関するルールがHTMLやCSSとはだいぶ異なります。
なお,著名なプログラミング言語として,Java言語というプログラミング言語の名前を聞いたことのある人も少なくないかと思われますが,Java言語とJavascriptは,全く異なるものです。Javaは,1995年にサン・マイクロシステムズ(現:オラクル)が開発したプログラミング言語であり,その用途はWeb上のサービスやアプリにとどまらず,スマホアプリやパソコン用のアプリ,さらには家電製品や自動車用品に組み込まれるプログラムの開発など,様々な用途に使用されていますが,Javascriptは,Webサイトに特別な機能を持たせることを目的として,Javaとは別途に開発されたプログラミング言語です。
Javascriptは,ネットスケープコミュニケーションズの,ブレンダン・アイクという人物が開発したものであり,ネットスケープはJavaを開発したサン・マイクロシステムズと業務提携していたこともあり,最終的にJavascriptと呼ばれるようになったのですが,両者は別途に開発が進められているため,Java言語を使えるなら当然にJavascriptも使いこなせるというわけではなく,その逆も然りです。
ただし,両者とも著名なプログラミング言語の一種であり,オブジェクト指向といった共通の特徴もあるため,両者の間にはある程度共通点や類似点があるかも知れませんが,これはJavaとJavascriptの両方を学んだ人でなければ分からないことであり,今の管理人には残念ながら,この点についてコメントする能力はまだありません。
2 企業におけるWebサイトの制作過程
それでは,実際に企業が自社のWebサイトを制作するとき,具体的にどのような過程を経る必要があるのか,HTMLなどの専門知識を有しない人にでも理解できる範囲内で説明します。もっとも,実際の作成過程は案件によって様々であり,ここで述べるのは,あくまで一般論として云われている範囲内のことに留まり,また専門家でなければ理解できない用語や詳しいプロセスには触れていませんので,具体的な過程をイメージするための参考程度と考えてください。
(1) Webサイトの企画・立案
企業がWebサイトを作る場合,Webビジネスを業務の中核に据えているIT企業であれば,自社スタッフだけでWebサイトを制作できるところもあるでしょうし,そうでない企業の場合には,制作会社に自社サイトの制作を依頼することが多いでしょう。
しかし,いずれの場合でも,Webサイトはただ作れば良いというものではなく,サイトの作成目的を明確にし,その目的に適合したサイトを制作する必要があります。特に,以下のような点に注意する必要があります。
① サイトの目的
企業がWebサイトを制作する必要性やその目的は,企業ごとの事情により大きく異なります。単なる自社や自社の商品・サービスに関する情報提供を目的とする場合もあれば,ウェブ上で商品やサービスの販売やその予約等を受け付け顧客数を増やしたい場合もあるでしょうし,自社の求人に応募する人を増やしたい場合もあるでしょうし,また顧客向けのサイトと自社内のプログラムをリンクさせ,業務の効率化を図りたい場合もあるでしょう。
そうした目的に応じて,制作すべきサイトの内容や必要な機能,予算等は大きく変わることになります。
② 解決すべき課題
設立されたばかりの企業や零細企業,個人事業者等であればともかく,普通の企業であれば,これまでWebサイトを一度も作ったことの無い企業などは,今時ほとんどないでしょう。既にWebサイトを作っている企業の場合,既存のサイトにどのような問題点があり,どのような解決を図る必要があるのかを明らかにしておく必要があります。
③ 主要なターゲット
Webサイトを制作する場合,そのサイトを主に見ることが想定される,主な年齢層や男女の別などを明らかにしておく必要があります。例えば,若者向け,中高年者向け,男性向け,女性向けでは,当然デザイン等の好みも異なりますので,主要なターゲットに適合したデザインを考案する必要があります。
④ サイト構成
①~③のような事情を踏まえ,具体的なサイト構成を考えます。サイトに必要な情報を洗い出し,それらの情報の論理構造を考えた上で,ユーザーが使いやすいページ構成にする必要があります。例えば,商品販売を主な目的とするサイトなのに,肝心の商品に関する情報がどこに載っているのか分かりにくい,Web上で商品を注文する方法が分かりにくいサイトを作ってしまっては,それだけで多くの顧客が逃げてしまい,企業の売り上げや収益を大きく減少させることになります。いくら専門的な知識や技術があっても,ユーザー目線に立ったサイト構成を考えられないようでは,Webの専門家としては失格です。
なお,ここでは簡潔に書いていますが,実際の企画・立案にあたっては,サイトの作成依頼に関する契約やその交渉等を含め,かなり長いフローが必要となり,Webサイトの制作会社には,この過程を担当するWebプロデューサーと呼ばれる専門の職種もいたりします。
(2) デザインの作成
(1)の結果を踏まえて,サイトのレイアウトを決定し,それをもとにサイトのワイヤーフレームを作成します。ワイヤーフレームとは,簡単に言えばサイトの設計図ないし模型のようなもので,サイトのどこにどのような画像や文章を載せ,どのようなページに移動できる機能を付けるかといった事項を記載します。実務上は,Microsoft PowerpointやAdobe Illustratorなどを使用することが多いようですが,手書きでも特に差し支えない作業です。
ワイヤーフレームが完成したら,それを基にサイトのデザインカンプを作成します。デザインカンプとは,Webサイトで実際に表示される画像を描くものであり,デザインカンプの作成には,IllustratorやPhotoshopなどのソフトを使用するため,この段階ではこれらのソフトに関する知識や技能が不可欠となります。
デザインカンプが完成したら,そのうち画像として保存する必要のある部分を切り抜き,それぞれ画像ファイルとして保存します。
(3) コーディング
デザインカンプが完成し,必要な画像の切り抜きが終わったら,前述したHTML,CSS,Javascript等を使って,実際にWebサイトをブラウザ上で表示できるようにするための作業を行います。この作業をコーディングと呼びます。コーディングは,いわばWebサイトの組み立てとでも言うべき作業であり,前述したHTMLなどの知識や技能は,この段階で必要になります。
コーディングの作業は主に3段階に分かれており,誤解を恐れず単純化して言えば,HTMLでサイトの基本的な構造を定義し,CSSでサイトの見た目を定義し,Javascriptで動きなどの機能を定義することになります。さらに,Webを利用した高度な機能を使用する場合には,そのためのプログラミングといった作業も別途必要になります。
なお,ユーザーの使用するブラウザは,最新のものから古いものまで様々であるため,見た目を美しくするため最新仕様のブラウザを基準にサイトを設計する場合には,古いブラウザを使用しているユーザーにはどのように対応するかといったことも決定する必要があります。そのため,新しいブラウザの開発状況や普及状況,最新のブラウザに対応した新しい機能の開発状況や普及状況等に関する,日頃の情報収集なども欠かすことはできません。
3 Web業界における主な職種
⑥ システムエンジニア
クライアントの要望に合わせたシステムを構築する職種です。各種のエンジニアをまとめて指揮監督することも多く,幅広い知識に加え,コミュニケーション能力も必要になります。
⑦ Webプロデューサー
Web制作に関するクライアントからの要望を聴き取り,その要望をWeb上で実現する,制作プロジェクトの統括責任者です。幅広い知識に加え,交渉力も必要になります。
⑧ Webディレクター
Web制作プロジェクトにおいて,制作スタッフの指揮監督(ディレクション)を行う責任者です。制作チームのリーダーとして,サイト制作の進捗管理を行うことになります。システムエンジニアと同様,幅広い関連知識に加え,コミュニケーション能力も必要になります。
4 Web技術を学ぶべきか,迷っている人へ
Web技術を学んでいれば確実に就職できるというわけではありませんが,学んでいた方が確実に有利です。少なくとも,英語を学びTOEICで高い点数を取ることを目指している人などに比べれば,WordやExcelに加え,Webやプログラミング言語の基本的知識を学んでいる人の方が,就職にあたっては圧倒的に有利と言えます。英語さえ得意なら就職できるなどというのは,もはや過去の話ですからね。
ただし,Web関連の仕事にも色々ありますから,やみくもにWeb技術を学べば良いというわけではなく,自分の適性なども考えた上で,自分はなぜこの技術を勉強しているのか,面接で質問されたらきちんと説明できるようにしておきましょう。
・文系出身でも,Web技術を学ぶのに支障は無いか?
支障はありません。WebやIT関連の仕事は,理系というイメージが強いようですが,HTMLやCSS,Javascriptやその他のプログラミング言語を学習するにあたり,理系科目である数学,物理,化学などの知識は特に必要とされませんので,文系出身でも何ら問題はありません。
IT関係で使用されるのは英語ですが,単語の意味さえ分かれば十分であり,例え知らなかった単語であっても学習中に意味を覚えればよいので,特に英語が得意である必要もありません。・・・もっとも,英語が大の苦手で,中学レベルの英語さえろくに読めないという人には,さすがにお勧めは出来ませんが。
その一方,Web関連の技術は,1文字でも打ち間違えると正常に機能しないという世界であるため,作業には高度な正確性が要求されますが,1文字単位で高度な正確性が要求されるのは文系の法律学も同様であり,典型的な文系科目である法律学との親和性は,意外に高いのではないかと思われます。
もちろん,Web業界にも様々な法律問題が絡んできますので,法律の知識とWebスキルの両方を持っている人材は,IT業界では結構重宝されるのではないでしょうか。
・40代以降でも,Web技術を学べるか?
Web技術を学び始める人は,やはり20代から30代くらいの年齢層が比較的多いですが,40代になってから学び始める人もいます。前述のとおり,Webスキルを持ったIT人材は人手不足であり,若い人だけでは到底足りません。中には,60代になってからWeb技術を学び,現場の第一線で活躍されている方もおられるそうなので,40代以降の中高年層でも,十分な知力と学ぶ意欲を持っていれば,これからWeb技術を学んで,Web業界の第一線で活躍できる余地は十分にあると思われます。
・Web技術を学んで就職に活かすには,どのような資格を取得すれば良いか?
Web業界を含むIT業界では,様々な資格が乱立しており,どの資格を取るのが良いか断言するのは難しいのですが,初心者向けの資格としては,まずWebクリエイター能力認定試験にチャレンジするのが良いと思われます。この資格は民間資格ですが,Web業界で働くのに必要な実技スキルを重視しているため,Web業界で働く能力の証明には役立つと思います。その他,Webデザイナーを目指している人は,国家資格であるWebデザイン技能検定3級にチャレンジするのが,比較的無難な選択ではないかと思われます。
ただし,Web業界で就職するにあたり,これらの資格が必要不可欠というわけではなく,むしろ就職にあたり必要とされるのは,現場で即戦力となり得る実践的なスキルです。例えば,オリジナルのWebサイトをいくつか作って,それを能力の証明としてWeb業界で就職活動をされている方も結構おられるようです。
・Web技術を学ぶには,専門学校で講座を受講する必要があるか? 独学でも大丈夫か?
判断が難しいところなのですが,経済的に可能であれば,専門学校で講座を受けた方が無難ではないかと思われます。
資格にも色々なものがあり,例えば司法試験や司法試験予備試験については,独学で勉強しようとすると間違った方向で勉強を進めてしまう危険性が非常に高く,きちんと予備校で勉強すれば2~3年で合格できるであろう能力の持ち主が,独学だと10年以上かかっても合格できないなどということもざらにあるのですが,IT関係の入門的な資格にそこまで癖の強いものは無く,十分な学力と意欲のある人であれば,これらの資格を独学で取得することも,決して不可能ではないでしょう。
しかし,IT業界への就職や転職を目指すには,単に資格を取ればよいというわけではなく,そうした業界で評価してもらえるテクニックを身に付ける必要があり,IT関係の専門学校の中には,求人情報の紹介や就職活動に向けた指導などを行ってくれるところもあります。就職活動に必要な具体的ノウハウを独学で身に付けるのは難しいので,可能であればそうした学校を利用した方が無難と言えます。
もっとも,そうした専門学校の学費は,クレジットの分割払いも利用できますが,正直なところ結構高いです。管理人が通っているのはインターネット・アカデミーですが,WEBプログラマーコースを受講したところ,3年間の分割払いながら,数十万円単位の学費が掛かってしまいました。地方在住で近くに通学できる専門学校がない,大学生だけど奨学金の借金を抱えておりこれ以上借金はできないといった事情を抱えている人も当然いるでしょう。
そういう場合は,Web業界に関しある程度詳しい情報が載っているサイトもありますので,そうしたサイトの情報を最大限に利用すれば,独学やネット上の無料講座だけでも,ある程度のスキルやノウハウを身に付けることが不可能とまでは言えません。
独学でWeb業界やその他のIT業界を目指すのは,決して簡単なことではありませんが,専門学校に通えないという理由だけで,必ずしも諦める必要はないと思われます。