カテゴリから探す
Geekly
コラム
技術・
テクノロジー
職種・
ポジション
Web・
ゲーム
転職準備
転職活動
  1. HOME
  2. Geekly Media
  3. 職種・ポジション
  4. SE(システムエンジニア)とPG(プログラマー)の違いって何?仕事内容や必要なスキル等を徹底比較!
  • 職種・ポジション

SE(システムエンジニア)とPG(プログラマー)の違いって何?仕事内容や必要なスキル等を徹底比較!

本記事ではPG(プログラマー)とSE(システムエンジニア)の違いについて解説していきます。PGとSEは似たような職種なので同じような仕事を行っているイメージを持っている方もいると思います。しかし、SEとPGは職務内容や必要なスキルなど様々な面で異なっています。今回は、両者の相違点を比較しながらわかりやすく解説していきます。

2019年3月31日

  • twitter
  • facebook

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

 

SE(システムエンジニア)ってどんな職業?

 

SEとは、簡単に言うと「システムの設計」と「クライアントとのやり取り」を担当する役職です。

SEは、クライアントの要望を元にシステムの仕様を考える「要件定義」と「システム設計」を担当します。また、出来上がったシステムが設計通りに動作するかチェックする「テスト」と、出来上がったシステムの納品も担当するケースが多いです。

そのためSEは、IT全般の知識はもちろん、設計書・試験項目表を作成するドキュメント作成スキル、システム開発に関する知識も求められます。

また、クライアントと話し合う機会もあるため、コミュニケーションスキルが必要です。

 

PG(プログラマー)ってどんな職業?

 

PGとは、SEが作成したシステムの設計書通りに、詳細設計を行いプログラミングする役職です。下流工程と言われる、システム開発の開発工程は、PGが担当している仕事です。

ただし、システムの設計書には最低限の内容のみ書かれているため、必要とされる動作をコードで実行するにはPGのスキル力が重要となります。

一見同じ動作のプログラムであっても書き方によっては、処理の効率が悪く動作の遅延の原因となったり、バグが発生しやすくなります。

他にも、プログラマーはコーディングしたプログラムの単体テストまで担当しています。これは今後の作業の進行に重要な作業となっています。

つまり、プログラミングの技術力を深めることはもちろん、自分のプログラムに責任を持つ必要があります。きちんと細部までチェックをして、バグのないシステムを開発することが求められます。

 

システム開発の担当範囲の違い

 

SEとPGの違い

 

システム開発は一般的に「要件定義」→「システム設計」→「システム開発」→「テスト」→「納品」の流れで進んでいきます。

SE(システムエンジニア)は「要件定義」や「システムの設計」を行う「上流工程」と呼ばれる範囲を担当しています。また、クライアントとのやり取りも担当範囲であり、最終的な「テスト」やクライアントへの「納品」するケースが見られます。

それに対してPG(プログラマー)は主に「下流工程」と呼ばれる範囲を担当します。SEが行ったシステム設計を元に、システム開発(詳細設計とコーディング)を行い、作成したプログラムにバグが起こらないようにテストを行います。

 

SE(システムエンジニア)とPG(プログラマー)の仕事内容

 

 

SEの仕事内容

 

【要件分析・定義】

SEの基本的な仕事としては、クライアントの要望を汲み取り、システムを設計し、完成するまでしっかり管理する役割です。

その工程の最初に行われるのが、「要件分析」と呼ばれる作業です。この工程では、クライアントから要望をヒアリングして、現状の課題や何が一番求められているかを分析します。

また、「要件定義」は要件分析の内容を元に、システムやソフトウェアの開発の中で必要な機能を明確にする作業のことを指します。

この工程は非常に重要です。要件が曖昧なまま開発を進めてしまうと、クライアントの求めているものと違うものができてしまいます。そうなると、開発途中に機能の追加を求められたり、完成後にさらに改修を加える等の事態が発生します。そのため、SEにとって非常に重要な仕事です。

 

【基本設計】

基本設計とは、クライアントからの要件定義を行い必要な機能を明確化した後に、システムをどのように構成するかを定める仕事です。機能の仕様などを決めますが、明確にしておく必要があります。

 

【詳細設計】

詳細設計とは、基本設計で決めた内容を元に、実際に開発するプログラミングに必要な詳細な設計を行う仕事です。

