Webエンジニアになろう! 第1回 仕事内容とさまざまな職種

本記事にたどりついた方は、少なからずWebエンジニアという職業に興味をお持ちのことかと思います。しかし、Webエンジニアとは実際にはどのような仕事をするのでしょうか。実はひとことにWebエンジニアといっても、いろいろな仕事があるのです。本記事で詳しく説明していきます。

目次

Webエンジニアってどんな仕事?

「Webエンジニア」とは、一体どんな仕事でしょう? ひとことで説明すれば「Web系のシステムを開発するエンジニア」のことを指します。早くもいろいろな言葉が出てきてしまったので、まずはこれらの言葉を解きほぐしていきましょう。

エンジニア

「エンジニア(Engineer)」は英語で「技術者」といった意味で、本記事で扱うWebエンジニアはもちろんのこと、機械設計をしたり、電子パーツを組み立てたりするのも広く「エンジニア」の仕事です。

さまざまな種類の「エンジニア」がある

エンジニアは広い意味を持つ言葉なため、ここから細分化されて呼ばれることが多いです。例えば、機械設計をしたり、電子パーツを組み立てたりするエンジニアは「ハードウェアエンジニア」などと呼ばれ、スマホのアプリを開発したり、この記事で扱う「Web」のシステムを開発するエンジニアは広く「ソフトウェアエンジニア」などと呼ばれます。
Webエンジニアは機械(ハードウェア)は扱わず、コンピュータの中だけで活躍する「ソフトウェアエンジニア」の中の、さらに情報や通信に関するエンジニアである「ITエンジニア」のさらにその中に位置するエンジニアの職種となります。

ハードウェア

ハードウェア(Hardware)は、PCやスマートフォンなどの機器全般を指し、略して「ハード」と呼ばれます。Hardは英語で「固い」という意味で、固い金属でできている機器であることからこう呼ばれます(後述のこぼれ話も参照)。

PCやスマートフォンなどの「ハード」は、そのままでは電源を入れても何も動作しません。中に組み込まれている「ソフトウェア」というものが動作して、初めてさまざまな機能を利用できるようになります。

ソフトウェア

「ソフトウェア」という言葉は「Soft=柔らかい」という意味の通り、ハードの反対のことばとして使われるようになりました。例えばスマートフォンにもさまざまなソフトウェアを入れることができ、それらを切り替えて使うことで、さまざまな作業に使うことができます。

なお、最近はソフトウェアのことを「アプリ」と呼ぶこともあります。

こぼれ話 なぜ金属は「ハード」なの?

「ハードウェア」という言葉は、もともと金属製品全般を指す言葉でした。これは、それ以前に、「木材」でさまざまなものが作られていた時代だったのが、金属が登場したときに「木よりも固い物質」という意味で「ハードウェア」という言葉が使われたという説があります。

IT(Information Technology)

IT(アイティー)は、英語の「Information Technology」の頭文字を取った言葉で、日本語では「情報技術」などと呼びます。主にインターネット(ネット)を通じて情報を扱う分野のことで、ソフトウェアやネットワーク、データベースやセキュリティなど、PCで扱う「情報」を扱う技術のことです。

Web

Web(ウェブ)はもともと、「クモの巣」といった意味のある単語ですが、実際にはこの言葉は「World Wide Web」の略称で、世界中に張り巡らされたインターネット回線を通じて提供されるサービスの名称を指します。

私たちが普段、Webブラウザで検索をしたりX(Twitter)などで流れてくる記事をクリックして見ることができるページを「Webページ」といいます。
Webエンジニアというのは、ITエンジニアの中でもこの「Web」の技術に特化したエンジニアのことを指します。

こぼれ話 私がWebエンジニアになった理由

筆者は、もともとWebに興味があったわけではなく(というより 40代の筆者にとって、Webが仕事になるようになったのは20代以降だったため、学生時代などはまだWebというもの自体がありませんでした)、最初はゲーム制作に興味があって、プログラミングを勉強していました。
そしてWebが登場したときに、ゲーム制作に関する情報を発信したいと考えて、Webサイトを趣味で作り始めたのが始まりです。それから、サーバーなどに興味を持ち始め、サーバーサイドエンジニアとして仕事を開始しました。
Web開発は、ソフトウェア開発やシステム開発などに比べると少人数で開発することができ、また当時から中小企業などでも気軽に依頼をしてくれたことから、独立直後だった筆者でも、比較的仕事を受けやすく、また 1人で仕事をしやすかったことが、筆者の肌には非常に合いました。筆者はその後、執筆時点で会社を 20年以上やっていますが、今も変わらず中小企業やNPO法人などを中心に、サイト制作のお手伝いをしています。やりがいがあって楽しいですね。

