また、様々なベンチャー企業(スタートアップ)がアプリケーションの開発を進めており、それにともないシステムエンジニアの需要が非常に高まっています。
ただし、システムエンジニアとひとくくりに言っても、様々な種類のシステムエンジニアが存在します。
どのようなエンジニアがいるのか、本記事で紹介していきます。
システムエンジニアとは
一般的なイメージのように、黒い画面を開いて高速にタイピングを行っているようなエンジニアもいれば、
開発の進捗管理を行うために各エンジニアにヒアリングや予算管理を行うエンジニア、
企業のIT戦略を立案する為に、プログラミングというよりもパワーポイント等でスライドを作っているエンジニアもいます。
様々な職種のシステムエンジニアについて、必要な知識・経験や仕事内容を記載していきます。
システムエンジニアには大きく分けて5つのタイプと13の種類
- コンサル、管理系
- 開発系
- インフラ系
- 営業系
- デザイン系
それぞれどういう職種で、どのような仕事を行うのか、見ていきましょう。
コンサル、管理系
コンサル、管理系のエンジニアは、『上流』といわれ、
アプリケーションの仕様を決定したり、企業のIT戦略の立案を行ったりします。
給料はシステムエンジニアの中で非常に高いほうで、会社によっては30代で年収1000万円に到達します。
プロジェクトマネージャー
- 仕事内容
プロジェクトマネージャーは、案件の進捗管理を行います。
進捗管理といっても様々なことを行います。例えば、案件を進めるうえでのリスク管理や、予算管理、顧客への報告を行います。
- 必要な知識、経験
場合によっては他の案件のプロジェクトマネージャーとの協力体制をしくこともあり、案件外のことも考慮に入れるような、より広い範囲を見る視野やコミュニケーション能力が必要です。
案件のトラブルについては現場に入って解決案を提示するなど、システムエンジニアとしての深い経験も必要となります。
関連記事:プロジェクトマネージャーとは?役割や目指し方、年収までをご紹介
ストラテジスト
- 仕事内容
アプリケーションの仕様の決定から、会社の中長期的なIT戦略の立案を行います。
- 必要な知識、経験
顧客がやりたいことを正確に形にする能力が必要です。
したがって、幅広いITに関する知識だけではなく、顧客の業界や業務についても詳しくないといけません。
また、最新のITに関する知識も保有しておく必要がありますが、そのためには海外の資料についても目を通しておく必要があり、英語を難なく読む能力も必要です。
開発系
先述のプロジェクトマネージャのもとで、プログラミングを行い、アプリケーションやITシステムを形にしていく仕事になります。
プログラマー
- 仕事内容
作成された仕様書・設計書を元に、様々なプログラミング言語を使って実際にシステムをつくりあげる作業 (コーディング) を行います。
- 必要な知識、経験
プログラミング言語に関する深い知識が求められます。
また、分岐やループといった基本的なアルゴリズムの知識も必要です。
バグなどを発生させず、完成度の高いものを作り上げる必要があるので、集中力や注意深さといった要素も必要です。
フロントエンドエンジニア
- 仕事内容
プログラマーの中でも、アプリケーションWebサイトのユーザーから見える範囲を扱うことに特化したエンジニアが、フロントエンドエンジニアです。
Webサイトやスマホアプリの見た目を作っていくのが仕事です。
- 必要な知識、経験
PHPや、JavaScriptといった、Webサイトに特化したプログラミング言語に関する深い知識が必要です。
また、プログラマー同様に集中力や注意深さといった要素も必要です。
バックエンドエンジニア
- 仕事内容
プログラマーの中でも、アプリケーションWebサイトのユーザーから見えない範囲を扱うことに特化したエンジニアです。
データベースへの接続といった、Webサイトやスマホアプリの中身に関する動作を扱います。
- 必要な知識、経験
Pythonのような、処理に関するプログラミング言語について、深い知識が必要です。
また、フロントエンドエンジニアと違い、データベースやサーバーの知識についても必要です。
エンベデッドエンジニア
- 仕事内容
車や家電製品などの機械に搭載されるプログラムをコーディングしていくエンジニアです。別名、組込エンジニアとも呼ばれます。
- 必要な知識、経験
プログラミング言語に関する知識のほか、温度センサーや電波といった、ハードウェアに関する知識が必要です。
基本的に、バグを出してしまうと製品の改修を行い修正しないといけないため、バグは絶対に起こさないような、あらゆる場面を想定する能力や、注意深さが必要です。
インフラ系
サーバやネットワークなど、システムの基盤を扱うエンジニアのことをインフラエンジニアといいます。
それぞれに対して深い知識が必要であるため、専門とする分野によって名前が違っています。
ネットワークエンジニア
- 仕事内容
会社内などのネットワークであるLANや、インターネットに関するWANなどのネットワークを専門とするエンジニアのことをネットワークエンジニアといいます。場合によっては、音声電話やセキュリティといった分野についてもネットワークエンジニアがカバーを行います。
- 必要な知識、経験
IPアドレスなどの通信に関する知識や、ルーターやスイッチといった機材に関する知識など、非常に専門的な知識を求められます。また、設定ミス等を行うとネットワークが繋がりにくくなってしまい、幅広い人に影響が出てしまうため、注意深さが必要になります。
サーバーエンジニア
- 仕事内容
サーバの機器自体に関する管理や設定、ならびに、サーバの機器に搭載されたOSなどの設定を行うエンジニアです。サーバーの設定が終わっても、正常に稼働しているか、外部から攻撃を受けていないかといった点について、運用監視を行うこともあります。
- 必要な知識、経験
サーバの機器自体に関する、性能や電源の知識が必要になります。
また、OSに関しては様々な種類(例えばWindowsとLinuxなど)や設定項目がありますので、
それぞれについて詳しくなっておく必要があります。
セキュリティエンジニア
- 仕事内容
情報セキュリティに特化したエンジニアで、サーバやネットワークに関するセキュリティの設計監理を行うほか、最新のセキュリティに関する情報のキャッチアップや、セキュリティ事故に関する対応を行います。
- 必要な知識、経験
ネットワークやサーバーのセキュリティに関する知識や、セキュアプログラミングなどのプログラミングに関する知識も必要です。また、最新の情報を常に収集し続ける必要があるため、情報収集能力や英語を読む能力も必要です。
クラウドエンジニア
- 仕事内容
AWS(Amazon Web Services)や、GCP(Google Cloud Platform)といった、パブリッククラウドに関する技術に精通したエンジニアで、パブリッククラウドを利用したITサービスの設計を行います。
- 必要な知識、経験
ネットワークやサーバーに関する知識のほか、各パブリッククラウドの利用・設計のための知識が必要です。
営業系
自社の商品を売るためのエンジニアになります。エンジニアとしての素養のほかに、営業としての素養も必要になります。
セールスエンジニア
- 仕事内容
エンジニアとしての技術を持ちながら、自社製品などの売り込み(営業)の役割も兼ねるエンジニアです。
- 必要な知識、経験
製品の専門的な部分を理解しつつ、営業としてわかりやすく説明する能力が必要です。
また、他社製品の情報収集や業界の動向の調査能力など、人脈や視野の広さについても必要になります。
エヴァンジェリスト
- 仕事内容
イベントなどで最新の技術を広報するエンジニアのことです。
- 必要な知識、経験
難解な技術を、ITに疎い人に対してもわかりやすく説明する説明能力や資料作成能力が必要です。また、広報する知識に関しては深い知識が必要となるため、特定の分野に対する調査能力も必要です。
デザイン系
エンジニアというよりは、デザイナー寄りの業務を行うエンジニアです。
Webデザイナー
- 仕事内容
Webサイトの配色やアプリケーションの画面遷移などを専門的な知見からアドバイスしてデザインをおこないます。UI/UXエンジニアと呼ばれることもあります。
- 必要な知識、経験
UI/UXに関する知識が必要で、例えば色彩の感覚とか、ボタンのデザイン、使いやすさといった内容の知識が必要です。エンジニアというよりはデザイナーとしての能力が求められます。
まとめ
それぞれに必要なスキルや向き不向きがあるので、
転職を目指す方や、エンジニアに仕事を依頼する方は留意してみるといいでしょう。