プログラマとシステムエンジニア、その違いがわかりますか?
IT関連の職種でプログラマ(PG)とシステムエンジニア(SE)って良く聞きます。
プログラマは何となくわかるけど、システムエンジニアって?
他業種の人やこれから社会人になる人にとって、仕事内容がわからない事が多いようです。
では何が違うのか、これから目指すのは、今の自分はどちらなのか。
そういったちょっとした疑問について考えていきます。
プログラマとシステムエンジニアの違いとは?
プログラマとシステムエンジニアの大きな違いは仕事の範囲の違いです。
どちらもシステム開発に携わるという点では同じですが、システム開発と一言に言っても以下のように工程が多岐にわたります。
・要求分析
・要件定義
・基本設計
・詳細設計
・プログラミング
・テスト
・納品
・運用、保守
この各工程の担当範囲の違いが、プログラマなのかシステムエンジニアなのかの違いになります。
プログラマとは
プログラマは、名前の通りプログラミングが仕事の主となります。
システム開発の中で最もボリュームが大きいのがプログラミングとテストの工程で、この部分に携わる人が必然的に多くなります。
先ほどの例でいくと、ここですね。
・要求分析
・要件定義
・基本設計
・詳細設計
・プログラミング ←ここ
・テスト ←ここ
・納品
・運用、保守
プログラマは、システム開発毎に様々なプログラミング言語(C、C++、Java、PHP、C#、VB、Perl等々)を使い開発を行っていきます。
また作成したプログラムのテストを行っていく事もプログラマにとって大事な仕事になります。
システムエンジニアとは
システムエンジニアの主な仕事は、システム開発全体のマネジメントとなります。
クライアントからの要求をまとめ、要件定義を行いシステムの設計を行います。
基本設計をもとに詳細設計を行い、プログラマに開発を依頼します。
テストの工程に参加する場合もありますが、納品・運用・保守まで行います。
先ほどの例でいくと、こんな感じ。
・要求分析 ←ここ
・要件定義 ←ここ
・基本設計 ←ここ
・詳細設計 ←ここ
・プログラミング
・テスト ←ここ
・納品 ←ここ
・運用、保守 ←ここ
このように、システム開発全体に関わっていく仕事が、システムエンジニアの仕事となります。
プログラマとシステムエンジニアによくある話
良く言われることで、システムエンジニアはプログラマの上級職にあたると言われます。
それはプログラマを経てシステムエンジニアになるのが一般的だからですが、どちらの職が上か下かはあまり意味がないと思っています。
自分自身が自信を持ってできる、したいと思う方を選ぶ事が一番大事です。
さいごに
プログラマは、一つ一つのプログラムを動かしていく楽しみがあります。
システムエンジニアは、全体のシステムを形にしていくという楽しみがあります。
そのどちらが向いているか、は、人によります。
また、プログラマとシステムエンジニアとは単なる名称です。
一部の企業では、システムエンジニアを名乗るには社内試験で合格すること、という条件がある場合もありますが、多くの企業ではそのようなものはありません。
つまり、特別な試験や資格があるわけでもなく、自分自身のプロフィールでどちらを使うかは自分で決める事になります。
IT関連以外の方は、「へーそうなんだ」と思っていただけたらと思いますが、IT関連職を目指す方は、
・システムエンジニアとして仕事をする場合は、システム設計した事がありませんは通用しません。
・プログラマとして仕事する場合も同様ですが、プログラミングできませんはもちろん仕事では通用しません。
ということで、ぜひ、自分が自信を持って「私は○○○○」ですと言えるように、仕事と向き合っていってください。