Webエンジニアの職種

「Webエンジニア」と一口に言っても、実はここからさらに細分化されて、さまざまな職種に分かれます。

  • フロントエンドエンジニア・マークアップエンジニア・コーダー
  • サーバーサイドエンジニア・バックエンドエンジニア
  • データベースエンジニア・データベースアドミニストレータ
  • ネットワークエンジニア・クラウドエンジニア・インフラエンジニア
  • セキュリティエンジニア
「Webエンジニア」にもさまざまな職種がある

1行にまとめて書いてある職種、例えば「フロントエンドエンジニア」と「マークアップエンジニア」、「コーダー」は、実際にはほぼ同じ職種を指しています。それぞれ紹介していきましょう。ここではまだ各用語を詳しく理解しようとするよりは、全体を読み進めて概要を掴むようにすると良いでしょう。

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

「フロントエンド(Front-end)」には「前部の」といった意味があり、簡単に言えば「ユーザーに見えている画面」を作るのがフロントエンドエンジニアです。(逆にユーザーに見えない部分を作るのがサーバーサイドエンジニアです)

同じような言葉に「マークアップエンジニア」とか「コーダー」という職種もありますが、これらは同じような職種として使われることもありますが、「フロントエンドエンジニア」といった場合は、もう少し高度な内容を扱うことが多いです。

フロントエンドに必須のJavaScript

近年、Webページには「動き」が求められるようになってきました。例えば、次のWebページを見てみましょう。

aquanotes Server
https://h2o-space.com/aqserver/

画面を表示すると、ふわっと表示されたり、スクロールしていくと要素が次々に飛びだしてくるといった「動きの演出」が施されていることが分かります。

これらは、「JavaScript」というプログラミング言語を使って実現されています。近年のフロントエンドでは、この JavaScriptを使った開発が必須となり、従来のマークアップエンジニアやコーダーにも、そのスキルが求められるようになってきました。

サーバーサイドエンジニア

サーバーサイドとは「サーバー側の」という意味で、サーバーというのは私たちがネットを使うときに、そのWebページの内容が保管されているコンピュータのこと。サーバーサイドエンジニアは、この「サーバー」の中で、画面からは見えない部分のプログラムを作成します。

例えば、ショッピングサイトなら商品の在庫があるかどうかを確認したり、金額はいくらかを計算したり。また、コミュニティのサイトなら、各ユーザーが書き込んだ内容を整理して保管したり、他のユーザーからの返信を通知したりといったしくみも必要です。

これらの結果はサーバーからフロントエンド側に情報を渡し、画面に表示されるというしくみです。

フロントエンドエンジニアとサーバーサイドエンジニアは、別の職種ではありますが1人の人が両方を担当することもあります。というのは、サーバーサイドエンジニアは少なからずフロントエンドエンジニアの知識が必要となるため、フロントエンドエンジニアからキャリアアップしてサーバーサイドエンジニアになるケースが多く、両方を担当することができるプログラマが多いためです。

データベースエンジニア

大量のデータを保管する「データベース」というツールを操る、専門のエンジニアです。

例えば、皆さんがあるWebページで「ログイン」をする時に入力する、ユーザーのパスワード情報はこのデータベースに保管されています。その他、 ECサイトの商品の情報や、すべての利用者の購入履歴、問い合わせ履歴、レビューの内容など、あらゆる情報がデータベースに保管されます。
データベースエンジニアは、そんなデータを管理する専門家。どのような構造にすれば、効率良くデータを管理できるのかを設計し、データを集計したり分析したりしながらデータを活用していきます。
サーバーサイドエンジニアが兼務することもあり、実際サーバーサイドエンジニアはデータベースの基本は理解しておく必要があります。

ネットワークエンジニア

Webサイトは、完成したら世界中に公開するために「Webサーバー」と呼ばれる特別なコンピュータに設置して、公開手続きをしなければなりません。この「Webサーバー」などのサーバーを、実際に設置して稼働させるのがネットワークエンジニアの仕事です。

