SEとPGの違いを現役SEが解説します

IT企業に就職したいけど、システムエンジニアとプログラマーってどう違うんだろう?

そんな悩みを抱えている就活生のために、この記事では両者の違いを説明していきます。

現役システムエンジニアとして10年以上勤めているからこそわかる、現場のリアルな情報をお伝えします。
また社会人になって最初はほぼプログラマーとして仕事をしていたので、両方の立場から見た現状を書いていきます。
本音が出てしまうかもしれませんが、ご了承くださいね。

両者の差異として具体的に

  • 仕事内容
  • 必要なスキル
  • 平均年収

を比較&解説します。

この記事を読み終えれば、あなたがどっちを目指すべきか、また、どちらが向いているのかが見えてくるはずです。

  1. システムエンジニア(SE)とプログラマー(PG)の違い
    1. システムエンジニアとプログラマーの仕事内容の違い
    2. システムエンジニアやプログラマーになるために必要なスキル
    3. システムエンジニアとプログラマーの年収を比較
  2. システムエンジニアかプログラマー、どっちを目指すべき?
    1. 精神面で決めてみる
    2. 金額面で決めてみる
    3. プログラマーを目指すなら、プログラミングスクールを受けてみては?
  3. さいごに

システムエンジニア(SE)とプログラマー(PG)の違い

以下、システムエンジニア→SE、プログラマー→PGと略して記述します。

システムエンジニアとプログラマーの仕事内容の違い

錯覚するイメージ

まずは仕事内容の違いを解説します。

似たようなことをやってそうなイメージですよね?
私も就活で業界研究をする前は、ただ名前が違うだけだと思っていました。

はい、実際の仕事場ではホントに似たようなことをやっています

SEとPGが同じことをやっている工程もあれば、SEだけが行う仕事もあります。

前提知識:システム開発の各工程

両者の仕事内容の違いを理解するために、まずはシステム作りの工程を理解しなければなりません。
なので工程別の作業内容を、想像しやすい飲食店に例えて解説していきます。


「もうそんなの知ってるよ」という方は読み飛ばしてくださいね

1.要件定義

システムにどんな機能を必要としているかを、クライアントからヒアリングします。
そしてヒアリングした結果を「要件定義書」と呼ばれる資料に起こします

システム開発が成功するかどうかは、この段階でほぼ決まります
ここでミスしていると、不要な機能を何日もかけて作ってしまったり、逆に必要な機能を作ってなかったりと、後々大問題になってきます。

なのでクライアントと「何を作るのか」についてしっかりと擦り合わせしておかなければならない重要な工程です。

飲食店に例えると…

来店した客から注文をとるのに近いですね。
「ご飯大盛り」「わさび抜き」「激辛」という具合に人によって要望は様々ですが、それを正確に伝票(=要件定義書)に書いていきます。

2.基本設計

要件定義書をもとに、システム内の各画面や帳票の見た目に関する決定事項を「基本設計書」という資料に起こします

  • ○○画面には「各商品の名前」「単価」「個数」を表示し、「戻る」「確認」ボタンを設置する
  • △△帳票には「各商品の名前」「単価」「個数」「合計金額」を出す

これを図や表などにしてわかりやすくするイメージです。

飲食店に例えると…

伝票に書いた注文を厨房へ伝えます。
「メニューにあっても材料が無いので出せない」「メニューには無いが特別に出せる」といった具合に、各注文に対して出せるかどうかを判断する段階でもあります。

3.詳細設計

基本設計と名前が似ていますが、今度は「詳細設計書」と呼ばれる資料を作り、画面などのより詳細な動きやデータの所在を明確にしていきます

例えば

  • ○○画面の商品名には「商品マスタテーブルの商品名」を出す
  • □□画面の個数は「0〜99」まで選択できるようにする
  • △△帳票の合計金額には「(単価×個数)の合計値」を出す

といったことを図や表を使って細かく書き起こします。

飲食店に例えると…

これは「レシピ」に該当しますね。
同じ動作でも

  • 中火で3分煮込んだ後、大さじ1杯の醤油をまわし掛けする
  • 煮込んでる途中で醤油を加える

