プログラマとSE(システムエンジニア)の違いって?
よく「プログラマとSE(システムエンジニア)ってどう違うの?」という質問をされることがあります。
TL;DR
- プログラマとは「SEが作った仕様書通りにプログラムを書く人」
- SEとは「顧客やユーザの要望をまとめて設計をする人」
工程による分類
IT業界、特にSIer(システム開発を主とする会社)では担当する工程によって
などのように分類されることが多いと思います。
例外はありますが、基本的にはテスターから順番にステップアップしていくことが多いです。
テスターについてはテスト専門のプロフェッショナルが担当することもありますが、ここではSIerでよくある光景としてのテスターについて説明します。
テスター
仕様書に書かれた項目通りにテストを行いバグのレポートを作成、報告
プログラマ
SEが作成した設計書をもとに、プログラミング、プログラム自体の動作テストを行う
SE
顧客やユーザの要望を聞き、仕様を決定する
利用技術の選定
仕様に基づいて設計を行う
完成したシステムが仕様通りに動作するかを確認する
PM
システムの開発計画、予算を策定する
開発スケジュールを作成し、進捗の管理を行う
社内外のステークホルダとの調整を行う
プロジェクト全体の責任者
利用技術の選定を行うこともある
つまり
- プログラマとは「SEが作った仕様書通りにプログラムを書く人」
- SEとは「顧客やユーザの要望をまとめて設計をする人」
ざっくり説明するとこのような感じとなります。
ちなみにWeb系では上記のような分け方ではなく、専門分野によって「xxエンジニア」という呼び方がされることが多いです。