SEの仕事としては、基本設計をPGに齟齬が起こらないように伝えることです。

 

【テスト・納品】

出来上がったシステムが、基本設計通りに動作するかテストした後に、クライアントに納品する仕事です。クライアントに渡す前の最終チェックの部分にあたりますので、この部分を疎かにするとクレームに繋がる可能性があります。

 

PGの仕事内容

 

【詳細設計】

先程のSEの仕事にもありましたが、PGとSEが協力して行います。SEから基本設計について聞き、その情報を元に詳細設計を行います。

詳細設計は内部設計とも言われ、定められた処理内容の分割や、処理の流れを定めるプログラム設計までも詳細設計の一部に含まれる場合もあります。

バグが起こりにくくしたり、運用を簡易的にするためにもこの部分をしっかりと定めておく必要があります。

 

【プログラミング】

詳細設計で定めた、システムの構成や処理手順通りにプログラムを組む仕事です。システムに合わせてC++、Java、C言語などのプログラミング言語を使用します。

効率の良い処理を書いたり、他人が見ても分かりやすいような書き方をすることが求められます。そうすることで、処理速度が速くなったり、運用面で容易になるなど、良いシステムができます。

 

【テスト】

作成したプログラムを実際に動作させ、問題がないかを調査する工程です。システム開発フローの最終工程で、実際に使われる状況と同じような環境でテストを行います。

 

SE(システムエンジニア)とPG(プログラマー)に必要なスキル

 

 

SEに必要なスキル

 

【ヒアリング・提案スキル】

システムの要件を定める際に、クライアントが本当のもとめている要望をしっかり汲み取るスキルは重要です。また、ヒアリングした内容を元に、要望を解決するシステムを提案するスキル。

その際に、しっかりとITやシステムの知識があることで、より効率的に良い提案が可能です。

 

【コミュニケーションスキル】

SEは長時間パソコンに向かって仕事を行う役職というイメージを抱いている人も少なくないと思います。

しかし、SEの仕事は一人で行うものばかりではなく、複数人で話し合ったり、分担して作業を進めることがあります。

他にも、クライアントからの要望を聞き、それをPGに齟齬なく伝達するためのコミュニケーションスキルが必要です。

 

【マネジメントスキル】

SEはプロジェクト全体を管理し、それを円滑に進行させるためにマネジメントスキルが必要です。

具体的に言うと、プログラマーへの指示、業務の担当者振り分け、人員調整、システム品質の担保、設計書作成などの文書作成能力などが求められます。

 

【論理的思考力】

担当している仕事内容にかかわらず、SEは物事を論理的に考えるスキルは重要です。

複数の物事の法則性を素早く読み解き、正しい方法で実行するスキルが求められるため、未経験者であっても論理的思考力があればSEとして採用されやすい傾向があります。

 

PGに必要なスキル

 

【論理的思考力】

システムの仕様書などには、クライアントからの要望を聞くだけでなく、様々な仕様を考慮して、コストや性能の視点から最適な仕様を選択する必要があります。

そのため、PGには論理的思考力が必要となります。

 

【コミュニケーションスキル】

PGはSEとは異なりクライアントからのヒアリングの仕事を行わないため、コミュニケーションスキルが一見不要のように見えます。

しかし、PGでもエンジニアや他のPGとの連携を取る必要があるためコミュニケーションスキルが必要です。

 

【プログラミングスキル】

PGはプログラミング言語を用いて、クライアントの要望通りのシステムやソフトウェアを作成する必要があるためプログラミングスキルは必須です。

プログラミングの知識がしっかりと積まれていることで「どのようなコードが効率的か」「このコードはバグを引き起こす可能性がある」など、よりよりプラグラムの作成が可能になります。

 

SE(システムエンジニア)とPG(プログラマー)の年収とキャリアパス

 

ステップアップ

 

平均年収

 

PGの平均年収は約416万程度です。それに対してSEの平均年収は約551万程度となっています。

一般的には、上流工程を担当しているSEのほうが下流工程を担当するPGよりも平均年収が高くなっているようです。

参考サイト:平均年収.jp『平成29年度【最新年度】の職業別年収ランキング!男女合計・男性・女性別でランキングを発表!』

 

