こんにちは、いとうです。
昨今注目を浴びるようになった「エンジニア」というワードについて
「どういった職種なの?」「プログラマとは違うの?」とか、一部実態とは違う形で使われるケースを見かけるようになったので違いがイマイチ分からないという方向けに解説していきたいと思います。

この記事の目次
同じ「エンジニア」でも基本的には別職種と思った方が良い
「エンジニア」という言葉自体を単純に日本語に直すと「技術者」となり、
その技術者をWikipediaでさらに調べると「工学に関する専門的な才能や技術を持った実践者のこと」とありました。
要は専門知識によって問題を解決したり、サービスを提供する人ということですよね。
ITエンジニアに限らず、車や家電の開発者の方達のこともエンジニアと呼びますもんね。
ただ、今回はあくまでITエンジニアについてお話させてください。
SNS界隈で見かけるエンジニアとしての呼び名として「webエンジニア」というのがあると思います。個人的にこの名称はとても曖昧で好きではありません。
なんとなく「プログラミングをする人」という印象を受けるかもしれませんが、まずweb系ではないけれどプログラミングする職業っていっぱいあります。
家電やIoTのような機械を動かすためのプログラムを行う「組み込み系エンジニア」や、金融系や政府期間のような膨大なデータを扱うシステムを開発する「汎用系システムエンジニア」などもそうです。
ちなみに「プログラマ」とは、「エンジニア」という幅広い業務の中のプログラムを組む部分を主に行なっている人、という認識をしてもらうとイメージがしやすいかなと思います。
システム開発やアプリ開発に必要な作業はプログラミングだけではなく、「エンジニア」の行う業務としては営業から人員調整、スケジュール調整からテストなど多岐に渡ります。
今回はエンジニアとプログラマの違いについてはこれくらいにしておきます。
「webエンジニア」と「web制作者」と「フロントエンドエンジニア」の関係性

僕個人としての実感として、「webエンジニア」と「web制作者」と「フロントエンドエンジニア」という三つの異なる職業、働き方の人が「webエンジニア」と一括りに呼ばれているような気がしています。
それぞれ下記のような業務なので、職業としても生活スタイルとしても全く異なります。
webエンジニア
プログラマの種類の一つ。
正しくは「webアプリケーションエンジニア」と呼ぶのが良いでしょうか。
食べログやTwitterのようなwebサービスの開発や保守を行うエンジニアですね。
「web系エンジニア」と呼ばれることが多いかもしれません。
プログラミング言語にRuby、PHP、Kotlinというようなシステムの裏側の処理、業務ロジックを作るための言語や、データベースを操作するためのSQLという言語を使用してwebサービスを作っていきます。
HTML、CSS、JavaScriptといった画面の見栄えの部分を作る言語も扱えるとなお重宝されます。
自社や顧客のデータを扱う業務が多いので在宅・ノマドワークは比較的行いづらいですが、業務の中で信頼されるようになれば在宅を認められるケースもあります。
業務時間は納期によりますが後述の2つの業務に比べるとかさみやすいです。
web制作者
こちらはLP(商品・サービス宣伝のページ)やホームページのようなwebコンテンツを作成、保守するお仕事です。
今の時代、WordPressのようなホームページを簡単に作成するためのCMSというツールを使用するとプログラミングをほとんど行わなくても作成することができます。
しかし、顧客の細かいニーズをデザインに反映するためにはHTML&CSS、Javascriptというようなクライアント側(ユーザーに見せる画面、デザイン側)の言語を使える必要があります。
作業できる環境があるなら場所を選ばずに働きやすい職業でもあります。(独立して好きな場所で働く方も多いです。)
時間単位での収入というよりは、HPなり、ランディングページを完成させて成果物の納品を持って決められた価格をいただく契約形態が多いです。
フロントエンドエンジニア
どちらかというと「webエンジニア」の業務に近いです。
アプリケーションやwebサービスの見た目や操作(UI/UXとも言います。)を作成していくためのお仕事です。
デザイナーさんが用意したレイアウト通りにサービスの見た目を作るだけではなく、ボタンを押した時の効果(スライドやアニメーション)をユーザーが快適に行えるように実装する能力が求められます。
HTML、CSS、Javascript等が扱える必要があるのでweb制作者とスキルは似たように見えますが、システムの裏の動きなども考慮するためにサーバーサイド言語もバリバリ書けなくてもなんとなく読める程度は理解しておく必要があります。
デザイナーさんのような業務を行う方もいます。
データベースをいじるエンジニアと比較すると作業時間は安定しやすいですし、リモートでの業務も行いやすいです。
まとめ:それぞれのライフスタイルは確認しておこう
簡単な説明は以上になります。
これらの違いを考慮しておかないと、ノマドワークがしたいのにサーバーサイドやデータベース操作を行うエンジニアの道に進んでしまったり。スマホアプリを作りたいのにweb制作会社を転職活動で選んでしまったりという勘違いが生まれてくると思います。
細かい違いまでは理解しなくても良いと思いますが、「自分の求めているライフスタイルの職業はどれか?」というところは理解しておいたほうが良いですね。