従来は、実際にコンピュータを設置したりネットワーク機器と接続をして設定をしたりなど、ハードウェアの知識も必要なのがネットワークエンジニアの仕事でした。
しかし、近年Web業界では「クラウドサーバー」と呼ばれる、クラウド上で簡単に構築できるサーバーが主流になっているため、従来のネットワークエンジニアとは分けて「クラウドエンジニア」などと呼ばれることもあります。
また、小規模なWebサイトの場合などは、サーバーサイドエンジニアがネットワークエンジニアを兼ねることもあります。
いずれにしても、ネットワークに関する深い知識が要求され、設定を間違えるとセキュリティ的に非常に危険な状態になってしまうため、正しい知識をしっかり身につける必要があります。

その他のエンジニア

ネットの求人記事などを見ていると、この他にも「○○エンジニア」という職種は、ものすごい数があります。例えば「セキュリティエンジニア」とか「 AIエンジニア」、最近では「プロンプトエンジニア」といった言葉も生まれています。
これらの職種は、基本的には「サーバーサイドエンジニア」の専門性を高めて、ある分野に特化したエンジニアであったり、ある業界に特有のエンジニアであったりするため、基本的にはサーバーサイドエンジニアからのキャリア変更であることがほとんどです。
非常に分かりやすく分類してしまうと、Webエンジニアは「フロントエンド寄りか」「サーバーサイド寄りか」の2種類で分類することができます。詳しくは、次の章で解説しましょう。

こぼれ話 筆者の職種

筆者の場合、前述の通りもともとは趣味でWebサイトを制作していたため、HTMLやCSSなども自分で作り、サーバーサイドのプログラム開発もしていました。しかし、仕事をするようになってからは、徐々にHTMLやCSSはパートナーのクリエイターにお任せするようになり、サーバーサイドに集中するようになりました。
というのは、フロントエンドを極める場合、どうしてもデザインの知識やセンスなども問われることが多く、このあたりが絶望的に苦手な筆者にとっては、他の方に任せた方が効率がよいと判断したためです。
全部を自分でやろうとせず、また、やりたいことをやるのではなく、自分はなにが得意でなにが苦手か、なにを人に任せて、どこにこだわりを持って自分でやっていきたいか、そんな風に考えながら自分が得意なことやできることを見つけて、集中していくことも大切です。

Webエンジニアのキャリアプラン

前節で述べた通り、Webエンジニアには数多くの種類があり、分業化が進んでいます。しかし、大きく分ければその入り口は「フロントエンド」か「サーバーサイド」に分類することができます。その後、少しずつ自分のできることや範囲を広げて、自分の価値を高め、転職やキャリアアップなどで自分の役割を変えていくことが多いです。
ここでは、それぞれのキャリアプランを紹介していきましょう。

Webエンジニアのキャリアプラン

Webデザイナーからフロントエンドエンジニアへの転身

Web業界の仕事には「Webデザイナー」という仕事もあります。これは、Webサイトやアプリが、完成後にどんな画面になるかの「イメージ図」や「設計図」を描いていく仕事です。
文字や色の知識を使って、見やすく、使いやすく、また見る人の興味を引くようなデザインを制作していく必要があります。
「フロントエンドエンジニア」は通常、このWebデザイナーがデザインをしたイメージ図(モックアップなどと呼びます)を元に、実際にWebページとして利用できる「実装作業」をしていくのですが、デザイナー自らが実装作業まで行うこともあります。というのは、Webデザイナーという職種は、グラフィックデザイナーなどとは違ってWebの構造や特性等の知識が必要で、Webで実現が可能なデザインかどうかや、どのようにそのデザインを実現するべきなのか等を理解できなければ、そもそもデザインができません。
そのため「デザイナー」とはいっても、どちらかといえば「建築士」などに近い職種といえます。建築士も、大工さんに実際の作業は依頼しますが、自身も工具の使い方は分かっていて、日曜大工的なものは自身でやる方が多いのと同様で、Webデザイナーの中には、フロントエンドエンジニア的な高い知識を持っている方も少なくありません。
こうして、Webデザイナーからフロントエンドエンジニアに転身する場合や、両方を兼ねるという場合があります。

プログラマーからサーバーサイドエンジニアへの転身

