ITエンジニアの種類についての解説

# 大分類
ITエンジニアと一言で言っても様々な職種があり、大きく分けると大体以下の4種類に分類されます。更に各分類毎に細かく解説します。
（※以下各説明へのリンクになっています。）
* [開発系](#開発系)
* [インフラ系](#インフラ系)
* [管理系](#管理系)
* [運用系](#運用系)

# 開発系
いわゆる「プログラマー」と呼ばれる職種です。昔はプログラマーと言えばIT系のどの現場でも通じたのですが、近ごろは新しいプログラム言語や概念、IT技術の進化と共に更に細かい分類分けがされ、「〇〇エンジニア」や「○○系エンジニア」と呼ばれることが多くなってきました。

開発系のエンジニアには更に以下のような職種があります。

* **Web系エンジニア**
主にネットや各企業の社内向けに公開されてるWebサイトのサーバー上、もしくはブラウザ側で動作するプログラム言語でプログラミング開発を行います。
更に、サーバー側のプログラム開発を行う職種を、<b>サーバーサイドエンジニア</b>もしくは<b>バックエンドエンジニア</b>と呼び、ブラウザ側のプログラム開発を行う職種を、<b>フロントエンドエンジニア</b>と呼びます。

* **汎用系エンジニア**
メインフレームやホストコンピューター、汎用機等と呼ばれる一極集中型の高性能大型コンピューター上で動作するアプリケーション開発を行う職種です。大企業や官公庁等の大規模基幹業務システムの一括演算処理等の開発業務がこれにあたり、金融系のシステムに多いのが特徴です。

* **オープン系エンジニア**
元々汎用系システムで稼働していた基幹業務処理などが商用UNIXサーバーやLinuxサーバー等に移行され、そのようなシステム上で動作するアプリケーションの開発を行う職種となります。Windowsサーバーを含む場合があったり、Web系と同義として扱われる場合もあります。</td>

* **ゲーム系エンジニア**
Nintendo SwitchやPS4、PS5等のコンシューマー機、Steam等で販売されているPC上で動作するゲーム等の開発を行う職種を指します。更に細分化すると、ゲームのコア部分の開発の他、Unreal EngineやUnityなどの3Dゲームエンジン、AI、モーションキャプチャー、特殊効果音、VR/AR、独自の物理演算処理等、各要素毎に職種が異なり専門性も異なるため非常に難易度が高くなっています。</td>

* **スマホアプリ系エンジニア**
iPhoneやAndroid等のスマートフォンアプリのプログラミング開発を行う職種を指します。前述のゲーム系エンジニアと同義で表現される場合もあります。</td>

* **制御・組み込み系エンジニア**
家電製品やGPS、通信機器等の内部の機器に使用されるソフトウェアの開発を行う職種を指します。このため製造パートとして扱われる場合がほとんどで、ITエンジニアとは別に分類される場合がほとんどです。

# インフラ系
アプリケーションが動作するためのハードウェアやネットワーク環境、各種ミドルウェア等の設計や構築を行う職種の総称のことを指します。業務としては、新規構築や移行などによる設計・構築の側面と、日々の安定稼働のため動作監視および運用保守としての側面があります。

インフラ系のエンジニアには更に以下のような職種があります。

* **サーバーエンジニア**
そのまんまですが、サーバーのエンジニアです。大企業ではサーバーのハードウェア部分に関しては後述のカスタマーエンジニア（CE）が担当することが多いです。サーバーエンジニアはその機材で動作するOSやミドルウェア、ディスク領域、各種常駐サービス、ネットワーク等について設計し、設定や構築を担当します。近年、クラウド環境が増え仮想的なサーバーへの移行が急増しており、仮想ハードウェア部分はサーバーエンジニアが担当することが多くなっています。

* **ネットワークエンジニア**
各サーバーとネットワーク機器（ルーターやスイッチングハブ、ロードバランサ等）との接続に関して、設計・構築を行います。また、システム全体のネットワーク負荷の調整や外部からの不正アクセス等の監視を行います。

* **データベースエンジニア**
データベースという言葉に聞きなれない方もいらっしゃると思いますので簡単に説明します。
データベースは基幹業務の肝心要である様々な業務データを格納する保管場所となります。サーバーやネットワークと違い、機器の故障やデータの破損等の障害は遂行業務に対し多大なる損害を及ぼしかねず、システムの中で最大限の堅牢性が求められる箇所となります。データベースエンジニアはこれらに関する設計・構築を行い、大量アクセス等によるパフォーマンス低下や不正アクセス等の監視に努めます。

* **カスタマーエンジニア(CE)**
主に汎用機やサーバー等の製造メーカーに所属する機器専門のエンジニアを指します。自社の機材を客先のデータセンターへ搬入したり設置を行ったりします。クラウド主流の時代になったとしても仮想サーバーを動かすためには物理サーバーが必要なので、この職種が無くなることはないと思います。

* **クラウドエンジニア**
AWSやAzure等のクラウド環境に特化した職種を指します。一見、サーバーとネットワークとデーターベースを足して３で割ったような業務内容に思われがちですが、そういうことではなく、各クラウドサービスの操作や運用ツール、仮想化技術、コンテナ化、サーバーレス化技術を駆使することにより、物理環境よりも低コストで且つ効率的、メンテナンス性の良いシステム構築が可能となります。

# 管理系
* **ITコンサルタント**
高度なITの知見と各プロダクトや業種毎の基幹業務に関する豊富な知識をもって、顧客のニーズ・業務に則したITシステムのトータルデザインを行う。その後、要件定義を経て実装化をするにあたり各パートの開発系エンジニア、インフラ系エンジニアと共に設計業務を進めシステムの整合性をチェックしたり運用設計等を行ったりする。
このポジションの担当者の力量によってプロジェクトの良し悪しがガラッと変わったりする非常に重要な職種。

* **プロジェクトマネージャー**
プロジェクトの総責任者。重要事項の意思決定をしプロジェクト全体をマネジメント業務を行う。プロジェクト全体の進捗状況や各パート毎のスケジュール調整、コスト管理、予算管理、人的リソース計画、開発計画、それらの定期的な報告やユーザー折衝・・等々、とにかくIT系の職種の中で一番仕事が多いポジション。

* **プロジェクトマネジメントオフィス（PMO）**
過去に発生した勘定系システムの開発失敗をめぐり、大手外資ITベンダーと顧客企業と訴訟問題の影響を大きく受け急発展していったのがこのプロジェクトマネジメントオフィスという職種。プロジェクトマネージャーの業務を補佐をする業務の他に、マネジメント業務の整合性や顧客間との契約に則った重要事項の健全性、安全性を中立の立場で監査する役割を持つ。つまりはプロジェクトマネージャーが悪さをしないよう監視したりもします。プロジェクトマネージャー同様、高いマネジメントスキルを要します。

# 運用系
縁の下の力持ち的な地味な業務ではありますが日々の運用を支える重要なポジションの職種となります。基本的にシステム障害やイレギュラーな事象が発生しない限りスケジュールは比較的安定しています。

* **セールスエンジニア**
IT系の営業職の呼び名です。必要とされるITスキルのレベルはピンキリですが、自社製品・自社サービスの販売促進や導入提案、導入後の現地サポート業務を行います。

* **運用オペレーター**
汎用機やサーバーに対して、システム運用スケジュールに則り決められたコマンド入力や操作を行います。特に高いITスキルは必要としませんが、日々決められた時間に正確に作業を実施したりコマンド実行したり、且つそれらを安定的に行えうためには適正が必要です。
上記業務の他にもシステム監視業務や障害対応業務等を行います。

* **カスタマーサポート**
自社製品・自社サービスのサポートを電話やメール等で行います。こちらも高いITスキルは必要としませんが、自社製品やサービスの熟知が必須です。

※この他にも、社内SEや、ブリッジSE、データアナリスト等、まだまだ沢山の職種が存在します。一旦ここでは説明は省きますが必要に応じて追加したいと思います。また、会社やプロジェクトによって呼称や分類分けが多少違ったりしますので都度読み替えていただければと思います。