IT業界には色々な職種があります。
WEBデザイナー
プログラマー
SE(システムエンジニア)
フロントエンドエンジニア
バックエンドエンジニア
サーバーサイドエンジニア
PM(プロジェクトマネージャー)
ディレクターなど。など。
何がどう違うのか、それぞれどんな仕事をするのかを紹介していきます。
目次
HP(ホームページ)、WEBサービス、WEBシステムって何?
と、その前にWEBサービスってなんなのか説明しておきます。
HPはみなさんご存知ですね。今見ているこのブログもHPです。
HPはWEB(インターネット)上にある閲覧できるもの全てを言います。
なので、このブログもHPだし、会社のHPもHP、楽天市場やYahooなどもHPです。
そういったHPの中でも、WEB上で何かしらのサービスを提供してお金を得ているHPのことをWEBサービスと呼びます。
楽天市場はネット上で商品を売るというサービスを提供していますし、食べログはお店を紹介するサービスです。
ただし、ただの会社のHPやブログはそのHP上でサービスを提供しているわけではないのでWEBサービスではありません。
美容室や飲食店などお店のHPや地域のサッカークラブのHPといったものは基本的にネット上で何かサービスを提供しているわけではなく、単なる「読み物」ですよね。
美容室や店舗であれば、予約システムなんかもある場合があるので、その場合はもうちょっとシステム寄りにはなりますが、大半はそうではありません。
こういったHPを作ることを「HP制作」または「WEB制作」と呼び、そういった会社のことをHP制作会社、WEB制作会社と言います。
それとは違い、WEBサービスは一般的な個人が趣味で作れる程度のHPとは違い、高度なプログラミングスキルが必要なものになっています。
ウェブ上にあるシステムなので、WEBシステムとも呼ばれています。
ちなみにWEBアプリケーションとも呼ぶので、どれも同じものだと思っておけば大丈夫です。
こういったシステマチックなものを作ることを「WEB開発」といい、同じプログラミングではあっても高度なレベルになっていきます。
web制作レベルのスキルはつけるのがweb開発レベルよりは簡単なため、仕事として考えた場合に競合人材もとても多くなるのでその分営業能力で仕事にありつけるか決まっていきますね。(デザインを抜きにすれば、小学生でも今はHPが作れてしまいますから)
そのため、「HPが作れる」という人でもweb制作レベルなのか、web開発レベルの人なのかは要注意です。
では、こういったHPが出来るまでにどんな人達が関わっているのか知っておきましょう。
IT業界と建築業界
IT業界は建築業界ととてもよく似ています。
建築業界では、
建築士が建物の構造などを考えて図面をおこす
インテリアなどデザイナーが外装や内装を考える
大工が実際にその図面を元に建築する
それを監督する現場監督
という感じですね。
IT業界も同じで、
システムエンジニアがシステム内部の設計図を考え、
Webデザイナーが外見のデザインを考え、
プログラマーが実際にその設計図を元に外見と中身を作っていき、
それを監督するのがPM(プロジェクトマネージャー)
となります。
では、それぞれの役割を細かく見てみましょう。
WEBデザイナー
色々な業界に色々なデザイナーがいますよね。
広告ポスターやチラシなど紙媒体のデザインをするDTPデザイナーや洋服をデザインする服飾デザイナーなど。
同じようにWEBサービスやWEBシステムなどHP(ホームページ)をデザインする人をWEBデザイナーといいます。
三流のWebデザイナーは単に見た目が良いだけのデザインを作りがち(私は(色を塗るだけしか出来ない人という意味を込めて、そういう人を裏では「ペインター」と呼んでいます)なんですが、ボタンをどこに置いたら使いやすいか、見やすいかなど売り上げを上げるためのデザインを本来は考える必要があります。
WEBデザイナーのことをIT業界では、単にデザイナーといいます。
SE(システムエンジニア)
システムエンジニアは建築業界でいうところの建築士の役割です。
建築士は建物の構造などを考えて図面をおこしますね。
同じようにシステムエンジニアは一つのWEBシステムをどう作っていくかの図面を作るのが役割になります。
システムエンジニアはプログラマーのようにプログラムを組める人もいれば、実際にプログラムは組めず図面だけ作れるという人もいます。
作る図面は複数あり、要件定義書や外部設計書、内部設計書、テーブル定義書など色々あり、言葉の言い回しなど誰が読んでも誤った誤解を生まないよう書くための文章力も求められます。
プログラマー
実際に図面からプログラムを組むのがプログラマーです。
建築でいうところの実際に手を動かして作る「大工」にあたります。
作っていくものは外見と内部の2種類があり、それぞれ作る人が分かれている場合が多いです。(建築でも、骨組みを作る人と内装や外のタイルなどを作る人は分かれています)
IT業界では、外見を作る人をフロントエンドエンジニア、内部を作る人をバックエンドエンジニアといいます。
フロントエンドエンジニア
フロントエンドとかFE(エフイー)と略して読んだりもしますが、扱うプログラミング言語は
HTML言語、CSS言語、JavaScript言語、jQuery言語(厳密には言語ではないですが初学者の方は言語だと思っておけば大丈夫です)
と決まっています。
この言語を使ってサイトの「ユーザーが見ている見た目」部分を作っていきます。なので、大工でいうところの外観(サイディングや外構といった建物の見た目部分)を作る専門の職人さんですね。
また、最近ではJavascript言語もかなり高度でシステマチックなものになっていて、そこまで扱える人のことをフロントエンドエンジニアと呼び、さきほどお話しした「web制作」レベルの人達を「コーダー」と業界では呼ばれるようになってきています。(一色担にフロントエンドと呼ぶ人もいるので、これも「どこまでのレベル出来るのか?」で全然報酬が違ってきてしまいます)
バックエンドエンジニア(サーバーサイドエンジニア)
バックエンドとかサーバーサイド、SS(えすえす)と略して呼んだりします。
システムの裏側を作る専門の人のことで、大工でいう基礎部分を作る人達になります。
扱う言語は
PHP言語、Ruby言語、Java言語、Go言語
などなど現場によって違い、他にも色々な言語があります。
フロントとサーバーの両方出来る人は少なく希少です。
また、最近のWeb業界では、設計も自分で行うなどシステムエンジニアの役割も担っていることがほとんどです。
ウェブカツでは、フロントエンドをメインとしてサーバーまで幅広く出来るようになりますが、一つのwebサービスを設計して作れる力がつくため、この「システムエンジニア」までの力をつけることができます。
PM(プロジェクトマネージャー)
プロジェクトマネージャーの役割はみんなのマネジメントです。
プロジェクトが円滑に進むように日々現状を確認して周り、システム開発を依頼しているお客さんなどと打ち合わせをしたりといったコミュニケーション力や折衝力が求められます。また、状況を把握するには最低限のシステムの知識も必要になります。
ディレクター
小さいWeb制作会社ではプロジェクトマネージャーはいなくてディレクターだけがいるということもあります。
その場合、ディレクターもマネジメントをしますが、PMがいる場合はPMの補佐的な役割をします。
また、施策といってWebサービスの売り上げを上げるために分析をして企画、案出しをしたりもするので、企画力やマーケティング力も必要になります。
データベースエンジニア
データベースエンジニアはデータベースの事に特化したエンジニアです。
データベースに関してはウェブカツでもやっていますが、ざっくり言うと内部のシステムの中でもユーザーの情報を保存しておけるソフトのことです。
基本的にデータベースのことは、サーバーサイドエンジニアが担当している事が多いですが、大量のデータを効率的に保存しておくためにはかなり専門的な知識が必要になるため、大手の大規模サービスでは、専門のデータベースエンジニアを雇っていることがほとんどです。
インフラエンジニア
インフラエンジニアは、システムを置いておくパソコン本体やネットワーク回線のケーブルなどシステムを作って運用していく基盤を管理していく専門家です。
システムを置いているサーバーのCPUやメモリが足りているかを監視していたり、そのWebサービスを作るんだったらこのメーカーのサーバーがいいなどの作る以前の機器の選定を行ったりします。
インフラエンジニアも大手には必ずいますが、小さい会社ではサーバーサイドエンジニアが担っていることも多いです。
セキュリティエンジニア
ネットワーク知識やセキュリティに関する専門家です。
大手のWebサービスなどは日々悪意のあるハッカーから攻撃を受けています。
なので、システムがセキュリティ的に問題ないかなど専門的な知識を元に意見をします。
インフラエンジニアがこのあたり兼任している場合もあれば、さらに高度な専門家としてこのセキュリティエンジニアという人達を雇っている現場もあります。
全部まとめた言葉『エンジニア』
これまでにエンジニア、エンジニアと何度も出てきましたが、プログラマー、システムエンジニア、フロントエンドエンジニア、バックエンドエンジニアなどなどシステムに関わる専門知識を持った人達のことをIT業界では、まるっと『エンジニア』と呼ばれます。
エンジニアとひとえにいっても、これだけ細分化されているんですね。
でも、最近のWeb業界はこういった役割を全部やることが多いので、幅広い知識が求められています。
単にプログラムが書けますってだけの人は話にならないんですね。