システムエンジニア(SE)とプログラマー(PG)の違いとは?
システムエンジニアとプログラマーの違いはなに?
と聞かれたときに正確に答えられる人は多くありません。というのも、それぞれの職種には明確な定義や範疇がないからです。
- システムエンジニアはプログラムを組めるの?
- システムエンジニアにできて、プログラマーにできないことはあるの?
この記事では解りにくいシステムエンジニアとプログラマーの違いについて解説します。
システムエンジニアとプログラマーの違い
同じITエンジニアであり、協働して仕事するシステムエンジニアとプログラマーですが、その役割は全く違います。
まずは、この両者の違いについて解説します。
システムエンジニア(SE)とは
主に会社の情報システム部で働く、社内SEと呼ばれるシステムエンジニアは、おおまかに分けると次の4つに仕事を担当します。
- ITを活用した経営戦略の推進
- システムの構築・運用・保守
- インフラの構築・運用・保守
- プロジェクトの運営、予算管理等
このうち、「ITを活用した経営戦略の推進」、「インフラの構築・運用・保守(社内のヘルプデスク業務を含む)」では、必ずしもプログラミングスキルを必要としません。
「システムの構築・運用・保守」を担当している場合でも、実際の業務を外部業者のプログラマーに委託し、その窓口として働いている場合も多く、そういった方はプログラミングスキルが無くても勤まる仕事です。
関連:システムエンジニアの役割と3つの種類とは【SIer・社内・客先常駐型SEの違い】
社内SEはジェネラリスト型な職種
システムエンジニアの仕事は、必ずしもプログラミングスキルを必要とはしません。
むしろ、情報システムに関する仕事を広く浅く担当するので、ITに関する広い知識が求められます。そのため、システムエンジニアは情報システムに関する「何でも屋」とも言えるジェネラリスト型な職種です。
さらに、システムエンジニアの中でも社内SEの場合は人事異動により他の部門の社員との入れ替えもあります。
管理職になるためのいちキャリアとして社内SEを経験させる事業会社では、ITスキルではなくマネージメントスキルをはじめとしたヒューマンスキルを身に付けるのがおすすめです。
プログラマー(PG)とは
プログラマーは、コンピュータで動作するプログラムを作るのが仕事です。
プログラマー(PG)にも2種類あります。
- ユーザーからの漠然とした要望をコンピュータで解決する方法を考えて、実現するプログラムを作れる
- 別のITエンジニアが作った仕様を、プログラムに変換できる
前者は要件定義の上流工程から担当できるハイレベルなPGで、後者は基本設計ないし詳細設計が完了し決まった範囲で仕事するPGです。
プログラマーはスペシャリスト型な職種
プログラマーはプログラミングだけを担当する職種です。
そのため、中には作業者と言えるような方もいますが、本源的なプログラマーはプログラミングスキルに特化したスペシャリスト型な職種です。
プログラマーの仕事は課題を解決するためのプログラムを作成することです。なお、プログラミングスキルの習得には時間がかかるうえ、自分の思い通りのプログラムが組めるようになるには多くの経験も必要とします。そのため、本来プログラマーは専門性が高い職種です。
ただし、定年まで専門家として仕事をされているプログラマーは多くありません。ITエンジニアとしての経験や知識を活かして、徐々に上流工程をメインで担当するようになりシステムエンジニアなどの仕事に移る方もいます。
プログラマーに向いている人の特徴
専門性の高いプログラマーに向いている人の特徴は、一つのことを追求できる方です。また、課題を解決する方法をイメージし、それをコンピュータで実現するために、論理的な思考と想像力も必要です。そして、プログラミングスキルの習得には時間がかかるので、一つのことを長く続けられる正確の方が向いています。
このように、求められる特徴がシステムエンジニアとはかなり違うことから、プログラマーからシステムエンジニアになったとしても、うまくいかないケースもあります。
社内SEの役割とプログラマーの関係
社内SEは、ITエンジニアの中でも特殊な職種と言えます。
その理由は、事業会社の社員としての役割とシステムエンジニアの役割、両方を求められるから。以下では、社内SEの仕事の特徴を、役割が解りやすいプログラマーとの違いを使って解説します。
社内SEの役割
先ほど、システムエンジニアの役割を、情報システムに関する「何でも屋」と説明しましたが、これは社内SEにもあてはまります。
社内SEの代表的な仕事と言えば
- システム企画〜開発に伴う関係部署との合意形成
- 社内の稟議・決裁に伴う事務処理
- リソース(ヒト・モノ・カネ)の管理
ITスキルと直接関係しない仕事もたくさんあります。
中には、自分でプログラムを書けてしまうスキルの高い方もいますが、全くプログラムを書かないシステムエンジニアも珍しくありません。そのため、プログラムスキルは必ずしも必要としません。ただし、全く関係が無い訳ではないので、プログラムがどうやって動作しているか、また、障害が発生した場合の対処方法などの知識は必要です。
社内SEに向いている人の特徴
情報システムに関することなら何でもやるシステムエンジニアに向いている人は、いろいろな立場の人とコミュニケーションが取れる社交性を持ち、情報システムに関係するIT技術に広く浅く興味を持てる方です。
関連:【社内SEの魅力】システムエンジニア(SE)の中でも魅力的と言われる5つの理由
社内SEを目指すなら広く浅くが基本
これまで説明したように、システムエンジニア、特に社内SEは、情報システムに関する「何でも屋」で広く浅く、いろいろな仕事を担当するジェネラリストです。それに対してプログラマーは、プログラム作成に特化したスペシャリストと言えるでしょう。このように、いっしょに働くシステムエンジニアとプログラマーは、同じITエンジニアでも求められる役割が違います。
もし、社内SEを目指すなら、IT技術を広く浅く学ぶのが基本です。また、コミュニケーションやマネージメントスキルといった、ヒューマンスキルにも関心を持ちましょう。