キャリアパス

 

キャリアパスとしては、最初はPGとしてプログラミングの経験を積み、知識を付けてからSEになるケースを多く見ます。というのも、システム設計を行う上で、システム開発に関する知識があった方が、より効率的に進めることができるためです。

SEになった後は、より上流工程に深く携わる、PM(プロジェクトマネージャー)やPL(プロジェクトリーダー)に進むケースが多いです。

もしくは、PGの場合は、プログラミングの技術を徹底的に高め、スペシャリストとして、専門分野を進むキャリアパスもあります。

 

まずは、SEとPGどのような求人があるのか探してみましょう!

 

 

SE(システムエンジニア)・PG(プログラマー)としてのキャリアアップ

 

SEとPGは仕事内容が異なることもあり、キャリアアップの方法や考え方も違います。

IT業界では、SE/PGともに不足している傾向がありますので、正しい方向性で努力すれば希望するキャリアを歩める可能性が高くなるでしょう。いずれも将来性のある職種といえます。

ここでは、SEとPGそれぞれについてどのようなキャリアアップが可能なのかを解説します。

 

SEのキャリアアップ

 

SEは技術的な知見は当然として、上流工程においてクライアントから正確に要件をヒアリングしてシステムに落とし込む力が重要視されます。

また、場合によっては作業工数や費用についてクライアントとの厳しい交渉に臨むケースもあります。技術職としてのイメージが強いSEですが、営業職以上にクライアントとの折衝能力が求められるケースが多いのです。

そのため、多くの企業では技術的な素養に加えて、会社を代表して顧客と物事を調整してきた経験を面接で問います。

もし、現職でプロジェクトやチームを代表してクライアントと調整する経験があれば、積極的にアピールしていきましょう。転職活動が有利に進むはずです。

また、顧客折衝能力と同時に、プロジェクトマネジメントの能力も重要視されます。同じSEでもプロジェクトマネジメントの立場につくSEの方が、クライアントから支払われる単価が上がるため、給料も上がる傾向があります。

プロジェクトマネジメントのグローバルな資格である「PMP」を取得すれば、実務と理論の両面でプロジェクトマネジメントの能力を証明できます。キャリアアップのために挑戦してみるとよいでしょう。

 

PGのキャリアアップ

 

PGには当然ながらプログラミングの専門性と実務経験が要求されます。

しかし、要件を仕様書に落とし込み、システムとして設計するためにはコミュニケーション能力と理解力も必要です。

いくら技術力が高くても、周囲とのコミュニケーションがとれないとシステム開発を進める上でのボトルネックとなってしまいます。

そのため、PGとしてのスキルアップと並行して、仕様の具体化やクライアントへのヒアリングの経験を積んで、コミュニケーション能力を高めていくことが重要です。

また、システム開発の対象となる業務に関する知見もあればPGとして重宝されるでしょう。

例えば、ある開発言語のスキルに加えて、金融業界の業務フローについても詳しい場合、転職市場における希少価値が上がり、より好待遇の求人案件に応募でき、高収入が期待できます。

 

フリーランスとしての道もある

 

SE・PGともに技術力を高めていけば、フリーランスで働くという可能性も開けます。

実際に自分の得意な技術をセールスポイントにして活躍しているフリーランスは数多くいます。

一方で、正社員として就職すれば、毎月安定した給料を貰いながら、技術を磨いていくことが可能です。

自分のライフスタイルに合った形で多様なキャリアを積めるのがSE・PGという仕事の魅力といえるでしょう。

 

まとめ

 

 

本記事ではPGとSEの両者の差を、職務内容や必要なスキル、キャリアパス、年収の観点から両者を比較しました。転職の際に、職種を選ぶ基準にして頂けますと幸いです。

企業によってSEやPGの定義が曖昧であり、同じような仕事内容の場合も多く見られます。他社の選考を受ける際は、「SE」とあってもしっかりと仕事内容を確認し、相違のないようにしましょう!

 

無料転職相談に登録してSEとPGについて聞く
ib515

Geekly Media
ライター

この記事が気に入ったら
シェアしよう!

  • twitter
  • facebook
1+

関連記事

求人数×IT業界での紹介実績数で、納得の転職をサポート。IT業界専門だからこそできる提案力を実感してみてください。