これからIT業界で働いてみたいなという人はたくさんいますが、求人募集などでよく見かける職種の中にシステムエンジニア(SE)とプログラマー(PG)があります。
この2つの職種は、なんとなく違いを理解していても具体的にどんな部分が異なるのか、また収入はどのぐらい違うのかという点まで理解している人はそれほど多くありません。ここでは、システムエンジニアとプログラマの違いをご紹介しましょう。
プログラマーとSEの職域
それぞれの仕事の領域を整理してみましょう。
SEの職域
システムエンジニアという職種は、顧客の元に足を運んでヒアリングを行い、ニーズに合わせた仕様書を作成し、プログラマーたちが構築するシステムを全体的に管理するお仕事です。また、顧客に納品したシステムの運用や保守点検を行うこともまた、システムエンジニアのお仕事となります。
プログラマーの職域
一方、プログラマーという職種はプログラムを組んでシステムを構築することがメインとなります。プログラマーが直接顧客の所でヒアリングを行ったり仕様書を作るということは少なく、一般的にはシステムエンジニアから指示された仕様書に基づいてプログラムのソースコーディングをする事がプログラマに与えられた主な仕事内容となりますね。
仕事の流れから見た職域
システム構築の流れでいえば、システムエンジニアが顧客のニーズに合わせた仕様書を作成し、それをプログラマーが実際にシステムとして作り上げ、システム完成後の運用保守についてはシステムエンジニアが中心となって行うということになります。
一般的には以上のように理解してよいと思いますが、顧客が居ないで自社開発の場合もあるし、PGが顧客のもとへ一緒に行く場合もあるし、SEがコーディングする場合もあると思います。その時のプロジェクトの規模や費用、またPMやPLの裁量でも異なってくるでしょう。
プログラマーとSEに明確な線引きは無い
システムエンジニアとプログラマは、完全に職務内容が分かれているわけではありません。
重複する部分は多く、共同作業で行う工程などもあります。例えば、システムエンジニアが仕様書を作成する際には、ある程度のプログラミング知識を持っていることが必要不可欠ですし、仕様書を作成した後でもプログラマと相談しながら仕様を変更したり微調整をする事もあります。
また、構築したシステムのテスト作業を行うのはシステムエンジニアの仕事でもありプログラマの仕事でもあるため、どちらも深くかかわることになります。
もちろん全部できるSEが重宝されることは言うまでもありません。
プログラマーになるかSEを目指すか
これからシステムエンジニアかプログラマに就職・転職しようかなと考えている場合、いったいどちらを選べばよいのか分からないという人は多いでしょう。
IT業界で働いた経験がなくてもプログラマやシステムエンジニアになれるものなのか、不安を抱えているのではないでしょうか。求人募集を見ると、どちらの職種でもたまに未経験者可のお仕事を見つけることができます。
しかし、どちらのお仕事もパソコンの扱い方も知らないようなレベルの未経験者だと採用してもらうことは難しいため、働いた実務経験はなくても、基本的なプログラミングぐらいはできるぐらいのレベルで就職・転職活動をする事をおすすめします。
プログラミング能力はPGは必須、SEはあれば上々
システムエンジニアとプログラマとでは、求められるスキルが少し異なります。プログラミング言語に精通してコーディングができるスキルはプログラマーにこそ必要不可欠となります。
実際にコーディング作業をするのはプログラマですが、システムエンジニアもプログラマとしてのスキルを持っていたほうが仕事を回しやすいものです。そのため、いずれの職種でもプログラミングスキルは身に着けておいた方が良いでしょう。
会社によってはプログラミングを殆ど知らなくてもSEの仕事は出来ちゃったりするんですけどね。。
コミュニケーション力も必要なSE
システムエンジニアの場合には、プログラミングスキルだけではなく、コミュニケーションスキルも必要不可欠なスキルです。
その理由は、システムエンジニアは顧客の元に足を運んでニーズをヒアリングしたり、システムを提案するなど、顧客対応も仕事の一つだからです。また、完成したシステムの運用や保守点検、場合によってはカスタマーサポート的な事についてもシステムエンジニアの担当となるため、コミュニケーションスキルやビジネスマナーは持っていなければいけません。
さらに、システムエンジニアはトラブル時に冷静に対処できる判断力や観察力、行動力なども必要です。完成したシステムの不具合やトラブル時には、場合によっては深夜でも対応しなければいけなかったり、その場の状況からベストな判断をすることが求められます。
PGに関しては逆にそれほどコミュ力は求められない場合も多いです。PGにコミュ症が多いのでさほど気にならないというか。
プログラマーとSEで年収の違いはあるか
システムエンジニアとプログラマとでは、平均年収にも違いがあります。プログラマの場合には、主な職務内容はプログラミング作業がメインとなりますが、システムエンジニアの場合にはその他にチームメンバーの管理、顧客ヒアリングやシステム設計、仕様書作成、システムの保守運用などたくさんの仕事内容があります。そのため、どちらが収入面で高収入を稼ぎやすいかと言えば、それはシステムエンジニアとなります。
携わる工程が多ければ多いほど年収に反映されますし、上流工程に関わる割合が多い職種の方が、収入は高くなる傾向があります。多数のプログラマーをまとめあげるのがSEの役割だったりするので、SEのほうが高いんです。
具体的な平均年収を比較してみると、プログラマの平均年収は414年万程度なのに対し、システムエンジニアでは547万円程度と100万円以上の差があります。そう考えると、プログラマよりもシステムエンジニアの方が高収入なので転職する時にもシステムエンジニアを目指そうかなという人がいるかもしれませんね。
とはいえ、これは日本のIT業界の多重請負の構造から来ている部分があるので、将来的には技術力の高いプログラマーも評価され年収も上がっていくことも予想されます。そもそも技術で勝負のプログラマーならフリーを目指すのが年収アップの近道のような気もしますが。
平均以上を稼ぐことももちろん可能
ただしこの平均年収はあくまでも平均なので、システムエンジニアなら必ず平均以上を稼げるというわけではありませんし、プログラマでもシステムエンジニアの平均年収以上を稼いでいる人はたくさんいます。年収を決める要素はたくさんあり、外資系や大企業の方が年収が高くなりやすかったり、どんな言語でシステム開発を行うかが年収に影響したり、また持っている資格の種類によっても年収が変わります。
そのため、システムエンジニアとして働く場合でもプログラマとして働く場合でも、転職先選びはとても重要ですし、少しでも年収アップやキャリアアップを期待するのなら多言語の習得を目指すということも必要な努力と言えるでしょう。またプログラマーに関してはSEより独立起業やフリーランスへの道も開けていると思います。そうなればSEよりも高年収を稼ぎだすことも夢ではありません。
今後の展望とプログラミング言語
IT業界で長く働きたい人にとっては、将来性も仕事選びでは大切なポイントですね。
システムエンジニアもプログラマも、今後ニーズはどんどん高まり続ける職種なので、将来性という点ではどちらも問題ないと考えられています。
しかし、どのようなプログラミング言語に精通しているかによって、市場のニーズは異なるため、今後システムエンジニアもしくはプログラマとして生き残るためには、人工知能にかかわるプログラミング言語や、モノのインターネットであるIoTに関する言語を習得するのが良いかもしれませんね。また、今後はスマホのアプリ開発のニーズがどんどん高まり続けることが予想されているため、アプリ開発に関する言語やスキルを習得することもおすすめです。
IT業界で高度な専門知識やスキルを身につけると、フリーランスとして起業することも視野に入ってきます。システムエンジニアでもプログラマでもフリーランスとして働くことは可能ですが、そのためには人脈のネットワークを構築するなどの努力やスキルも必要となるでしょう。
IT業界においては「プログラマー35歳定年説」が存在しますが、これは35歳を過ぎるともう仕事がなくて働けないということではなく、35歳ぐらいになればスキル面でも知識面でもシステムエンジニアなど上級の職種へキャリアアップできるだろうということです。35歳~40歳をこえて管理職やPLへ進むロードマップもあれば、さらなる技術や言語を追及していく人もいます。そこは会社の指示によるところとご自身の目標にもよるでしょう。
SEとプログラマーの違いまとめ
以上でおおむね違いを説明できたかなと思います。
個人的には将来何かモノづくりで独立、起業したいならプログラマーをやって技術を磨いていくのが良いかと思います。独立を考えずSEになるなら大手企業に就職してその会社に忠誠を尽くす形でのキャリアアップを狙うのが安定かと思います。