ITコラム

column_main19832

プログラマハック

2020.06.30

システムエンジニア(SE)とプログラマ(PG)の違いとは?仕事・年収・スキル別に解説

「システムエンジニアとプログラマの仕事は、何が違うの?」
「自分はシステムエンジニアとプログラマ、どっちを目指すべきなのかがわからない」
このような悩みを抱えている方に向け、システムエンジニアとプログラマの違いを解説します。仕事内容から年収の違いまで1つ1つ解説した上で、「システムエンジニアを目指すべき人」「プログラマを目指すべき人」がそれぞれどのような人かもご紹介します。
これからITエンジニアを目指す人は、ぜひ参考にしてください。

最終更新日:2020年6月30日

目次

1. システムエンジニア(SE)とは
 1-1. システムエンジニア(SE)の仕事内容
2. プログラマ(PG)とは
 2-1. プログラマ(PG)の仕事内容
3. システムエンジニア(SE)・プログラマ(PG)の違いとは
 3-1. システム開発の担当範囲の違い
  3-1-1. 【システムエンジニア】要件定義
  3-1-2. 【システムエンジニア】システム設計
  3-1-3. 【プログラマ】システム開発
  3-1-4. 【プログラマ】テスト
 3-2. 平均年収の違い
 3-3. 求められるスキル・能力の違い
 3-4. キャリアパスの違い
4. システムエンジニアを目指すべき人
 4-1. プログラマから転職・キャリアアップしたい人
 4-2. CTOやテックリードなどマネジメント層を目指したい人
5. プログラマを目指すべき人
 5-1. AIやブロックチェーンなど特定領域のスペシャリストになりたい人
 5-2. 未経験者
6. 未経験からプログラマになるおすすめ方法は?
 6-1. 就職支援付き無料プログラミングスクールへ通う
7. まとめ

1. システムエンジニア(SE)とは

「システムエンジニアとプログラマの違い」を知るには、まずはそれぞれがどんな仕事を担当しているのかを理解する必要があります。まずはシステムエンジニアについて解説します。
以下は、一般的なシステム開発のフェーズ(工程)となります。

上の1~6の工程のうち、システムエンジニアは一般的に下記の工程を担当します。

  • 要件定義
  • システム設計
  • 結合・総合テスト
  • 納品
  • 運用

▲目次へ戻る

1-1. システムエンジニア(SE)の仕事内容

システムエンジニアの仕事内容は、一言で言えば「設計士」です。担当する工程からわかる通り「技術職でありながら、マネジメント寄り」のものが多いです。
作成するアプリケーションやウェブサイトに関する「要件定義」と「仕様書作成」が主な仕事内容となります。
「要件定義って何?」「システム設計って何?」という方に向けては、3-1. システム開発の担当範囲の違い の箇所でより1つ1つを細かく紹介いたします。

システムやソフトウェアの開発に当たっては「要件」と「仕様」は非常に重要です。要件や仕様が曖昧な状態で開発を進めると「ある人はソースコードに細かくコメントを残し、ある人は全くコメントを残さない」「ある人は堅牢性が重要な案件だと認識し、ある人はスピード重視の案件と認識している」などトラブルが起きやすく、結果として低品質のアプリケーションが完成するリスクがあります。要件や仕様を細かくヒアリングすることができるコミュニケーション力と、それらを実現する言語やフレームワーク、ライブラリなどを見積もることが可能な技術への正確な知識の両方が求められます。

システムエンジニアはIT人材不足の影響も受け、他の職業と比較して全般的に年収が高い傾向にあることも特徴です。

システムエンジニアの年収については、こちらの記事でも解説しています。
▸関連記事:SEの年収は高い?20代SEの年収を雇用形態別に調査!

▲目次へ戻る

2. プログラマ(PG)とは

プログラマは一言で言えば「大工」です。システム開発において、一般的に、下記の工程を担当します。

  • システム開発
  • 単体テスト

 
プログラマは、システムエンジニアが作成した設計書・仕様書に沿って、正確にプログラミングしたり、完成したプログラムが正常に動作するかテストするといった、高度なプログラミングスキル、エラー対応スキルが求められます。

▲目次へ戻る

2-1. プログラマ(PG)の仕事内容

プログラマの仕事内容は、システムエンジニア(SE)が定めた仕様や要件に沿ってプログラムを組むのが主です。プログラムの作成にはPythonやRuby、Java、PHPなど各種プログラミング言語と、それぞれの言語に存在するフレームワークを使用するケースが多いです。またSEと共同で、作成したプログラムが実際に問題なく動作するかテストも行います。

プログラマの仕事内容はこちらの記事でも詳しく解説しています。
▸関連記事:プログラマーの種類とその仕事内容・必要スキルを解説

▲目次へ戻る

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


システムエンジニア(SE)とプログラマ(PG)の違いを、より細かく見ていきましょう。

3-1. システム開発の担当範囲の違い

システムエンジニアとプログラマの仕事内容については、よく下記のように例えられます。

  • システムエンジニア:設計士
  • プログラマ:大工

 
