仕事内容

プログラマーとSEの違いは?それぞれの仕事内容を解説します

更新日:

IT関連と聞くとよく聞くのが「プログラマー」と「システムエンジニア(SE)」
しかし、皆さんこの2つの職種の違いってわかりますか?

大半の方はわからないのではないでしょうか。

そこで今回は、プログラマーとシステムエンジニア(SE)の違いを解説していきます。

まずはソフト・システム開発の全体像を知ろう!

システムやソフトウェアの開発は下の図のように進みます。

わかりずらいでしょうから、
ここでは1つずつ説明していきます。

要求定義

要求定義とは顧客から作ってほしいソフトウェアやシステムの要望を
聞きだすことです。

例えば顧客情報を管理するシステムを依頼された時、
「氏名」「年齢」「住所」など、なにをデータベースに記録するのか必要な要求をまとめます。

基本設計

要求定義を元に基本設計書を作成します。

顧客の「ここで使う仕事をより効率的にして欲しい!」という要望に対して、
「それならこのようなシステムしましょう」と全体像をまとめる工程です

詳細設計

基本設計をより具体的にしたものが詳細設計になります。

基本設計ではざっくりとしたシステムの全体像しか見えてきません。
そこで詳細設計では実際にプログラムを組む際に「どうすればいいのか」をまとめていきます。

実装

システムを作るために、プログラミングしていく行程です。

「if(a>1{printf(i)})」
↑↑
このようなアルファベットの羅列を打ち込んでいきます。

ここの内容が皆さんがもつプログラマーのイメージなのではないでしょうか。

単体テスト

実装を行った後にバグがないかチェックする工程です。

バグ(不具合)が残っていたら、不具合修正のため再び実装を行います。

結合テスト

ばらばらだった機能をまとめて、テストを行います。

通常、システムを作成していくときに全体を同時に作ることはありません。

例えば、顧客データを記録して本社に送信する機能を持つシステムの場合、
データを記録する機能と送信する機能を別々に作成します。

単体テストだとデータを記録する機能、
送信する機能をそれぞれテストしていきます。

その2つの機能を同時に使って行うものが結合テストです。

総合テスト

通常の単体テスト・結合テストは自社で行うテストですが、
総合テストは現地に行っておこないます。

本番環境で正しく稼働するのかチェックしていきます。

ここまで来ると、もうすぐシステムは完成します。

導入

全てのテストが終わり、実際にシステムを稼働していきます。
ここまでが一般的なプログラマー・SEの仕事内容です。

システムエンジニア(SE)の仕事内容

ではシステムエンジニア(SE)が実際に行う仕事内容を解説します。

先ほど説明した「要求定義」「基本設計」「詳細設計」の作成がシステムエンジニア(SE)の仕事になります。

上流工程と呼ばれるものですね。

顧客からの要望を正しく理解し、
プログラミングできるようにまとめていく作業です。

皆さんがイメージしているであろう、プログラミングは行いません。

ただし、「基本設計」「詳細設計」を作成する時にはプログラミングの知識が必要不可欠になってきます。

また「導入」もプログラマーと一緒に行うことも多い様です。

プログラマーの仕事内容

プログラマーは「実装」「テスト」「導入」を行います。
下流行程と呼ばれるものです。

皆さんのイメージするプログラミングは「実装」の部分に当たります。

「実装」の行程が1番時間のかかりそうな作業のように思えますが、
実際はテストの方が大変です。

プログラマーとシステムエンジニア(SE)の境界線が曖昧なことも

先ほど説明した通りプログラマーとシステムエンジニア(SE)は仕事内容が違います。

しかし、企業によっては境界線が曖昧な場合もあるのです。

例えば私はプログラマーですが、基本設計書や詳細設計書を作成することもありますし、
SEが実装を行っている場合もあります。

まとめ

いかがだったでしょうか。

今回はプログラマーとシステムエンジニア(SE)の違いについて解説しました。

まとめると

・システムエンジニア(SE)は顧客の要望を聞きだし、プログラマーに伝える
・プログラマーはSEからの情報を元にシステムを作る

になります。

どちらの職業も今後需要が増していくので、
これから目指される方にはチャンスかも知れませんね。

-仕事内容
-,

Copyright© ITエンジニアの底力 , 2019 All Rights Reserved Powered by STINGER.