IT業界のエンジニア、つまりITエンジニアには色んな○○エンジニアが存在します。
この記事では
「IT業界に存在する○○エンジニアの種類を知りたい!」
「SIer系企業で働くITエンジニアと、Web系企業で働くITエンジニアに違いはあるの?」
「システムエンジニア = ITエンジニアじゃないの?」
こんな疑問に、ITエンジニア歴17年のボクができるだけ一般的な視点で解説します。
ボク的にも、あんまり馴染みのない呼び方があったりします。
正直、「システムエンジニア = ITエンジニア」のイメージは強いですね。
紹介する○○エンジニア一覧はこちら
- ITコンサルタント
- システムエンジニア
- プログラマー
- テスター
- 保守エンジニア
- フロントエンドエンジニア
- バックエンドエンジニア
- インフラエンジニア
- フルスタックエンジニア
※iOS/Androidエンジニアはスマホ開発エンジニアです。
(今回は説明の対象にしていません。)
SIer系企業とWeb系企業の違いについてはこちらの記事で解説しています。
ITエンジニアの呼び方はSIer系とWeb系で変わる
IT業界のエンジニアは、ITエンジニアと呼ばれます。
または、システムを作るエンジニアってことで、システムエンジニアとも呼ぶこともありますよね。
一般的にはこの図のようなイメージです。
左側にSIer系企業で働くITエンジニア、右側にWeb系企業で働くITエンジニアを表現し、上段、下段で担当する工程(上流から下流)を表現しています。
図のように、SIer系企業で働くITエンジニアと、Web系企業で働くITエンジニアで呼び方が変わるんです。
SIer系企業で働くITエンジニアは、工程(上流から下流)別にITエンジニアが存在するイメージ。
Web系企業で働くITエンジニアは、システム構築の分野別にITエンジニアが存在するイメージ。
ちなみに、ここには出てこないSES企業は、主な取引先のクライアントがSIer系かWeb系かによって募集する人材が変わります。
SIer系企業で働くITエンジニアの呼び方
SIer系企業は、ウォーターフォール開発を主流に開発を行っているため、上流工程から下流工程に合わせて担当するITエンジニアが存在します。
この図の工程毎に専用のITエンジニアが存在するイメージです。
SIer系企業で働くITエンジニア一覧はこちら
- ITコンサルタント
- システムエンジニア
- プログラマー
- テスター
- 保守エンジニア
ITコンサルタント
ITコンサルタントとは、クライアントの課題を見つけITを使った解決方法を提案するエンジニアのことです。
工程でいうと上流工程を担当します。
要件定義を行う以前の課題の発見と、解決方法の提案が主な仕事になります。
なので、ITエンジニアといいつつ、名前にもエンジニアはつかないですし、コードを書く(プログラミングする)機会はありません。
システムエンジニア
システムエンジニアとは、ITコンサルタントが提案したシステムのイメージを要件定義に落とし込む作業、そこからさらに外部設計、内部設計まで行うエンジニアのことです。
ITコンサルタントっぽい仕事もしますし、たまにコードを書く(プログラミングする)こともあります。
要件定義、外部設計、内部設計をすることが主な仕事になります。
あと、テスト設計も行いますね。
要件定義については、機能要件と非機能要件を設計したりします。
ユーザーが希望する機能自体のこと。「ボタンを押せば検索できるようにしてほしい」や、「会員登録する機能がほしい」など。
性能、可用性、セキュリティなど、ユーザーが希望する機能自体をサービスとして実現するために必要な要件(縁の下の力持ち的な要件)
ややこしいんですが、「システムエンジニア」を上流から下流工程全部行えるエンジニアとして総称するケースもあります。
プログラマー
プログラマーとは、プログラミングを行うエンジニアのことです。
開発、テストをすることが主な仕事になります。
たまに、内部設計や、テスト設計を行うこともあります。
プログラミングをすることをコードを書くというため、コーダーと呼ばれることもあります。
テスター
テスターとは、テストを行うエンジニアのことです。
テスターをメインにエンジニアとして飯食ってる人ってあんまりいないと思うんですが、ゲーム系にでアルバイトにおおいイメージですね。
テストをひたすら行いバグを見つける。
ゲーム系だとひたすらゲームをすることが仕事だったりします。
テスト自体はプログラマーも行うので、テスターをテストエンジニアとかっこよくしたところで、キャリアアップには繋がりにくい職種なので募集してても近づかないのが賢明です。
ただ、未経験からIT業界に転職した場合にはじめてする仕事は「テスト」が多いので、どんなITエンジニアでも必ず経験はします。
保守エンジニア
保守エンジニアとは、稼働しているシステムの保守・運用を行うエンジニアのことです。
サーバーの監視や、トラブル対応、潜在バグ発見時の対応、クライアントからの問い合わせ対応などが主な仕事になります。
保守エンジニアは兼業ですることもありますね。
大きな企業だと専属で保守エンジニアを派遣して常駐させたりするイメージがあります。
しっかりしたシステムだと、一日電話1本だけとかもありますし、バグだらけのシステムだと、電話がとまらない、怒鳴られる、誹謗中傷されるなどもあります。
マニュアル通りの対応でいいケースもありますが、ブラックな案件もあるのは事実です。
Web系企業で働くITエンジニアの呼び方
Web系企業にはそもそも仕事を依頼するクライアントが存在しません。
自社サービスを開発(アジャイル開発がメイン)するため、システムに必要な分野毎に担当するエンジニアが存在します。
SIer系のように工程毎に名称というより、フロントエンド、バックエンド、インフラ、iOS/Androidなど、どの分野を担当するかによって名称がかわります。
また、各分野で上流から下流工程まで担当するので、ITエンジニアの属人性に頼ってしまうケースが多いイメージです。
Web系企業で働くITエンジニア一覧はこちら
- フロントエンドエンジニア
- バックエンドエンジニア
- インフラエンジニア
- フルスタックエンジニア
フロントエンドエンジニア
フロントエンドエンジニアとは、HTML、CSSはもちろん、主にJavaScript系の分野に主軸をおくエンジニアのことです。
フロントエンドエンジニアも人によって意見がわかれやすいです。
Web制作やデザインを行うのが主な仕事といわれることもあります。
Web系企業で働くITエンジニアの視点でいうと、JavaScript系の開発や、UI/UXの設計などが主な仕事だと考えていいです。
バックエンドエンジニア
バックエンドエンジニアとは、サーバーサイドエンジニアと呼ぶこともあり、Rubyや、Goなどサーバー側の分野に主軸をおくエンジニアのことです。
サーバー側の開発を全て行うので、プログラミングや、データベース設計などサーバーに必要な機能をすべて担当します。
サーバー側の知識として、OS(Linux)の知識や、データベース(SQL、NoSQL)などの知識も必要になります。
インフラエンジニア
インフラエンジニアは、クラウドを利用したシステムインフラ構築の分野に主軸をおくエンジニアのことです。
ネットワークエンジニアやデータベースエンジニアとかイメージしがちですがそうではないです。
AWS、GCP、Azureなど大手クラウドサービスを使いこなせるエンジニアのことです。
システムを動かすインフラ構築だけじゃなく、インフラのアーキテクチャ設計をしたり、DevOpsエンジニアと呼ばれるインフラ構築の自動化(コード化)や、スケーラブル化を実現することも必要な知識です。
DevOpsエンジニアはインフラエンジニアを一つ格上にしたイメージですね。
AWSをメインに主軸をおくエンジニアをAWSエンジニアと呼んだりもします。
フルスタックエンジニア
フルスタックエンジニアとは、フロントエンド、バックエンド、インフラ、iOS/Androidまで全部の分野をこなせるエンジニアのことです。
良いようにいえば、全部できるエンジニアですが、悪くいえば、全部中途半端なエンジニアとも呼ばれることもあります。
若いうちはフルスタックエンジニアとしてやっていくのは、広く浅く知識を付ける目的としてはいいかもしれませんが、Web系での日進月歩なスキル習得にはいずれ無理がでてくるので、分野ごとのITエンジニアを目指すのがベストです。
まとめ:ITエンジニアの呼び方はSIer系とWeb系で変わる
これも人によって意見が分かれるでしょうけど、SIer系企業で働くITエンジニアを総じて「システムエンジニア」、Web系企業で働くITエンジニアを総じて「Web系エンジニア」と呼ぶこともあります。
最後に各ITエンジニア収入のイメージを貼っておきます。
ITエンジニアを目指す人増えていくと思いますが、今回紹介したエンジニアの役割を知った上であなたがなりたいITエンジニア像に近いキャリアを選択できたらと思います。
モダンな技術や、最新のツールなど常に新しいことにチャレンジ、触れていく自信があれば断然、Web系のITエンジニアがおすすめ
ある程度の定番な技術、オーソドックスなツールをしっかり使いこなせるようになりクライアントの課題解決をしたいのであれば、SIer系のエンジニアがおすすめ
ちなみに、今回でてきませんでしたが、Webデサインをメインにしたエンジニアは、Webデザイナーと呼びます。
また、スマホアプリ開発を行うエンジニアをiOS/Androidエンジニアと呼びますが、Web系か、SIer系で働き方が全然ちがうので、呼び方だけではどっち系かはわかりにくい点があります。
フリーランスITエンジニアになれば、SES企業の案件エージェントサービスを利用することになりますが、「私は○○エンジニアです」と宣言できるようにエンジニアの呼び方について理解しておきましょう。
ユウキでした。