家を建築するときに、家のオーナーから希望をヒアリングして図面を書くのは設計士の役割です。
そして設計士が書いた図面をもとに、工事を行うのは大工の仕事です。設計士が直接、金槌や鋸を使って作業するわけではありません。
「設計士」と「大工」の役割分担を、システム開発に置き換えるとどうなるでしょうか。

▲目次へ戻る

3-1-1. 【システムエンジニア】要件定義


システムエンジニアは、家づくりに置ける「設計士」。まずはシステムエンジニアが、要件定義をします。
たとえば、クライアントが「テレワークに使用する社内向けのタスク管理ツールを作ってほしい」と要望してきたとします。

この際の要件定義としては

  • 利用者は概要、期限、担当者を記したタスクを登録できる
  • 部下はミス防止のため、一度登録したタスクを消すことはできない
  • 上司は部下、および自分が登録したタスクを消すことができる(不要なタスクを整理する権限を持つ)
  • 部下がタスク期限までに「完了」ボタンを押すと、上司にレビュー依頼が飛ぶ

 
といったものが考えられます。このように必要な機能を洗い出し、開発工数をある程度見積もるのが要件定義です。

▲目次へ戻る

3-1-2. 【システムエンジニア】システム設計

システム設計では、要件定義したシステムが最終的にどんな仕上がりになるのか、どの言語やフレームワークを使って機能を実装していくのか、詳細な設計を行なっていきます。
「要件定義で定めたものを、どのように作るのか」を決めて、プログラマがコードを書くために必要な仕様書・設計書を作成していきます。

▲目次へ戻る

3-1-3. 【プログラマ】システム開発


ここからは「大工」のプログラマの役割です。システムエンジニアが「システム設計」で定めた仕様書に沿って、実際のコーディングを行なっていきます。大工が金槌やノコギリ、木材などを使って家を組み立てていくのと同じように、プログラマは「プログラミング言語」を使ってシステムを組み立てていきます。

▲目次へ戻る

3-1-4. 【プログラマ】テスト

システムが完成したら、そのシステムが正しく動くかどうかテストを行います。プログラマがテストを担当するケースもあれば、二段階のテストでプログラマとシステムエンジニアの両方が担当することもあります。共同でテストに当たることもあります。

テストが完了したら、クライアントにシステムが納品されます。

このようにシステムエンジニアとプログラマは「設計士」と「大工」のように仕事が分かれています。

▲目次へ戻る

3-2. 平均年収の違い

厚生労働省の「2018年度の賃金構造基本統計調査」によると、システムエンジニアとプログラマの平均年収は、下記のようになっています。

◆ SE・PG平均年収

  • SE:約550万円前後
  • PG:約430万円前後

出典:賃金構造基本統計調査|厚生労働省

経験が浅い20代のシステムエンジニアとプログラマの平均年収は、概ね以下のようになるのではないかと推測されます。

◆ 20代のSE・PG平均年収

  • 20代SE:約400万円前後
  • 20代PG:約350万円前後

 
このように、システムエンジニアとプログラマは平均年収に違いがあります。

▲目次へ戻る

3-3. 求められるスキル・能力の違い

システムエンジニアとプログラマには、それぞれ下記のようなスキル・能力が必要です。
 
◆ システムエンジニア

  • プログラミング・ITに関する幅広い知識
  • コミュニケーション能力
  • マネジメント・管理能力

 
◆ プログラマ

  • プログラミングスキル
  • コミュニケーション能力
  • 自己管理能力

 
システム開発は1人で行うわけではありません。またシステムには、納品する期日(納期)が決められており、納期は絶対厳守です。そのため、システムエンジニア・プログラマに関係なく、コミュニケーション能力は非常に重要となります。

▲目次へ戻る

3-4. キャリアパスの違い

下記は、ITエンジニアの一般的なキャリアパスです。

◆ ITエンジニアのキャリアパス

プログラマ(PG)
 ↓
システムエンジニア(SE)
 ↓
プロジェクトリーダー(PL)
 ↓
プロジェクトマネージャー(PM)

 
システムエンジニアは、プロジェクトリーダー → プロジェクトマネージャーなど、システム開発のマネジメント、コンサルタントといったキャリアパスがあります。
プログラマは、システムエンジニアを経て、システムエンジニア同様に、マネジメント職を目指すキャリアパスがあります。また、高いプロミングスキルをもったプログラマが独立してフリーランスとして活躍するケースが多いのも、プログラマの特徴と言えます。

▲目次へ戻る

4. システムエンジニアを目指すべき人

システムエンジニアとプログラマの違いについて解説してきましたが、これからプログラミングを勉強してエンジニアになりたい人は「システムエンジニア」と「プログラマ」、どちらを目指すべきなのでしょうか。

まずはシステムエンジニアを目指すべき人の人物像を紹介します。

▲目次へ戻る

4-1. プログラマから転職・キャリアアップしたい人

既にプログラマとして働いている方は、1つのキャリアパスとしてシステムエンジニアになることを目指すのも良いでしょう。

