【これからエンジニアになりたい人向け】ITエンジニアの種類と仕事内容の紹介(1)
ITエンジニアと言っても、世の中一般的には、「PCに向かってプログラムを書いている」様なイメージを持っている方が多いのではないだろうか?
ところが、実際にIT業界に就職・転職してみると、様々な職種が多いことに気づくことは少なくない。
私自身も、ITエンジニアの種類を知らずにIT業界に参入した1人だ(笑)。最近はクラウド化が進んでいることもあって、ITエンジニアの種類についてあまり意識しなくてもIT業界に参入しやすくなった。
分かる!俺も10年前にITエンジニア募集につられて、プログラマになるのかと思ってたら、ネットワークエンジニアだった。
この職種とか、詳しく記事にまとめようかなぁw
時代はフルスタックだけどww https://t.co/B3HVF89gPQ
— うずら@自由人になるために海外移住&海外で起業 (@freelife_man007) 2019年1月18日
今回から、2回に分けてITエンジニアの種類とそれぞれの「業務内容」「スキル」「資格」「年収」「独立のしやすさ」「将来性」を紹介する。
主なITエンジニアの種類
システムエンジニア(SE)
システムエンジニアは、一言でいえばシステム開発の現場の要だ。
システム開発の初期段階から参画し、ローンチ(システムの利用開始)までを一気通貫して行う。顧客の要求からシステムに必要な機能(仕様)を洗い出し、確定していくのが主な業務だ。システム開発に必要な費用を見積もったり、人員が足りない場合は自らプログラミングをしたりテストを支援したりすることもある。
システムエンジニアに求められるスキルは、コミュニケーション能力と言われている。
巷では、資料作成能力や論理的な文章力が必要、と言われているが、一番必要なのはスキルは、完成イメージの共有能力だ。最近では、設計書を作り込まずにプロトタイプやモックと言われる画面インターフェースのみ作り込んだ仕組みを共有して、顧客とディスカッションするという方法もとられている。
では、具体的に何か?と言えば、以下の能力となる。
そして、IT知識に関しては幅広い知識も必要となる。
プログラミング、データベース、ネットワーク、外部API等、様々な技術面の知識をフル回転させて、必要となる機能をどのようにすれば実現できるのか?を検討するスキルが必要となる。
★業務内容
- クライアントの業務内容の分析
- システムの提案、要求定義、要件定義
- システム、UIの設計
- システムの開発・テスト
- システムの運用・保守
- システムの運用マニュアル作成
★スキル
- クライアントの業務知識
- ITの基礎知識(プログラミング、データベース、ネットワーク)
- システムの完成イメージを共有する力
- コミュニケーション力
★資格
- 基本情報技術者試験
- 応用情報技術者試験
- クライアント業務に関連する資格(簿記、会計士など)
★年収
- 300万~1,000万
- フリーランスの場合、月60万以上が目安
★独立のしやすさ・将来性
- 独立のしやすさ:◎
- 将来性:◎
プログラムもできるSEは非常にニーズが高い。中でも、顧客の経営課題をシステムで解決する提案ができ、かつ自分で実際に開発できるWeb系システムエンジニアは、非常に重宝される。将来的には、AIの導入を提案できるシステムエンジニアは、ますます需要が高くなると予想されている。
★おすすめの書籍
顧客の業務分析を行う際に、深い業務知識も必要になる。業務知識について学ぶ場合は、以下の書籍が参考になる。私も購入したが、会社の業務ごとに体系化して必要な知識がまとまっているのでおすすめだ。
プロジェクトマネージャ(PM)
プロジェクトマネージャとは、エンジニアのマネジメントを行う職種だ。一般的には、開発プロジェクトの総指揮官にあたる。特に予算やITリソース(IT機器、開発用ソフトウェア、人員)の管理を行う。
開発費用の見積や、プロジェクトを円滑に進めるための進捗管理等、マネジメントに関する知識が必要となる。
★業務内容
- プロジェクトの責任者
- 必要なITリソースの調達と管理
★スキル
- 管理能力
- 幅広い技術・業務知識と経験
- コミュニケーション力
★資格
- プロジェクトマネージャ試験
★年収
- 500万~1,000万
- フリーランスの場合、月100万以上が目安
★独立のしやすさ・将来性
- 独立のしやすさ:△
- 将来性:△
RPG風に言えば、SEの上級職位に当たる。SEを長年経験すると、会社組織の中で必然的にPMとしてアサインされるケースが多い。
ところが、PMスキルは、会社組織の中で開発業務を行う際に最も必要とされるスキルなので、PMスキルだけで独立しようと思ってもニーズはない。
また、最近ではクラウド化によって大規模開発案件が減ってきている傾向にあるので、長期的に見て将来的に必要とされる職種ではないと予想される。
独立したフリーランスの場合、フリーランスのリーダー的なポジションについて参画メンバーのアサイン管理やリソース管理を行うことが多い。
プログラマ(PG)
プログラマとは、所謂ソフトウェアを実際に作成するエンジニアを指す。ソフトウェアエンジニアあるいはコーダーともいわれる。開発するシステムの種類によっては、「アプリケーション開発エンジニア」「組み込み開発エンジニア」「Webプログラマ」と呼ばれることもある。
実装する領域によっては、「サーバーサイドエンジニア」「フロントエンドエンジニア」とも呼ばれる。
日本では、ITエンジニア最下層の扱いを受けているが、海外では歴とした専門職だ。
一般的には、プログラミング言語の深い知識が必要になる。最近だと、クラウドやAPI(アプリケーション連携インターフェース)に関する実装知識も必要になる。
★業務内容
- 設計書に基づいた実装(プログラミング/コーディング)を行う。
★スキル
- アプリケーションプログラマ
C言語、C++、C#、Python、Java、Visual Basic、PL/SQLなどの開発言語に対する知識 - Webプログラマ
Javascript、HTML、PHP、VB.NETなどWeb関連言語に対する知識。最近ではCSSの知識も必要となる - 制御・組み込みプログラマ
C言語やアセンブリ言語などに対する知識
★資格
- 基本情報技術者試験
- 応用情報技術者試験
- 使用する言語に関連する資格
・Oracle Certified Java Programmer
・マイクロソフト認定ソリューションデベロッパー(MCSD)
・PHP技術者認定試験
※最近では、資格よりも開発実績や制作実績のほうが重要視されるので、個人的な経験上資格に注力するのはお勧めできない。
★年収
- 200万~500万
- フリーランスの場合、月40万以上が目安
★独立のしやすさ・将来性
- 独立のしやすさ:◎
- 将来性:○
独立のしやすい職種の1つ。ただし、SEと異なり、付加価値を増やすことができないと単価が安くなりがちである。
独立する場合は、できるだけ顧客の業務知識や経営スタンスを習得し、SE的なポジションで仕事をしたほうが単価は上がりやすい。
将来的には、AIに仕事を奪われると主張する人もいるが、結局のところAIを作り込むのにプログラミング業務が必要となるので、息が長い職種の1つだと予想されている。
ネットワークエンジニア(NE)
ネットワークエンジニアとは、社内やデータセンターのネットワークを構築・保守・運用するのが主な業務となる。
SEとして研修を受けたのちにNEとしてネットワーク専門部隊に配属されるケースもある。
インターネットの知識はもちろん、データ通信に関する深い知識と技術(TCP/IP、DNS、メール等)が必要だ。
さらに、最近では冗長構成や負荷分散設計、障害対応、セキュリティ対策等、ネットワークに関するあらゆる業務を請け負うことがある。
業務効率改善のためプログラミングを行うこともあるが、どちらかと言えば、
- サーバーの設定変更
- ネットワーク機器(ファイアウォール、ルーター、スイッチ)の設定変更
- ネットワークの通信監視
と言った、設定変更系の業務が多い。
★業務内容
- ネットワークの設計
- ネットワークの構築
- ネットワークの運用・保守
★スキル
- ネットワーク機器に関する知識
- ネットワーク機器(ファイアウォール、ルーター、スイッチ)
- サーバー(メモリ、CPU、HDD等)とそのOS(Windows、Linux)
- ネットワークの通信規約(プロトコル)に関する知識
- TCP/IP
- DNS
- メール全般(MTA、MUA、MDA)
- ポート制御(IP制限等)
★資格
- Cisco技術者認定資格(CCNA、CCNPなど)
- ネットワークスペシャリスト試験
※プログラマやシステムエンジニアと異なり、実績よりも資格が重要視されるケースがある
★年収
- 400万~800万
★独立のしやすさ・将来性
- 独立のしやすさ:△
- 将来性:○→△
独立のしずらい職種。職種上、フリーランスで活躍しているNEは少ない。どちらかというと社内SEとして客先に常駐するケースが多いので、単価はSEに近い。
因みに、私はネットワークエンジニアあがりのSEだが、ネットワークの知識(特にDNS、メール)とプログラミングの知識を組み合わせて、総合的に顧客の業務改善を提案することが多い。ネットワークの知識だけでは、顧客にとって有意義な提案につながりにくい。
独立を考えるのであれば、プログラミング等のアプリケーションレイヤーにも強いほうが有利。
クラウド化が進んでいる昨今、ネットワークの機器設定も自動化が進んできており、高度なネットワーク知識と経験がないエンジニアは不要になっていくと予想される。
データベースエンジニア(DE)
データベースエンジニアとは、データベースの設計・構築・運用・保守を専門的に行う職種だ。
データベースの基本知識(SQL、RDS)だけでなく、データベースを扱う様々な製品(MySQL、Oracle、PostgreSQL、Microsoft SQL Server等)にも精通する必要がある。データの運用設計(データメンテナンスや、不要になったデータの削除等)や、チューニングを行う場合もある。
★業務内容
- データベースの設計
- データベースの構築
- データベースの運用・保守
- データベースのチューニング・最適化
★スキル
- データベースに関する知識
- データベースのチューニングに関する知識
★資格
- データベーススペシャリスト
- ORACLE MASTER
★年収
- 300万円~700万円
★独立のしやすさ・将来性
- 独立のしやすさ:△
- 将来性:○
独立のしずらい職種。データベースエンジニア単体では難しいが、プログラミングができる&データベースに強いフリーランスエンジニアは重宝される。
特にWebサイト高速化の一環として、データベースのチューニングができるエンジニアは、それだけでスポット案件(高速化案件)を受注することも可能だ。
最後に
次回も、引き続きITエンジニアの種類についてお伝えしていこうと思う。
もし、ITエンジニアの仕事に興味があったり、フリーランスして案件を受注したい場合、以下のサイトでも様々な業種で募集しているので、是非参考にしていただければ幸いである。
Web制作会社LIGが運営するWebデザインスクール【デジタルハリウッド STUDIO by LIG】
クラウドワークスが運営する、フリーランス向け支払保証サービス「フィークル」