主な役割と仕事内容

システムエンジニアの役割は、顧客や外部コンサルタントが決定した業務要件定義(自社の業務を遂行・効率化する上でどのようなシステムが必要か、についての決定事項)をもとにシステムを構築し、顧客に納品することである。
よってその業務内容として、まずシステム要件定義とシステム設計を行い、システム開発会社等にプログラミング業務を発注する上で必要な各種設計書を作成する。次に、システム開発会社にプログラミング業務を発注する、または自社内に組織した派遣プログラマを主とするプログラミングチームに制作させる。そして、完成したシステムのテストを実施し、顧客にシステムを納品し、必要に応じて運用のサポートを行う、という流れが一般的である。
顧客の会社規模や、開発対象となるシステムの規模によっては、システムエンジニアが顧客と調整のうえ、業務要件定義を行うこともある。

システム開発会社に、プログラミング業務を発注するという性質上、システムエンジニア自身もプログラミングスキルを有していることが求められる。
また、企業が利用する業務用システムにおいて、リレーショナルデータベースマネジメントシステムを使用することは大抵の場合は確定要件であるため、データベース設計のスキルは必須だ。
システム開発を受注する以上、ボトムアップ法やファンクションポイント法を始めとする見積もり技術は欠かせず、またシステムのテストを遂行する上でのマネジメント能力、テスト結果の評価技術を有しているとなお良い。