「サーバーサイドエンジニア」の場合、Webデザイナーから転身するケースはかなり少ないと思います。サーバーサイドエンジニアは、かなり技術色が強く、「プログラミングはすごく好き」という方がなることが多い印象です。
多くはやはり、最初はソフトウェアやスマホアプリなどを開発する「プログラマー」として活動し、ネットワークやデータベースの知識を身につけて、Webのシステム開発も手がけるようになるといったことが多いでしょう。

フロントエンドエンジニアからサーバーサイドエンジニアへの転身

デザインは苦手だが、Webに興味があってHTMLやCSSの学習をして、フロントエンドエンジニアになった人が、より知識の幅を広げて、徐々にサーバーサイドのプログラム開発もできるようになり、サーバーサイドエンジニアにキャリアを変えるといったケースはかなり多いです。
また、フロントエンドとサーバーサイドを全部自分でやるという人もいたりして、こんなエンジニアを特別に「フルスタックエンジニア」などと呼ばれることもあります。

エンジニアからマネージャー・ディレクターへの転身

さて、こうしてフロントエンドエンジニアやサーバーサイドエンジニアとして、キャリアを積んだWebエンジニアは、その後どんなキャリアを積んでいくのでしょう。
もちろん、生涯現役としてエンジニアをやり続ける人もいますが、多くは年齢を重ねると、自分で開発するよりも若手の育成だったり、チーム全体をまとめる役割などの「マネジメント」と呼ばれる、管理職的な役割が求められるようになります。
Web業界では、これを「マネージャー」とか「ディレクター」という職種で行うことが多く、チームの先導役としてプロジェクトの進行状況を管理したり、若手の技術的な問題を解決するといった仕事をしていきます。

エンジニアからセールスエンジニアへの転身

チームをまとめるといった「内向き」の仕事をするのがディレクターなら、逆にクライアントや顧客である「外向き」の仕事をするのが、セールスエンジニアです。
クライアントの悩みを聞きながら、技術的な解決策を提示したり、自社の技術力をアピールするなどして仕事の受注を目指したり、説明会の開催、技術展への出展などを行っていきます。
技術的な裏付けがあるからこそ、説得力のある説明や現実に即した提案ができるとして、非常に重宝される立場になります。

エンジニアからスタートアップ起業家への転身

エンジニアとして技術力を身につけた後は、クライアントの依頼に沿って開発をするのではなく、自分で考えたビジネスを立ち上げて、サービス開発や製品開発をして、起業をするというキャリアプランも夢があります。
通常、新規サービスのシステム開発には、何百万円、何千万円といった資金が必要になりますが、それを自分の知識で開発できるなら、この費用を節約して開発することができます。
また、システムの改良や追加開発もスムーズに進められるため、スタートアップとして非常にスムーズに立ち上げることができます。

こぼれ話 筆者の場合

筆者の場合は、フロントエンドエンジニアからサーバーサイドエンジニアに、それからディレクターにキャリアを変更したタイプです。
前節の通り、もともとはフロントエンドもサーバーサイドも自分でやろうとしていたのが、フロントエンドを他の人に任せるようになってから、徐々にスケジュール管理やタスク管理、予算管理などをするようになり、自分で手を動かすよりもそういった管理業務の方が増えていって、いつの間にかディレクターになっていました。
この「いつの間にかなっていた」というのは、この業界あるあるの話で、筆者の周りのWebエンジニアからもよく聞きます。「自分はデザイナーだったはずが、だんだんHTMLやCSSも自分で触るようになるうちに、いつの間にかフロントエンドエンジニアになっていた」とか、「ディレクターをやりつつプログラミングを学んでいたら、いつの間にかエンジニアもやるようになっていた」など。
キャリアアップやキャリアチェンジは、「自分がこうなりたい」と思うのももちろん大切ですが、それよりは「自分のできることを広げていこう」と勉強をし続けるうちに、そっちの分野でも任せられることが多くなっていくといったグラデーション的な変化の方が多いのかもしれません。

※本記事は『Webエンジニアを育てる学校』の本文を一部引用・再編集しています。

『Webエンジニアを育てる学校』発売1周年記念キャンペーン中!

『Webエンジニアを育てる学校』は現在お得なキャンペーンを行っています! 詳細はこちら

  • URLをコピーしました!
目次