IT業界のエンジニア不足が深刻と言われていますが、一口にエンジニアと言っても担当している分野や専門によって幾つもの職種に分けられます。未経験からエンジニアを目指すなら、自分のなりたい職種を目指して必要とされるスキルを学ばなければなりません。
今回は、エンジニアにはどのような種類があるのかということと、それぞれのエンジニアではどのような業務内容となるのか?どのようなスキルが必要なのか?ということをお伝えします。
- エンジニアの職種とそれぞれの職種に求められるスキル
- エンジニアの職種によっては資格も必要
目次
システムエンジニア
システムエンジニアとは、コンピュータシステム開発の場面において設計から開発、そしてテストまでを一貫して計画し、進めていく存在です。下のプログラマーもここに入ることがありますが、IT業界では違う職種として扱われます。
納期が迫っていれば開発やテストを手伝ったりとオールラウンダーであることが求められるケースもありますが、主な仕事はクライアントとの打ち合わせを通じてその要求を紐解き、仕様を確定していくことです。クライアントとの対話やクライアント提供の資料から業務内容を知り齟齬なくシステムに落とし込んでいくためには、コミュニケーション力や読解力が必要になります。
さらに顧客の要求に沿ったシステムがどんなものなのか、設計書を通じてプログラマに正しく伝えるためには論理的な文章力が必要になります。
■業務内容
- システムの提案・要件定義
- システムの設計書作成
- システムの開発・テスト
- システムの運用・保守
- マニュアルの作成
■必要スキル
- クライアントの業務知識
- コミュニケーション力
- 設計書作成のための国語力(文章伝達力)
- 使用する技術(言語)に対する知識
プログラマー
IT業界以外の人から見るとシステムエンジニアとの見分けつきにくいかもしれません。プログラマとは、SEなどが作成した仕様書(設計書)をもとに、機能を実装していくエンジニアのことです。
単純にプログラミング(コーディング)するだけのポジションの場合、コーダーと呼ばれる場合もあります。またソフトウェア開発を担当するエンジニアとして、ソフトウェアエンジニア(ソフトエンジニア)と呼ばれる場合もあります。
対応するシステムによって「アプリケーションプログラマ」「Webプログラマ」「制御・組み込みプログラマ」など、使用する言語によって専門的に分化しています。
学ぶ必要があるのは、自己統制力です。具体的には可能な限り読みやすいコードを書き、開発中の変更により秩序がなくなってきた時にはきちんとリファクタリングにより使用されていないコードを除去し、必要なコメントを追加できる能力です。そしてコードの読みやすさ、分かりやすさ、保守しやすさをしっかりと意識して実装する必要があります。
■業務内容
- 設計書に基づいて実装(プログラミング/コーディング)する
■必要スキル
- アプリケーションプログラマ
:C言語、C++、C#、Java、VB、PL/SQLなどの開発言語に対する知識
- Webプログラマ
:JavaScript、HTML、PHP、VB.NETなどWeb関連言語に対する知識
- 制御・組み込みプログラマ
:C言語やアセンブリ言語などに対する知識
Webエンジニアへの転職に興味のある方はこちら
データベースエンジニア
たくさんの情報を効率よく検索するには、データベースエンジニアの専門的知識が欠かせません。
例えば図書館や書店は、ある基準を持って本が並んでいます。おおざっぱに小説、コミック、新書、雑誌などというように、並び順に法則があります。さらにその中でも書名順か、著者順か、整理する人にもよるが、整理整頓されていれば目的の本は見つけやすいのではないでしょうか。
データベースエンジニアは「どう並べたら早くなるか」「いったいどれくらいのデータを扱うか」といった、コンピュータシステムの司書にあたる役を担います。データベースエンジニアとは、データベースの設計・構築・運用・保守を専門的に行うSEの一種です。こちらもNEと同じく、SEとして入社したのちに得意分野や配属先の関係で分化するケースもあります。データベースを扱う様々な製品に精通し、データベース自体の設計や構築だけでなく、運用方法の設計を担当する場合もあります。
■業務内容
- データベースの設計
- データベースの構築
- データベースの運用・保守
- データベースのインストール・最適化
■必要スキル
- データベースに関する知識
- データベースのチューニングに関する知識
■関連資格
- データベーススペシャリスト
- ORACLE MASTER等
ネットワークエンジニア
情報通信網を維持する仕事です。目には見えないところでどこか通信に異常はないか、不正な侵入はないか、日夜見張っています。コンピュータネットワークの設計・構築・運用・保守を専門的に行うSEの一種です。
そのため、SEという職種で入社したのちに得意分野や配属先の関係で分化するケースもあります。データ通信に関するさまざまな技術(ルータ、スイッチ、DNS、メール、ファイアウォールなど)に精通しネットワークシステムの構築を担当します。なお実際に現場でLANケーブルの敷設工事は、LAN敷設業者の作業員が担当することが多く、ネットワークエンジニアが担当するのは稀です。
■業務内容
- ネットワークの設計
- ネットワークの構築
- ネットワークの運用・保守
■必要スキル
- ネットワークに関する知識
- TCP/IP
- ルーティング・スイッチング
- サーバ(DNS・WWWなど)
- メール関連(MTA・MUA・MDA)
- ファイアーウォール
■関連資格
- Cisco技術者認定資格(CCNAなど)
- ネットワークスペシャリスト試験
セールスエンジニア
普通の営業担当者より技術情報に詳しく顧客のシステムを操作して問題を解決したり、顧客と技術的な話を進められるエンジニアをこう呼びます。営業担当者が無理な契約を取り付けたりしないよう間に入りつつ、社内の開発エンジニアと相談して顧客の課題を解決するなど、顧客と開発の橋渡しとなる役目を担います。
通常、営業担当者などといっしょに顧客へ訪問し、技術面から交渉や調整のアドバイスを担当しつつ、営業活動を支援するのが主な業務です。
一般の営業職との違いとして、クライアント側の技術担当者と対等に会話できるだけの知識と、逆に専門用語に詳しくない担当者へ分かりやすく説明するためのスキルが必要な点が挙げられます。
■業務内容
- システム導入の提案・販売
- クライアントとの調整・交渉
- 技術面からの営業サポート
■必要スキル
- 売り込む対象のシステムに関する知識
- 技術面の知識
- コミュニケーション力
組み込みエンジニア
ガラケーや電子手帳など、パソコンではなくとも何かしら情報を処理する機器の開発では、彼ら組み込みエンジニアが活躍して出来ています。パソコンと違って処理能力が高くないので、独自の技術が求められます。電子レンジや炊飯器などにも動作を制御するソフトが入っていることで、いろいろな機能を実現しています。
またスマートフォンなども外部アプリケーションだけではなく、バックライトの自動調節や電話を掛ける仕組みなどに制御・組み込みの部分があります。このようにとても重要な分野ですが、慢性的に人材不足な状態であると言われています。
■業務内容
- 制御・組み込みソフトウェアの設計
- 制御・組み込みソフトウェアの開発
■必要スキル
- C言語、C++、Java、アセンブリ言語などに関する知識
■関連資格
- エンベデッドシステムスペシャリスト試験
サーバーエンジニア
コンピュータシステム全体でどこに何台サーバがあるかなど、大きな枠組みを設計するエンジニアです。
データベースエンジニアやネットワークエンジニアと協業することも多いですが、こちらはサーバの機器設定や、置き場所について考えるエンジニアになります。サーバやネットワークの設計・構築だけでなく、本番リリース後に正常に稼働(動作)させるために運用・保守もします。
インフラ系のエンジニアは開発系のエンジニアのように作ったものを見せることが難しいため、未経験から目指す場合は資格を取得しておくとよいかもしれません。
■業務内容
- サーバの設計
- サーバの構築
- サーバの運用・保守
- サーバのセキュリティ対策
■必要スキル
- OSの知識
- ネットワークセキュリティの知識
- グループウェアの知識
- アプリケーション開発の知識 ※クライアント/サーバシステムの場合
■関連資格
- Linux技術者認定資格(LinuC、LPIC)
- Cisco技術者認定資格(CCNAなど)
- マイクロソフト認定プロフェッショナル(MCSA: Windows Serverなど)
セキュリティエンジニア
セキュリティエンジニアはコンピュータウイルスや情報漏洩の防止について、本当にこれで安全か、誰からも不正な侵入は受けないかといつもアンテナを張っています。名前のとおり情報セキュリティを専門にするエンジニアです。ネットワークに一切繋がないシステムを除いて、これから新たに構築するシステムでセキュリティの考慮が不要なシステムはほとんどないため今後も需要が増えることが予想されます。
ただし、業務においてセキュリティのみの仕事というのはあまりなく、システム開発やインフラ構築におけるあらゆる箇所でセキュリティ要件について検討し、設計・実装・テストなどを担当します。セキュリティ面のアドバイスや提案をメインにおこなう場合はセキュリティコンサルタントといって区別することもあります。また、法律・関連制度の知識が求められる場面も多いでしょう。
様々な人とコミュニケーションを取ることがセキュリティの仕事では必然的に多くなります。経営者から現場の担当者まで論理的に物事を説明し、納得させられる能力が求められます。セキュリティという業務に係わる以上、当然高いモラルが要求されます。色々な場面で「想定の範囲外」を考慮する必要があるため、柔軟な発想が必要です。常識にとらわれないことも時には要求されるでしょう。
Webエンジニア
Webエンジニアとは、Webサイトやモバイルサイトで使用するWebアプリケーションを開発する職業です。FacebookやTwitterなどのSNSを始めWeb上では新たなシステム機能が年々増えており、それに伴いWebエンジニアの採用ニーズも高まっています。
今後もWebアプリケーションの開発ニーズは高水準を維持することが予測され、Webエンジニアとしてしっかりとしたスキルを身につけることは、まさに手に職をつけることになります。
Webエンジニアへの転職に興味のある方はこちら
ITコンサルタント
「ITの活用によって経営課題をどのように解決していくか」を提案・検討するのがITコンサルタントの役目です。企業によってはSE職がコンサルタントの業務もすることがあります。
ITコンサルタントは顧客の感じている課題についてヒアリングし、現状の調査・分析、改善案の提案といった仕事がメインのためコミュニケーション能力やプレゼンテーション能力が求められます。
もちろんITの活用を提案するために、ITの基本的な知識も必要です。SEのキャリアパスの一つとして、ITコンサルタントへの転職も人気があります。
Webエンジニアへの転職に興味のある方はこちら
まとめ
これまで紹介したように一口にエンジニアと言っても多くの職種があり、それぞれ求められるスキルが違っているうえ、中には資格が必要な職種もあります。そして専門家として技術を極めるか、最新の知識を組み合わせて勝負するのか、それともフリーランスとして独立して自分の強みを活かすプロジェクトに集中するかなど、様々なキャリア選択が可能です。
これからITエンジニアを目指そうとしている方へ、自分がどの種類のエンジニアに向いている/興味が持てそうか、本記事が考えるきっかけになれば幸いです。
Webエンジニアへの転職に興味のある方はこちら
そのためかシステムエンジニアは意外に文系出身の方が多い職業ですが、どんな機能が実現可能かプログラミングからデータベース、ネットワークに至るまで、技術的な面の知識もしっかりと学んでおく必要があります。