のように、人によって書き方に差があるので、後で読み解くのが大変な場合があります。
誰でも正確に再現できるよう、なるべく詳しく丁寧に書くことを心掛けます。

4.製造

詳細設計書をもとにプログラミングし、画面や帳票を作っていく段階です。
「この画面は3日で作る」というふうに、機能ごとに目安時間が設定されているので、その期間内に終わるよう黙々とひたすら作っていきます。

飲食店に例えると…

「レシピを見ながら調理をすること」に当てはまります。
日本食が得意、卵料理が早く作れるなど、調理する人によって力量は様々なので、同じ料理でもスピードや品質に差が出ます。

5.テスト

作ったシステムが、クライアントと決めた要望を満たしているかチェックします。

画面や帳票が設計書通りに動くかを「単体テスト」、クライアントの業務にそった動きをしているかを「結合テスト」で確認します。

「単体テスト」「結合テスト」といったテストの名前は、現場によって呼び方が変わります。
また、クライアントが直接システムを動かして確認するテストもあります。

飲食店に例えると…

いわゆる「味見」の段階です。
不味いものが出てくる店には2度と行きたくないですよね。

ちゃんとレシピ通りに作ったのに味が悪い場合もあるので、確認を怠らないことが大切です。
客が味見をする場合は「試食」になります。

6.リリース

完成したシステムをクライアントの環境で動かし、正式に運用を始めます。
本番稼働とも呼ばれます。

  • クライアントの環境で想定外の事態が起こり、システムが導入できない
  • クライアントから聞いていた要件では機能が足りず、実際に仕事ができないことが急遽判明し、徹夜で不足機能を追加する

といった対応を行います。
何の問題もなく本番稼働を無事に迎えるといったことは、残念ながら今まで聞いたことがありません。

飲食店に例えると…

「盛り付けた料理を客に出す」に該当します。
美味しいと言ってくれたらいいですが、
新作料理を出す前日はみんなあたふたし、落ち着かないものです。

7.運用

システムをリリースしたら、そこで終わりというわけではありません。

使ってない画面はあるかな、どうして使ってないのかな、こういう表を出すと仕事が捗るかな…といったことを分析し、システムをより良いものへと作りかえていくことも大切です。

飲食店に例えると…

「美味しいと言ってくれるかな?満足してくれるかな?と食べてる姿を観察すること」です。

…冗談です。
でもあながち間違っていないと思います。

自分好みの味付けだからと言って、出した料理に客が必ず喜ぶとは限りませんからね。
「みんなパセリ残してるから、ブロッコリーにかえよう」と常に改善していかなければ、客がどんどん来なくなってしまいます。

仕事内容

パソコン操作する女性の手元

ここでは、SEとPGがそれぞれシステム開発のどの工程を担当するのかを解説します。

システムエンジニアの担当工程
  • 要件定義
  • 基本設計
  • 詳細設計
  • (製造)
  • テスト
  • リリース
  • 運用

ほとんどの工程を担当します。
1人が全てをやるのではなく、工程ごとに数人ずつ作業が割り振られます。
また1人が複数の工程を担当することもありますし、人手が足りない場合は「製造」もやる場合があります。

ですがプログラミングをする時間よりも、資料作成や打ち合わせなどが圧倒的にメインの仕事となります。

プログラマーの担当工程
  • 製造
  • (テスト)

プログラミングを行う人=プログラマーなので、シンプルに製造工程が割り当てられます
現場によってはその後の「テスト」も担当範囲になっている場合もあります。

基本的に自分の技量に応じた作業範囲が割り振られます。
しかし人手不足などにより未経験分野の作業を任されることもあります。
そんな場合は新たな技術習得のチャンスだと思って、ぜひチャレンジしてみましょう。

システムエンジニアやプログラマーになるために必要なスキル

SKILL

どっちになりたいかによって、必要なスキルが異なります。
(といってもほぼ同じですが・・・)

ですが足りないスキルを今から補っておかないと、将来SEやPGになったときに苦労してしまいます。

料理人になりたくて飲食店の厨房担当になったけど、実はきゅうりの切り方もわからない状態だったら悲惨ですよね。
それと同じで今のうちに高めておいたほうがいいものを把握し、対処しておくことも就活の一部なんです。

