システムを開発するときに活躍する、システムエンジニア(SE)とプログラマー(PG)。
「企業やプロジェクト毎に呼び方が変わるだけで、同じ仕事をしている職種なのだろう」と思っていませんか?
システムエンジニアとプログラマーは異なる役割をもった別々の職種です。
それぞれの職種の特徴を押さえれば、もう間違えることもありません!
ここでは、システムエンジニアとプログラマーの違いを解説します。
各職種のポイントを押さえて自分の進むべき道を見つけられるようにしましょう!
システム開発に携わるITエンジニアの業務フロー
システムエンジニアやプログラマーは、ITエンジニアに含まれる職種です。
システム開発には、営業やSE、プログラマーなどさまざまな職種の方が携わっていますが、技術的なことに関わる職種の総称がITエンジニアと考えておくといいでしょう。
システム開発に携わるITエンジニアの業務フローは以下の通りです。
- 要件定義
- 設計
- 実装
- テスト
- 導入支援
- 保守・運用
それでは、それぞれについて詳しく見てみましょう。
【1:要件定義】
現状分析をしながら顧客の要望を聞き出し、「何を作ればいいのか」を決める工程です。
システムエンジニアが担当する要件定義は、システム開発の要となる部分。
要件定義があいまいなまま開発を進めてしまうと、納品後に顧客から「こうじゃない」「思っていたのと違う」と言われてしまう可能性があります。
一から作り直すことのないよう、いかに細かな部分まで要望を引き出せるかがカギとなるフェーズです。
【2:設計】
要件定義で決まった内容を元に、システムやプログラムを構成・設計していきます。
どんなプログラムを作成すればよいのか、設計書を見ただけでプログラミングできるように指示を書き出していくため、プログラミングの知識や経験がないと難しい作業です。
【3:実装】
設計したものをプログラムとして作成していく段階です。
【4:テスト】
実装したプログラムが正しく動くかどうかをテストします。
【5:導入支援】
顧客がスムーズにシステムを導入できるようお手伝いします。
設計で指示を出したように実装されているかをチェックします。
要件定義で決めた通りになっているかも確認しながら、お客様に納品できる状態かどうかを判断していきます。
【6:保守・運用】
システム導入後も継続的なサポートが必要です。
トラブル対処・システム維持・新たなご要望への対応などを行います。
ITエンジニアの業務フローは以下の記事に詳しくまとめています。
システム開発の仕事内容を把握するためにも、チェックしておきましょう。
システムエンジニア(SE)とは
SE=システムエンジニアの役割は「プロジェクトの推進」です。
導入支援や保守運用に関してはシステムエンジニアがメインで現場を回し、実装フェーズなどシステムエンジニアだけでは手が足りなくなる部分をプログラマーが担当するイメージです。
そのため、システムエンジニアは【1:要件定義】から納品後の【6:保守・運用】まですべてに関わります。
また、システムエンジニア兼プログラマーとして、実装を行うことも多々あります。
システムエンジニアは基本的なIT知識はもちろん、
- 要件定義をしっかりと整えるためのコミュニケーション能力
- 設計書や全体スケジュールをまとめる資料作成スキル
- プロジェクトチームを統括するマネジメント力
などが求められる職種です。
システムエンジニア(SE)はどんな仕事?
システム開発に携わるエンジニアの中でも、お客様と接する機会が多いのがシステムエンジニアです。
はじめにお客様のご要望を聞き出し、「何をどう作っていけばよいか」を考えてスケジュールも組んでいく、全体のプロジェクトマネジャーのような立場として動くこともあります。
システムエンジニアの仕事のなかでも特に重要な要件定義や設計を担っていくためには、おもに以下の知識やスキルが必要になってきます。
- ハードウェア、ソフトウェアに関する知識
- ネットワークの知識
- データベースの知識
- セキュリティ知識
- プログラミングの知識、スキル
- システム開発経験
- 高いコミュニケーションスキル
- 設計書作成スキル
- 全体スケジュール作成スキル
- ディレクションスキル
- 顧客の業務理解(業務知識)
- 顧客との交渉スキル
- ベンダーの商品知識
この中でも「顧客の業務理解(業務知識)」は特に重要な項目です。
プロジェクトを進める上で基盤となる部分ですので、この知識がないと現状分析・要件定義・システムの設計などが満足にできません。
これらの知識やスキルのほか、さまざまな能力を駆使してシステム開発がスムーズに進行するように動いていくのがシステムエンジニアの仕事です。
システムエンジニア(SE)の平均年収
厚生労働省が発表している「平成30年賃金構造基本統計調査」のデータをもとにシステムエンジニアの平均年収を算出したところ、システムエンジニアの平均年収は約551万円。
同調査の全体の平均年収は約472万円ですので、システムエンジニアの年収は全体からみると比較的高いといえます。
なお、企業規模や参考となるデータなどにもよりますが、一般的には以下のようなペースで年齢を重ねるごとに昇給するケースが多いようです。
- 20代…300万円台前半~400万円台後半
- 30代…500万円台前半~後半
- 40代…500万円台後半~600万円台後半
- 50代…600万円台前半~後半
システムエンジニアの年収の高さの理由としては、その専門性の高さや、業種における人手不足、他の職業と比較すると残業時間が多くなりがちなことが考えられます。
システムエンジニア(SE)に役立つ資格
システムエンジニアは資格がなくてもできる仕事ですが、次のような資格を持っていると転職や仕事をすすめる際に有利です。
- 基本情報技術者試験(国家資格)
- 応用情報技術者試験(国家資格)
- システムアーキテクト試験(国家資格)
- オラクルマスター(ベンダー資格)
- Linux技術者認定試験(ベンダー資格)
- シスコ技術者認定(ベンダー資格)
基本情報技術者試験や応用情報技術者試験は国家資格ということもあり、取得しているシステムエンジニアも特に多い人気の高い資格です。
なお、基本技術者試験についてはITエンジニアの登竜門的な位置づけの資格のため、これからITエンジニアとして就職したい未経験者にもおすすめです。
プログラマー(PG)とは
プログラマーは、主に【3:実装】と【4:テスト】を担当する職種です。
そのため、プログラミングの知識とスキルが求められます。
どんな仕事?
設計書の指示通りに実際にプログラムを作成するのがプログラマーの仕事です。
設計書やコーディングルールを元に作業を進めていくため、内容によっては経験の浅い人や一定のプログラミング知識をもつ未経験者でも任せてもらえることがあります。
ただし、プログラムの作成方法はひとつでなく、コードの組み立て方はさまざまです。
- いかにバグを起こさないプログラムを作れるか
- いかに動作時間が遅くならないようなコードにできるか
というところで技術力が試されます。
さらにスキルアップして中級以上のプログラマーになると、“技術のプロフェッショナル”として要件定義や設計段階でもアドバイスを求められることも。
また技術担当として、顧客との打ち合わせや営業に付き添うこともあるなど、仕事内容はどんどん広がっていきます。
業務範囲
基本的に【3:実装】と【4:テスト】を担当します。
プログラミングしたものが、正しく動作するかどうかを確認する【開発者テスト】や、経験の浅いプログラマーはSEの指示どおりに手を動かす【テスター】という役目を担うことも。
エンジニア未経験者の中でも、実装やテストを担当するプログラマーとして活躍するためには、最低でもプログラミングの基礎知識が必要です。
未経験からエンジニアを目指している場合は、まずプログラミングの学習を進めていきましょう。
プログラマー(PG)の平均年収
厚生労働省の「平成30年賃金構造基本統計調査」のデータをもとに算出した、プログラマーの平均年収は約418万円。
同調査の全体の平均年収は約472万円ですので、プログラマーの年収は全体からみるとやや低めの水準といえます。
システムエンジニアと同様、こちらも企業規模や参考となるデータなどにもよりますが、一般的には次のように年齢を重ねるごとに昇給するケースが多いようです。
- 20代…300万円台前半~300万円台後半
- 30代…400万円台前半~後半
- 40代…400万円台後半~500万円台後半
- 50代…500万円台後半
システムエンジニアの平均年収と比較するとプログラマーの平均年収は約130万円程度少なく、その理由としては担当する業務の幅の差が大きいことが考えられるでしょう。
プログラマー(PG)に役立つ資格
プログラマーについても仕事をする上で特別な資格は必要としませんが、資格を取得するのであれば次のような資格がおすすめです。
- 基本情報技術者試験(国家資格)
- 応用情報技術者試験(国家資格)
- Oracle認定Javaプログラマ(ベンダー資格)
- Java™プログラミング能力認定試験(民間資格)
- PHP技術者認定試験(ベンダー資格)
- C言語プログラミング能力検定試験(ベンダー資格)
システムエンジニアと同様、基本情報技術者試験などはIT全般に関する知識や技術を証明するものとしておすすめの資格です。
しかし、プログラマーの場合はさらにプログラミング言語の習熟度を証明できる言語系の資格があると良いでしょう。
特にJavaやPHPについてはこれらの言語を必要とする求人も多いため、未経験からの就職や転職を希望する際には持っていて損はない資格といえます。
システムエンジニア(SE)とプログラマー(PG)の違い
システムエンジニアが全体をコントロールする「マネージャー」なら、プログラマーは「職人」です。
システムエンジニアのほうが求められるスキルや知識の幅は広く、プログラマーはより専門性の高い知識やスキルが求められます。
プログラマーは未経験者でもプログラミングの勉強をすれば挑戦できます。
しかしシステムエンジニアは、プロジェクトを推進する力とプログラミングの知識と経験、スキルを積み重ねていないとなれないのが現実です。
基本的に入社1〜2年目は必ず実装やテストを担当することになるので、システムエンジニアを目指すなら、まずはプログラマーとして経験を積み実績を残せるようにしましょう。
とはいえその後、プログラマーとして技術力を極めていくのか、システムエンジニアになることを目指すのかは人それぞれです。
- どんな仕事をしていきたいか
- どんな目標を持って仕事に臨んでいきたいか
によって、どちらを目指したほうがよいのかは変わってきます。
以下の例を参考に、目指す道を考えていきましょう。
- 顧客や協力会社など、社外の人とも多くのコミュニケーションをとるような仕事がしたい
- リーダーシップを発揮するような仕事をしたい
- 常に新しい知識や技術を習得し続け、自身の能力を高め続けていきたい
- 最先端の技術を駆使して世の中を変えるような仕事をしたい
- プロフェッショナルとしてチームを支えるような仕事がしたい
まとめ
システムエンジニアとプログラマーは似て非なる職種ですが、プログラミングの知識やスキルを要する点は同じです。
どちらの職種を選ぶかは人それぞれですが、いずれにしてもまずはプログラミングの勉強が必要となります。
もちろんプログラマーになるための基礎的な勉強は独学でも可能です。
しかしモチベーションを維持しやすく、わからないことがあれば質問をして、効率的に学べるスクールに通って一気に学習を進めていくのもおすすめです。
UZUZの「ウズウズカレッジ」では、エンジニアを目指したい人向けに「プログラマーコース」を用意しています。
学習を進めながら就職活動のサポートも同時に行うため、学んだことを実践→仕事に生かしやすいのが特徴です。
「プログラマーになりたい!」と考えている方は、ウズウズカレッジ「プログラマーコース」をチェックしてみましょう!
この記事に登場したキャリアカウンセラー
新卒時は、IT機器・ITシステムなどの新規提案を行う企業に営業職として入社。その後、企業の採用問題に向き合いたいと考え、UZUZへの転職を決意。
現在はUZUZ内一の癒し系キャリアカウンセラーとして活躍中!
望月のキャリアサポートを受けたい方は、こちらからご登録をお願いします!