システムエンジニアとプログラマーは、ほとんど同じ職種のように感じる人は多いと思います。簡単に言うとシステムエンジニアはシステムの設計、プログラマーはコーディングという役割の違いがあります。実際にはもっと細かく分かれているので、まずはシステムエンジニアの仕事内容について詳しく見てみましょう。

システムエンジニアがまず行う仕事は要件定義で、これは顧客の要求を明確な概要(設計書のようなもの)にまとめることを指します。顧客としっかり打合せしておかなければ期待と違うものができてしまうため、ここは念入りに行う必要があるでしょう。
次に設計を行いますが、これには2種類の設計があります。

まず、基本設計は完成物の見本を設計する作業で、詳細設計は作る工程を詳しく決めて、それをプログラマーに伝えるものです。プログラマーは詳細設計を受け取り、間違いが無いようにシステムエンジニアとしっかり確認作業をしながら、作業を開始します。
基本的にコーディングがプログラマーのメインの仕事となり、チーム内で連携しながら設計に忠実に完成させていくのです。

完成後にテストを行いますが、まずはプログラマーが単体テストを行います。そして次に、システムエンジニアが制作物全体をチェックする統合テストを行い、顧客に見てもらうことで一連の開発作業は完了です。
システムエンジニアであれば、顧客の希望(イメージ)を形にすることが魅力で、プログラマーであれば、最新のスキルを常に追うので好奇心が満たされることが魅力だとと言えます。自分がどちらに魅力を感じるかで職種を決めていくといいでしょう。