観光地としても人気が高く、日々多くの方で賑わっている、浅草。飲食店やカフェなどは伝統ある老舗が軒をつらねており、場所によっては開店前から行列ができているなんてことも珍しくありません。 [adinserter block= […]
多すぎてわからない!エンジニアの種類3つ
IT業界のエンジニアとは、一昔前は「システムエンジニア」や「プログラマ」といったものを指し、一通りの分野を何でも対応する「何でも屋」のようなスタイルがありましたが、近年は様々なIT技術の進歩や広がりにより、専門的な分野を得意とするエンジニアを「○○エンジニア」と呼ぶようになってきています。
そのため非常に多岐にわたり自分が目指すものがどのようなエンジニアなのかイメージしにくくなっていますが、これを理解することで失敗しないITエンジニアとして活躍することができるため、複雑なITエンジニアについて分類し、それぞれの役割を明確にまとめていきます。
ITエンジニアの大分類
エンジニアとは大きく大別して次の3つと言うことができます。
・プロジェクトマネージャ
・システムエンジニア
・プログラマ
以下にそれぞれの役割について整理していきたいと思います。
1.プロジェクトマネージャ
プロジェクトマネージャはエンジニアが集まってシステムの開発を行う際にリーダーとしてプロジェクト全体のまとめ役として活躍する立場です。予算の管理や人員の管理、様々なプロジェクト内で発生する問題の解決、お客様との窓口などを行います。後に紹介するシステムエンジニアやプログラマなどを何年も経験し、いくつもの開発プロジェクトを経験した人が就任するのが一般的です。プロジェクト全体の責任者でもあり、プロジェクトの中で発生した問題について意思決定をする必要がある立場でもあります。
2.システムエンジニア
いわゆるSE(エスイー)と呼ばれることが多いもので、広く一般的に「エンジニア」と言えばこのシステムエンジニアを指すことが多いです。このシステムエンジニアはシステム開発の中心となり、お客様から要求事項をまとめ要件定義を行い、システム全体の外部設計から内部設計、ソフトウェアの設計からプログラムの作成、試験、品質管理まで幅広く行います。プログラムの作成については開発規模が大きければ次に紹介するプログラマへ作業を依頼することもありますが、自分自身でもプログラムを作成することも多く、一般的にはプログラマの上級職として位置づけられていることが多いです。
また、開発するシステムの仕様について深く理解することも求められ、お客様の業務の内容を深く知ることも必要です。どうしても身につけるスキルはIT系の技術的なことに寄っていきますが、お客様の業務理解をするためにも経理であったり法律であったり、経済に関することや様々な世の中の一般的な知識を身につけておくことで意外なところで業務仕様を理解するのに役立つことがあります。
3.プログラマ
プログラマはシステムエンジニアの行う一連の開発作業の中で、プログラムの作成・試験のあたりを中心に担当する役割を負います。一般的に設計といった作業はすでにシステムエンジニアによって行われており、設計書として受け取った仕様に基づいたプログラムを作成して試験までを行うのがプログラマです。IT業界へ入ると最初にプログラムの勉強を行うことが多いため、最初はプログラマとして活躍していき、だんだんとシステム全体のことについて気を配ることができるようになってくるとシステムエンジニアとして設計やお客様の業務について学んだりすることが多くなります。システムエンジニアがプログラマの上級職という位置付けになっていることも多く、プログラマという職業が低く見られがちですが、プログラマといっても設計や業務仕様についての理解は必要で、より専門的な知識や技術を持つプログラマとして活躍する人も多い分野です。
4. 専門分野ごとのエンジニア
前述したシステムエンジニアですが、近年のIT技術はプログラミング言語ひとつをとってみても広範囲におよび、サーバの構築やデータベース、ネットワークなど非常に多岐にわたる技術についてシステムエンジニアが全て精通することは非常に難しくなっています。そのため、特定の分野に特化したエンジニアという存在が近年登場しています。
例えば、ネットワークに関して得意であればネットワークエンジニアとしてシステム開発時にネットワークの設計や構築、運用保守を担当するエンジニアがいます。また、データベースに精通した知識を持っている人はデータベース設計からSQLのチューニングといった分野を専門に扱うデータベースエンジニアとして活躍します。その他、主にクライアント周りのフロントエンドに特化していればフロントエンドエンジニアやサーバ構築などに特化したサーバエンジニアなど多岐にわたります。
ざっと挙げてみると、
・ネットワークエンジニア
・データベースエンジニア
・サーバエンジニア
・Webエンジニア
・フロントエンドエンジニア
・組み込みエンジニア
など自分が得意とする分野のエンジニアと名乗ることで専門性を出すことができる立場になります。一般的に上に挙げたようなエンジニアの種類が多いだけで、人工知能やビッグデータに関することなど、自分が得意とする分野を今後名乗るエンジニアも増えてくると考えられます。
5.役割に応じたエンジニア
専門分野に近い分類ではありますが、どちらかというとシステム開発の工程における一部分や特定の作業や仕事に関する部分に特化したエンジニアという存在も増えています。
例えば、テストエンジニアというのはテストを専門に行うエンジニアとして近年増えてきています。テスト手法やテスティングフレームワークなどテストに特化した技術というものも多く世の中に広まっており、扱うにはそれなりの経験やスキルも必要になってくるため、テストを専門に行うエンジニアも多いです。また、セールスエンジニアのように営業を仕事とするエンジニアもいます。お客様から最初に開発の依頼を受けた際に、営業マンと一緒にお客様のところへ行って技術的な話や実現性などの話をするエンジニアです。営業という仕事の一部でありながら技術的なことについても精通している必要があり、これも近年は専門的な役割として活躍の場を増やしているエンジニアの種類です。
その他、以下のようなものがあります。
・フィールドエンジニア
・サポートエンジニア
・社内SE
・ブリッジSE
フィールドエンジニアやサポートエンジニアはお客様の元で常駐し、運用や保守を専門に行います。また、社内SEはその名の通り社内のシステムについて開発や保守を行います。ブリッジSEという役割もありますが、これは海外のエンジニアとの橋渡しを行うためのエンジニアです。
まとめ
ひとまとめにエンジニアと言っても、実際に行う作業はそれぞれの役割によって大きく異なります。
自身がエンジニアとして活躍したいと考える場合には、自分は何が得意で何がしたいと思っているのか、具体的な考えを持って行動に移すようにしましょう。