以下、SEとPGそれぞれで必要となるスキルを紹介します。

システムエンジニアに必要なスキル

1. コミュニケーション能力

意見交換や仕様の擦り合わせなどで、クライアントと接触する機会が多いです。
なのでコミュニケーション能力が必要不可欠になります。

また同じチームの人達とも毎日話すことになるので、気持ち良い会話のキャッチボールはできた方が人間関係うまくいくでしょう。

難しく考えなくても、最低限の会話と、要点を絞った質問、感情や空気の読み取りができていれば、あとは口角を少し上げるのを意識するだけで自然と会話が成り立ちます。

2. マネジメント能力

SEはチームやプロジェクトをまとめる立場になるので、メンバーやスケジュールをコントロールする力が必要になってきます。

苦手な人は、まずは自分自身をマネジメントできるような訓練をしてみるといいですよ。
夏休みの宿題を最終日に一気にやる人にとっては難しいですが、宿題の全体量を把握し、作業できない日数を求め、何もしない日を1割ほど作ったら、残りの日数で終わらせるためには1日どれくらい作業をすればいいかを割り出せば、スケジュールの完成です。

他人に任せたり頼ることも身につけなければいけません。
私はこれが苦手で、すぐになんでも自分でやろうとしてしまいます。
でもそれだと計画通りに進まなくなってくるので、メンバーに作業をお願いするように心掛けています。
(作業を押し付けてるのではなく、期限内に終わらなさそうな作業を手の空いたメンバーで消化してもらうように交渉するんですよ)

プログラマーに必要なスキル

1. プログラミング技術

PGはプログラムを組むのがメイン作業なので、プログラミング技術が必須です。

自分の得意な開発言語・系統を開拓しておけば、就職後も早い段階からバリバリと活躍できます。
「Javaといえばこの人!」と認識してもらえば、いろんな現場で引っ張りだこになること間違いなしです。

2. コミュニケーション能力

SEほどではありませんが、PGでもコミュニケーション能力は必要です。
設計書を見てもよくわからなかったり、プログラミングしていく過程でシステムの不備に気付いたら、他のメンバーに周知や質問をすることがあるからです。

システムエンジニアとプログラマーの年収を比較

パソコンとお金

仕事をする以上、年収はどうしても気になりますよね。
年代別の平均年収を見つけたので掲載します。

大企業か中小企業かで年収は変わり、当然大企業の方が年収が高いです。
また残業代や休日手当の有無によっても大きく変わります

ここではひとまず全国平均を年代別に見ていきます。

システムエンジニアの平均年収

