システムエンジニア(SE)とプログラマ(PG)なんとなく聞くけど、違いがよく分からない。
当記事では
- どっちがいいとかあるの?
- 必要なスキルにも違いがあるの?
- 年収の違いは?
- ふたつの職業になるには?
こういった疑問に回答していきます。
システムエンジニアとプログラマの違い
システムエンジニア(SE)とプログラマ(PG)について、仕事内容・求められるスキル・年収などから違いをみていきましょう。
開発工程での役割の違い
①要件定義 | 顧客と打ち合わせをしシステムの目的や方針を決めて要件定義書を作成する |
---|---|
②外部設計 | 要件定義書をもとに画面や操作方法などを記載した顧客がシステムの内容を理解できる外部設計書を作成する |
③内部設計 | プログラマが開発に必要な情報を記載した内部設計書を作成する |
④開発(プログラミング) | 内部設計書をもとにプログラマがコーディングをおこなう(いわゆるプログラミング) |
⑤単体テスト | 作った機能が単独できちんと動作するかテストする |
⑥結合テスト | 単体テストに合格した複数の機能を組み合わせてテストする |
⑦システムテスト | システム全体が要求通りの機能・性能を満たしているかテストする |
⑧運用・ユーザーテスト | 顧客が、要件を満たしているか実際の運用に沿ったテストをする |
⑨システム移行 | 本番環境へシステムを移行し本番運用を開始(納品) |
➉運用・保守 | 顧客からの問い合わせ対応・システムが安定稼働するための監視・バージョンアップ・機能改善をおこなう |
担当:SE=ブルー、PG=オレンジ
基本的には①~③の上流工程と呼ばれる工程を担当するのがシステムエンジニアです。
そして下流工程と呼ばれる開発工程を担当するのがプログラマです。
⑥の結合テストはシステムエンジニアとプログラマが一緒におこなうこともあります。
➉の運用・保守はそれ専門のオペレーターが担当することが多いです。
ですがこれは一例で、会社やプロジェクトの規模によって役割が変わることはあります。
プログラミングもするシステムエンジニアもいれば、設計もするプログラマもいます。
一般的なシステムエンジニアとプログラマの違いとして覚えておいてください。
システムエンジニアに求められるスキル
システムエンジニアになればプログラミングをすることが減っていき、顧客との打ち合わせや設計・プロジェクト管理作業がメインになってきます。
よって以下のようなスキルが求められます。
- コミュニケーション能力
- マネジメント能力
- リーダーシップ
- IT全般の幅広い知識
システムエンジニアの仕事内容や必要なスキルは「システムエンジニアの仕事内容」の記事でより詳しく紹介していますので、よろしければご覧ください。
-
-
システムエンジニアとは?仕事内容や必要なスキルを簡単にわかりやすく紹介
続きを見る
プログラマに求められるスキル
プログラマはあたりまえですがプログラミングが仕事です。
だからといってプログラミングができるだけでは、うまくいかないこともあります。
基本的には黙々とひとりでPCと向き合い、プログラミング作業を実施していきますが、システムはひとりでは作れません。
複数名のチームメンバーが作ったプログラムを集合させてひとつのシステムを作っていきます。
チームメンバーのシステムエンジニアやプログラマと意思疎通しながら作業を進めていきます。
よって以下のようなスキルが求められます。
- プログラミング能力
- 協調性
- 責任感
年収の違い
システム開発のプロジェクトは以下のような体制で進められます。
プロジェクトマネージャー
プロジェクトリーダー
システムエンジニア
プログラマ
システムエンジニアの上にもプロジェクトの現場を管理するプロジェクトリーダー、プロジェクトの責任者であるプロジェクトマネージャーがいます。
システム開発は上流工程から下流工程へと作業が進められていきます。
上流工程に行けば行くほど年収は増えていきます。
システムエンジニアとプログラマのどっちを目指すべきか
日本で普通に会社員として働く場合は、プログラマからシステムエンジニアにステップアップを目指しましょう。
仕事の幅も年収も増えていきます。
ですが、システムエンジニアにはならずに、自分から好んでプログラマでいる人もいます。
理由としては以下のようなものがあります。
- プログラミングが好きでずっとプログラミングしていたい
- 会社に縛られずフリーランスとして働きたい
- プログラミングだけしている方が気楽で自分に合っている
- フリーランスの方が稼げる場合もある
- 顧客との打ち合わせや部門間の調整なんて面倒事はゴメンだ
一般的にはプログラマからシステムエンジニアにステップアップを目指します。
ですが、向き不向き・働き方への考え方などがあると思いますので自分にあった方を目指してもいいです。
フリーランスのプログラマで自由気ままに稼ぐ人もいます。
プログラマからシステムエンジニアにステップアップする
つづいてプログラマからシステムエンジニアへのステップアップ方法をみていきましょう。
新卒の場合
会社にもよりますが新人から数年は、プログラマとして開発を経験します。
そして徐々にシステムエンジニアの仕事を覚えていくのが一番スムーズにシステムエンジニアになる方法です。
以下のような企業に新卒で入ればシステムエンジニアになることは簡単です。
というより必然です。
- 一般企業の情報システム部門(社内SE)
- メーカー系の大手Sler(コンピュータメーカーなどの情報システム部門から独立した企業)
- ユーザー系の大手Sler(商社・銀行などの情報システム部門から独立した企業)
- 独立系の大手Sler(システム開発専門企業)
参考
Sler=システムインテグレーターは情報システムの企画・計画・構築・運用をおこなう企業のこと
転職でステップアップする
新卒で中小のシステム会社や開発専門の会社に入るとなかなかプログラマから卒業できません。
そういった場合はプログラマとして技術を磨きながら、システムエンジニアになれる会社に転職するのがおすすめです。
転職では学歴や資格よりも経験が大事になってきます。
プログラマとしての実績とコミュニケーション能力をアピールできるような経験を積んでいきましょう。
IT業界は転職でどんどんステップアップしていけます。
作業者ではなく設計者へ
プログラマは渡された設計書とおりにプログラミングする作業者でよかったのですが、システムエンジニアは作業者になってはいけません。
プログラマとして作業している最中でも
- 仕様や業務を理解しながらプログラミングする
- チームメンバーやシステムエンジニアと円滑にコミュニケーションする
といったことを意識しながら作業に取り組んでいきましょう。
システムエンジニアに必要なコミュニケーションスキルや周りを見る目をプログラマの時から意識します。
-
-
SEに必要なコミュニケーション力と改善方法を紹介【陰キャでもOK】
続きを見る
そしてシステムエンジニアにスムーズにステップアップできるようにしておきましょう。
まとめ:会社員として働くならシステムエンジニアを目指そう
会社員として無難に働くなら、プログラマでいるよりもシステムエンジニアを目指した方が年収・働き方(忙しさ)が好条件になります。
もし新卒で希望の会社に入れなくても、IT業界は転職でどんどんステップアップしていけるのでずっとプログラマかと悲観することもありません。
今やるべきことを考えてステップアップを目指しましょう。
一方、海外でエンジニアとして働く場合や、フリーランスで働くならプログラマとして技術を磨いていった方が活躍できる場合もあります。
時間や場所にとらわれずない仕事も増えてきましたので。
とにかく、システムエンジニア・プログラマどちらにしても、最初はプログラミングやITの知識を身に付けることから始めていきましょう。