プログラマには俗説として「35歳定年説」という言葉があります。
35歳定年説とは、35歳を迎えたプログラマは新たな技術を勉強するのが体力的にも辛くなり「管理者に回る」か「引退するか」を選択することになるというものです。35歳定年説はあくまで俗説であり、実際には35歳以上のプログラマは当たり前のようにどの会社にも存在します。
しかし35歳を超える頃になると技術とマネジメント、双方に関する知識が深まり、実績もついてきます。上流工程や管理職を経験するうちに、段々とプログラマの現場から離れていくことも多くなります。35歳を超えるとシステムエンジニアなど上流工程に携わることの方が増えると言う意味では「35歳定年説」は正しく、プログラマからキャリアアップしたい人のキャリアパスとしてシステムエンジニアは適しています。

▲目次へ戻る

4-2. CTOやテックリードなどマネジメント層を目指したい人

「プログラマを目指す人」「プログラマとして働いている人」の全てが、プログラミングを生涯の仕事としたいと考えているとは限らないでしょう。

実際には「プログラミングに興味はあるけれど、一生プログラマとしてやっていきたいかは微妙」「プログラミングも好きだけれど、人とコミュニケーションをとるのも好き」「今はプログラマとして働いているけれど、ゆくゆくは経営などの知識も身につけて行きたい」という方もいるでしょう。そうした方は、プログラマとしてスペシャリストを目指すよりはシステムエンジニアの働き方がより適しています。

▲目次へ戻る

5. プログラマを目指すべき人

プログラマを目指すべき人は「スペシャリストになりたい人」、もしくは「未経験からのスタートの方」です。

5-1. AIやブロックチェーンなど特定領域のスペシャリストになりたい人

AIやブロックチェーンなど、今後の成長が予測されなおかつ技術者の数が少ない分野では、プログラマが非常に重用されます。マネジメントへの関心度が低くプログラマとして技術をより高めていきたい人は、このような特定領域のスペシャリストとして技術を磨いていくことがおすすめです。

▲目次へ戻る

5-2. 未経験者


一般的に、ITエンジニアとしてキャリアアップを目指すプログラミング未経験者は、まずはプログラマを目指すことがおすすめと言えます。なぜなら、プログラマになることで、幅広いプログラミングスキルが身につくからです。
プログラミングスキルがあると、システムエンジニアとなって設計書・仕様書などを作るときに、プログラマ目線でわかりやすい設計書を作ることができます。
また、プログラマの経験があると、障害対応をする際に、エラーが発生している場所の特定が肌感覚でできたりもします。
精密且つ効率的な設計は、高品質のシステムに欠かせない要素です。そのため、開発現場で、プログラミングスキルが高いシステムエンジニアは重宝されます。

▲目次へ戻る

6. 未経験からプログラマになるおすすめ方法は?


未経験でプログラマになるには、まずプログラミングを習得する必要があります。
初心者でも、独学でプログラミング学習ができる、プログラミング学習サイトや参考書は多くあります。
しかし、「プログラミングを学習してゲームを作りたい」などのイメージは湧いても、「そのためにはどのプログラミング言語を勉強したらいいか」となるとなかなかわかりずらいものです。
そんな時は、プログラミングスクールのアドバイザーなど、プログラミング学習のプロに相談してみるのがおすすめです。

▲目次へ戻る

6-1. 就職支援付き無料プログラミングスクールへ通う

「就職支援付き無料プログラミングスクール」は、その名の通り無料でプログラミングを学ぶことができる、就職支援付きスクールです。就職支援付き無料プログラミングスクールには次のようなメリットがあります。
 
◆ 就職支援付き無料プログラミングスクールのメリット

  • 無料でプログラミングが学べる
  • プロのアドバイザーから就職をサポートしてもらえる

 
また、人材紹介会社が運営しているスクールの場合には、IT企業の動向にも詳しく、「ショッピングサイトなどを作るWebプログラマになりたい」「これから需要が高いプログラマを目指したい」といった希望を伝えれば、アドバイザーから今後のキャリアパスを含めたアドバイスを受けることも可能です。
自分が学ぶべきプログラミング言語や方向性がわかれば、参考書やプログラミング学習サイトを併用して学習することもできます。「プログラミングを習得して、早くプログラマになりたい!」という方は、「就職支援付き無料プログラミングスクール」を、是非検討してみてください。
→就職支援付き無料プログラミングスクール「プログラマカレッジ」

独学で学べる、無料プログラミング学習サイトについては、下記の記事もご参照ください。
▸関連記事:日本語だから安心!プログラミングの基礎が学べる無料学習サイト6選

▲目次へ戻る

7. まとめ

今回は、IT技術職であるシステムエンジニア(SE)とプログラマ(PG)の違いについて紹介しました。
「プログラミングが好きで得意だからプログラマとして生計を立てたい」という人は、必ずしもシステムエンジニアにならず、プログラマとしてスキルを磨き続けるという選択もあります。プログラマを経験してシステム設計やマネジメントに興味を持ったなら、システムエンジニアとしてキャリアアップすることもおすすめです。
システムエンジニアとプログラマの違いを理解したうえで、「自分が何をしたいか?」「どんなITエンジニアになりたいか?」をイメージして、自分の未来をじっくり考えてみてください!

▲目次へ戻る

SHARE

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.