ども!だいす(@dice_motosensei)です!
「SE」とか「プログラマー」とかいろいろな名前を目にするし区別がよく分からない。
分かりやすくまとめて教えて。
今回はこんな疑問に答えていきます。
本記事の内容
- ITエンジニアの仕事内容による違い
- ITエンジニアの会社の業態による違い
ITエンジニアって、一日中パソコンに向き合ってプログラムを作っているだけだと思っていませんか?
実はそれは、ITエンジニアの仕事の中のごくごく一部。
ITエンジニアは、仕事内容が多岐に渡り、その仕事内容によって呼ばれ方も変わります。また、会社の業態によっても仕事の仕方が変わります。
エンジニア転職を目指すなら、そのあたりの基本的な知識は確実に知っておきたいところ。
そこで本記事では、ITエンジニアの仕事内容による呼び方の違い、会社の業態による仕事の違いを解説。
本記事を読めば、複雑なITエンジニア業界の全体像が見えてきますよ。
記事の信頼性
筆者は、2019年3月に小学校教員を退職。
その後、2019年4月からおよそ10週間プログラミングスクールに通い、同年8月にエンジニア転職を果たしました。
転職活動を通して、ITエンジニア業界の基本的な知識が身に付いています。
ITエンジニアってどんな仕事?のまとめ
ものすごくざっくり分けると、以下のように分類されます。
- 開発系エンジニア
- インフラ系エンジニア
- 営業系エンジニア
- 自社開発
- 受託開発
- SES
- 社内SE
「仕事内容による違い」については、さらにここから枝分かれして細かく別れていきます。
解説していきますね。
ITエンジニアの仕事内容による違い
開発系エンジニア
「ITエンジニア」と聞いて、最もイメージしやすいのがこの開発系エンジニアでしょう。
開発系エンジニアは、何を作るかによってさらに仕事(呼び方)が枝分かれしていきます。
例えば以下の通り。
- Webエンジニア
- アプリケーションエンジニア
- ゲームエンジニア
- 組み込みエンジニア
Webエンジニア
Webアプリ、WebサイトといったWeb上で使うことができるサービスを開発するエンジニアですね。
Webエンジニアにはさらに、「フロントエンドエンジニア」と「サーバーサイドエンジニア」と呼ばれる人たちがいます。
フロントエンドエンジニア
Web上で使うサービスの「見た目」の部分を担当します。
Twitterで言ったら、画面の構成、配置、デザイン、そういったものですね。
ただし、デザインはWebデザイナーが担当する場合もあるようです。
自分が開発したものが目に見えるところがこの仕事の面白いところでしょうね。
サーバーサイドエンジニア
一方こちらは、「機能」の部分を担当。
Twitterで言えば、投稿機能、いいね機能、ブックマーク機能、そういった仕組みの部分を中心に扱います。
まるでパズルのようにプログラムを組み立てていきます。
思い通りの挙動になったときの喜び、それが醍醐味。
アプリケーションエンジニア
スマホアプリ開発や、業務系システムの開発をするエンジニアがここにあたります。
Webブラウザは使わずに利用するサービスを開発する、そんな認識でいいかなと思います。
ゲームエンジニア
その名の通り、ゲームを開発するエンジニア。
私が子供の頃は、ゲームといえば64やプレステといったハードを使ったものばかりでしたが、今はスマホゲームやオンラインゲームとその幅は広がっていますね。
組み込みエンジニア
機械や家電を開発するエンジニアです。
基本的にはネットワークを使わずに動く製品ですね。
ちなみに、今後の技術としてIoT(モノのインターネット)も話題になっていますね。
IoTの技術者のことは、IoTエンジニアと呼ばれています。
開発するものによる違いとはまた別に、下記の開発フローのどの部分を担当するかによって変わる呼び方もあります。
SE(システムエンジニア)
開発フローの中で、「要件定義」「設計」といった、いわゆる上流工程と呼ばれるところを担当します。
要件定義とは、お客さんとの打ち合わせでそのシステムで実現したいことを明らかにすること。
そして、その要件を元にシステムの設計をしていきます。
プログラマー
「開発」「テスト」といった開発フローの下流工程を担当するのがプログラマー。
SEが作った基本設計をもとに詳細設計をし、実際にプログラミングで開発しきます。
「ITエンジニア」と聞いたときにイメージしやすい仕事ではないでしょうか。
インフラ系エンジニア
開発系エンジニアが作るWebサービスはサーバーがないとサービスを提供できません。
また、その他アプリもインターネットを通して利用するため、ネットワーク環境の整備は不可欠。
そういったサービスを動かす土台になる部分を整える仕事をするのがインフラ系エンジニア。
扱う技術によって仕事(呼び方)が枝分かれしていきます。
例えば以下の通り。
- サーバーエンジニア
- データベースエンジニア
- ネットワークエンジニア
サーバーエンジニア
サーバー(Server)とはサーブ(Serve)する、つまりサービスを提供する側のマシンということ。
(ちなみに受け取る側はクライアントと呼びます)
例えば、会社や学校に共有フォルダがあるなら、そのフォルダが保管されているのはサーバー。
Webサービスも、サーバーがあるからそのサービスをクライアントである私たちが受け取れます。
ネットワークを通してシステムやサービスを使うなら必須なのがサーバー。
そんなサーバーの設計や構築、運用・保守を行うのがサーバーエンジニアですね。
データベースエンジニア
情報化社会となった今は、データが超重要。
ビッグデータと呼ばれる、複雑で膨大な情報を経営に生かしたいと考える企業も少なくありません。
となると、そのたくさんの情報をどうやって保管するかっていうのも大事なところ。
そこで登場するのがデータベース。
データベースは、それらの情報の倉庫です。
倉庫の中にめちゃくちゃにしまわれていたら、いざというときに使えないし管理もできない。
分類したり整理したりしてしまっておく必要があるわけです。
データベースエンジニアは、そんなデータベースの専門家。
データベースの設計、開発、運用、保守等を行うエンジニアです。
ネットワークエンジニア
インターネットを使ってサービスを提供したい、使いたいとなったら、当たり前だけどネットワークは不可欠。
ルーター等の設定でインターネットを使えるようにすることはもちろん、ファイアウォール等のセキュリティ対策も必須。
そんなネットワークの設計や構築、運用・保守を専門的に行うのがネットワークエンジニアです。
ネットワークが大規模で複雑になればなるほど、頼りにしたいエンジニアですね。
営業系エンジニア
「エンジニアが営業??」ってなりますよね。
実はこんなタイプのエンジニアもいるんです。
「セールスエンジニア」と呼ばれています。
その名の通り、営業活動を行うエンジニア。
技術職としての専門的な知識をもちながら、自社システムの導入を提案するというスーパーマン。
営業とエンジニア、両方のスキルや知識が必要になりますが、技術的な理解がある分、よりクライアントに寄り添った提案ができるというのが強みですね。
ITエンジニアの会社の業態による違い
一方で、会社がどのような方法で利益を出しているのか、その業態によってもエンジニアの仕事の仕方は変わります。
会社の業態は、大きく分けて以下の4つ。
- 自社開発
- 受託開発
- SES
- 社内SE
自社開発
自分たちでサービスを作って世の中にリリースする企業のこと。
以下、代表的な企業です。
- 楽天
- LINE
- メルカリ
すでに自社サービスがあるので、0→1の開発はなかなか経験できません。
ただ、1→10にブラッシュアップしていく面白さや、納期がない分働き方がホワイトな傾向にあるところが特徴です。
受託開発
企業などから「こんなシステム作って」と依頼されて作る企業のこと。
受託開発企業は、「Systems Integrator(システムインテグレーター)」とか「SIer(エスアイアー)」なんて呼ばれていますね。
納期があること、二次受け三次受けなどの下請けの場合があることなどがデメリット。
一方で、0→1の開発に関われたり、いろいろな業界の案件にたずさわれるところがメリットです。
自社開発と受託開発に関しては、>>自社開発と受託開発って結局どっちがいいの?それぞれのデメリットとメリットを解説で詳しく解説しているので、よければご覧ください。
SES
エンジニア派遣をしている企業のこと。
エンジニアはプロジェクトに派遣され、客先に常駐して開発を進めます。
様々なプロジェクトに関わったり、プロジェクトごとに新たな人脈ができる一方、どんな仕事をすることになるか分からない「案件ガチャ」な側面が大きいと言われています。
数年働いたのに、全くスキルが上がらないなんてことにもなりかねない。
雇用契約も含め、闇の多い業態と言われているので正直あまりオススメできません。
社内SE
企業に所属し、その企業の活動をITの力で支えます。
ネットワーク環境の整備などインフラ系を担当したり、社内システムの開発をしたりします。
社員がパソコン関係でトラブったらその対応も。
その会社のITに関する何でも屋みたいな感じですね。
仕事相手が同じ会社の社員なので、ストレスは抱えづらいです。
(私の妻はファッションビルの営業部から社内SEに転職しましたが、かなりストレスフリーな様子)
一方で、ITに関する幅広い知識が求められるポジションではありますね。
転職先の探し方
どこを目指すのか
これまで紹介してきた数ある仕事内容、会社の業態の中で、自分が目指すのがどこなのかある程度絞っておいた方がいいです。
例えば、「自社開発のWebエンジニア」、「社内SEのインフラエンジニア」という具合に。
ここがある程度決まっていないと、転職サイトで求人を探したり、転職エージェントに希望を伝えたりするときにうまくいきません。
需要と供給の関係は意識しておく
IT業界全体で言えば人手不足と言われています。
ただ、その中でも人気があって競争率が高い仕事や業態もあるんです。
私が転職活動をしていたときには、自社開発のWebエンジニアは人気でした。
競争率が高いと、転職するのは難しくなります。
そのときの社会情勢や時流によって、人気がある仕事や需要の増える仕事は変わってくるでしょう。
これからの時代であればAIエンジニアやIoTエンジニアが需要が増えて人気も高まるかもしれません。
このあたりの需要と供給のバランスも考えつつ、自分が目指す場所を決めるといいです。
おわりに
IT業界内のざっくりした全体図を分かっていただけたと思います。
これが分かっているかいないかで、学習や業界研究の仕方もだいぶ変わるはず。
あなたのエンジニア転職がうまくいくことを願っています。