プログラマーは、プログラミング言語を駆使してプログラムを書いて、アプリケーションを作る役割があります。実際の仕事としては、プログラミング、テスト、運用保守などを担っています。もう少し詳しく述べると、システムエンジニアが設計した仕様書に基づいて、プログラミングをしていきます。プログラムが完成しても終わりではなく、テストをしてバグを見つけて改善することも仕事の一つです。
プログラマーの魅力としては、自分の開発したものが世に出て実際に活用されていることにやりがいを感じる人が多くいます。最先端の技術を駆使して、ものづくりに携わることができるのはプログラマーならではの魅力の一つと言えます。
システムエンジニアは、クライアントからの要求を満たすのに最も適したシステム開発を行うことが役割になります。システムエンジニアの仕事内容は、いくつかの段階に分かれます。まず要求分析という段階では、クライアントにヒアリングをしてどういったシステムを求めているか確認します。そして、クライアントの要求をシステム全体の概要に落とし込む要件定義があり、基本設計・詳細設計をとおしてシステム設計の仕様書を作ります。現場においては、システムエンジニア自身がプログラミング業務にも参加することがあります。
システムエンジニアはいわばプログラマーの上位職であり、システムエンジニアの魅力もプログラマーのものと重なる部分があります。システムエンジニアならではなのやりがいで言えば、プログラマーたちのリーダー的なポジションを担うことからチームをまとめて仕事を完成させるといった達成感が味わえます。
これら以外にもエンジニアにはたくさんの仕事があります。ほかにもエンジニアという仕事にはどんな職種があるのか調べてみるのもおもしろいでしょう。