SEの年代別平均年収(引用元:Career Garden

年代男性女性
20代前半340万円350万円
20代後半444万円423万円
30代前半537万円477万円
30代後半591万円477万円
40代前半632万円512万円
40代後半647万円573万円
50代前半692万円570万円
50代後半668万円546万円
60代前半491万円391万円
60代後半504万円326万円
全年代570万円462万円
スクロールできます

20代はまだ社会人になったばかりで知識も経験も浅いので、もらえるお金は少ないです。

男性も女性も20〜50代にかけて年収が上がります
男性よりも女性の方が低いのは、出産・育児で休暇を取得するためと、残業ができなくなる人が増えるからです。

40・50代は役職に就いて基本給がUPするため、年収が増加しています。
残業しても残業代が出ない役職が多く、責任ある立場を任されることが増えるでしょう。

60代は、今は再雇用という形の採用が圧倒的に多いため、そのタイミングで一旦基本給が下がります
150〜200万円近く下がるので、ローンが残ってるとかなりキツいですね。

ちなみに私は30代女性ですが、年収は平均より少し多いです。
残業や休日出勤をたくさんしてるためです。

プログラマーの平均年収

PGの年代別平均年収(引用元:Career Garden

年代男性女性
20代前半314万円322万円
20代後半390万円368万円
30代前半449万円408万円
30代後半494万円410万円
40代前半536万円420万円
40代後半503万円475万円
50代前半612万円492万円
50代後半729万円461万円
60代前半387万円252万円
全年代429万円378万円
スクロールできます

クライアントと打ち合わせをしたり、システムの機能について設計しなくていい分、SEに比べると50〜150万円ほど低いです。

また、SEと同じように右肩上がりに年収は上がっていきますが、男性は一度40代後半で下がります
これはSEへと転向する人が増加するので、母数が少なくなるからだと推測できます。
その後、男性だと40代後半〜50代後半女性だと40代前半〜50代前半にあたり貴重なベテランプログラマーの年収は急激に上昇します。

60代前半で下がるのは、これもSEの場合と同じく形態が再雇用になるからですね。

システムエンジニアかプログラマー、どっちを目指すべき?

AorBの選択

仕事内容と年収について解説しました。

しかしまだ「自分はどっちを目指せばいいんだろうか」と迷っている方は、下記の視点から検討してみてはいかがでしょうか。

精神面で決めてみる

大真面目な極論ですが「好きなほう」でいいと思います。

ですが検討材料の1つとして、それぞれに向いてそうな性格を挙げてみますね。

  • SE:コミュニケーション能力に長けていて、マネジメントが得意な人
  • PG:ゴリゴリとプログラミングするのが好きで、黙々と作業をするのが得意な人

好きじゃないことは苦痛で長く続かないので、本当に心からやりたいと感じる方を選択してくださいね。

ですが最初からSEを目指すと、例えば「このシステムを3ヶ月で作って」と言われた時に「できる」「できない」を判断できません。
それはプログラミング経験がないからです。
なのでSE志望でも、まずはPGと同じようにプログラミング技術の習得から始めることをオススメします

金額面で決めてみる

一般的に、年収はPG<SEと解説しました。
なので単純に年収の多い方を選択しても問題ないです。
お金は生きるうえでとても大事ですからね。

最初はPGだったけど、自分は詳細設計書も書けるし、テストだってこなせる。
クライアントと直接やりとりすることもしばしば。
やってることがSEとあんまり変わらないんだったら、SEに転職して年収UPをはかろう!

と方向転換するPGも多いので、PGが損といった考えでは決めない方がいいです。
今の時代、転職は当たり前のことです。

プログラマーを目指すなら、プログラミングスクールを受けてみては?


システムの開発でバリバリとプログラミングしていきたい!

そういう方は就職してから気持ちよくスタートダッシュできるよう、今から外部のプログラミングスクールを受けて、プログラミングについての基礎知識を実践形式で体験しておくと良いです。

専門学生や情報分野専攻の学生はプログラミングの授業ですでに差をつけれるので、未経験者を大きく引き離すことができます。

なので未経験者が対抗するためにはプログラミングスクールの受講が一番手っ取り早いのです。

Java・Java Script・PHP・HTMLをメインに学びたい方にオススメ↓↓

Web系(Ruby、PHP、jQuery、React.js)、イノベーティブ系(Blockchain、AI、IoT)をメインに学びたい方にオススメ↓↓

さいごに

ポイントとメモ

SEとPGの違いについての疑問は解消されましたか?

SEでも、最初はPGと同じくプログラミングをしながら技術と知識を蓄えていくので、パッと見で区別がつかない場合もあります。

また、現場での雰囲気は場所や人によって様々です。
製造が追いつかない!とみんなが血眼になってパソコンをカタカタさせている所もあれば、SEとPGが一緒にシステムについての熱い議論を交わしてる所もあります。
どんな雰囲気の現場なのかは運次第です。

SEとPGの違い

  • 仕事内容
     SE:要件定義〜運用までほぼ一通り。製造をやる場合もあり。
     PG:主に製造。テストもやる場合もあり。
  • 必要なスキル
     SE:コミュニケーション能力、マネジメント能力、プログラミング技術
     PG:プログラミング技術、コミュニケーション能力
  • 年収
     ・大企業の方が高い
     ・時間外労働分がもらえると高い
     ・平均年収
       SE:男性570万円、女性462万円
       PG:男性429万円、女性378万円

SEかPGどっちになるにせよ、コミュニケーション能力は必須です。
そしてどの職種でもたいていは必要になってきます。

最後に、タッチタイピングは絶対条件です。
スマホのフリック入力に慣れてしまい、パソコンで文字が上手く打てない人は、仕事に就く前に必ずできるようにしておいてくださいね。
タッチタイピングが当たり前の世界なので、できないと仕事の効率がかなり変わってしまいます。