システムエンジニアとプログラマーの違いを詳しく解説します

「SE(システムエンジニア)とプログラマーって何が違うんだろう?」

調べてみても、同じような仕事内容です。

何が違うのか。はっきりとした答えが知りたいですよね。

SEとプログラマー、どちらも「システム(ソフトウェア、アプリなど)を作る人」です。

違うのは、作る過程での役割分担。

SEは、設計から運用サポートまで全体な管理を行います。

プログラマーは実際に作る作業をする人です。

2つのお仕事をもっと具体的に掘り下げてみましょう。

掘り下げてみることで、どちらを目指すべきか分かります。

また、実際に働くうえでの待遇の違いなどを今回の記事でお話していきます。



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

SE(システムエンジニア)は「管理する」職種です。

SE(システムエンジニア)の仕事

  1. クライアントからどんなものが欲しいか要望をヒアリング
  2. ヒアリングしたものを元にシステムの設計
  3. システムの作成・テスト・実際の運用まで管理

プログラマーと違いは

  • どんなものを作るか」を考える仕事がある
  • 作るものに対して一番詳しくなければいけない
  • 作る時の指示出しや、作った後のテストや運用サポートにも関わる必要がある
エンジニアエンジニア

「人」を相手にすることが多くなります。

それではSEのお仕事を具体的に見ていきましょう。

主にシステムの設計を行う

  1. お客様がどんなシステムが欲しいか聞き、よりよい提案をして要望を明確にすること。
  2. お客様の要望に基づいて見える部分(画面や動きなど)、見えない部分(どうプログラミングするかなど)の設計をする。

この2つがSEのメインの仕事となります。

厚労省の定義でも、SEは「設計者」という形で定義されています

①で何を作るかを考え、②で設計書を作ります。

エンジニアエンジニア

設計書を作ったら、プログラマーに指示を出します。

設計図通りに指示を出したプログラムをプログラマーに作ってもらったり、また自分も一緒に作ったりもします。

テスト、運用保守を行う

自分の作った設計書通りに作られているか、動いているか」を確認します。

エンジニアエンジニア

テスト、運用保守ともに他の人に頼んで行ってもらうこともあります。

その場合も担当の人と密に連携をとって確認作業を行います。

運用保守とはお客様にシステムをお渡しした後のサポートのことです。

世に送り出した後も責任をもって作ったシステムを管理するのがSEなのです。



プログラマー(PG)とは


プログラマー(PG)はプログラミングがメインの職種です。

SEとの違いは?

  • SEは作るものを考える仕事
  • プログラマー(PG)はSEが考えたものを実際に形にする仕事
エンジニアエンジニア

「コンピュータ」を相手にすることが多くなります。

それではプログラマーの仕事を具体的に見ていきましょう。

設計をもとにプログラミングを行う

SEから設計書を貰い、指示を出してもらってその通りに動くようプログラムを作成します。

作成の細かい指示を受けることもありますが、基本、どうシステムを形にするのかはプログラマーの腕次第です。

コードの書き方によってはバグが頻発してしょっちゅう動作が重くなったり、逆にスムーズで使いやすいシステムになったりします。

SEに比べると自由度や独創性が少ないと思われがちです。

しかし、どういう書き方をするか、いかにシンプルなコードにするかなど、上手くシステムが動くには技術が問われます。

コードレビューを行う

仕事の進め方にもよりますが、コードレビューといって、書いたものを他の人にチェックをしてもらうこともあります。

コードレビューとはソースコードを目で追って、誤りや問題点、規則に則って作られているかを確認する作業です。

もちろん、自分もレビューする側に回って同じ作業者のコードを見ることもありますよ。

コーディング後のテストを行う

自分の書いたコードは自分でテスト・修正を行うことがほとんどです。

また、他の人たちが担当した部分のコードと合わせてテストするときは、SEや同じ作業者の方と協力してテストしていくこともあります。

ちゃんと設計書に書かれた通りに動いているか、SEと確認しながら作業を進めます。

どちらを目指したら良いか

まずは、という意味ではプログラマーを目指しましょう!

その後、適正によってプログラマーのままでいるか、SEになりたいか、目指す方向を考えて下さい。

最初にプログラマーを目指すのは、SEを目指していてもプログラミング知識は必要だからです。

SEの求人例を見てみましょう。

これは実際の求人例です。

求人サイトDodaにて検索。

「SE」の求人は調査時5184件。
うち「未経験者」を含まないで検索すると5051件ヒット

SEでは経験者を多く募集していますね。
プログラマーは未経験でも多く募集しています。

そこからSEとなる人も多いです。

SEは未経験でもなれないわけではありません。

「未経験者」を含んで検索すると、求人は5184件中133件ありました。
SE求人全体のおよそ2.5%です。

未経験でも、お客様との打ち合わせなど製作現場よりSEのメイン作業であるお客様へのヒアリング、設計を実践で学んでいける会社のようです。

このように、設計業務をメイン・優先としあまり製作には関わらないSEもそれなりにいます。

しかし、多くはプログラミングから経験させる会社が多いです。

プログラマー志望者プログラマー志望者

なぜでしょうか?

システムを作るそれぞれの工程(作業の段階)に詳しくないのに設計業務を行うと、プログラマーとの連携が取りにくくなってしまう
エンジニアエンジニア

知識がないと実現不可能な設計を組んでしまうこともあります

とうてい実現できないような機能を盛り込んだ設計書を書いてしまい、現場のプログラマーが「できません!!」と悲鳴を上げても製作者の気持ちや状況を理解できません。

プログラミング知識は必須ではありません。

場合によっては、なくてもなれない訳ではありません。

しかし、ほとんどの現場では製作の知識が求められます。
エンジニアエンジニア

そういうわけで、プログラミングを一通り経験したら、どちらの道へ進むか考えてみましょう。

それぞれ必要なスキルがあります。

何事もやってみるのが一番です。

参考までに下記を見て自分のやりたいことを考えてみてくださいね。

システムエンジニアに求められる能力

  • コミュニケーション能力が重要なウエイトを占めます。
  • マネジメント能力も必要です。

SEは設計者で、全体の製作段階の管理をする必要があります。

設計をするときは‥

  • お客様の説明をよく聞き取る必要があります。
  • 自分たちのもつ技術によってできる事などを説明しなければいけません。
  • 場合によっては金額の交渉もあります。

その要望を元に、それぞれの作業者に適切な指示をしなければなりません。

その指示の中には、予算に基づいて決められた、どれだけの時間で何日までに、というものも含まれます。

ここで問われるのは、円滑にプロジェクトを進める計画を立てられるマネジメント能力です。

さらにお客様・プロジェクトメンバーを引っ張っていくコミュニケーション能力も求められます<

プログラマーに求められる能力

  • プログラミング技術が重要なウエイトを占めます。
  • 言い換えると問題解決能力・論理的思考能力が必要です。
エンジニアエンジニア

プログラミングをして動作チェックで動かない、ということはよくあります。

その中でどこが間違っているのだろう?それを解決する方法は?という問題にしょっちゅうぶつかります。

インターネット、本、人に聞く、条件を変えて実際に動かしてみる、などなど問題を解決する工夫が必要です。

また、プログラミングは書いたとおりに動きます。

つまり、こうしたらこう動く、という筋道があり、その筋道立ったコードを描くには論理性(法則を考える力)が重要になります。

最近はこういった思考能力を鍛えるパズル!なんてものも売られていますので、こういったもので鍛えてみるのもいいでしょう。

論理的な思考を鍛え、困難な問題にあたってもどうしたらよいのだろう?とコツコツ諦めずにやり遂げられる粘り強さが必要です。

システムエンジニアとプログラマー給与の違い

SEの方が仕事内容の幅の広さからお給料は高くなっています。

下記にて、2019年度政府統計調査の平均給与額データを出しています。

ショッキングなことに年間賞与額(ボーナス)は倍近く違っています。

しかし、多くの場合SEになるのはプログラマーとして十分に経験を積んだ人が多いため、会社の勤続年数にも違いがあってこのような結果になっているようです。

エンジニアエンジニア

実際に、平均勤続年数はSE12年、プログラマー7年となっていました。

また、データはあくまで平均値、会社勤めの方を対象にしています。

スキルアップして選ぶ会社や働き方を変えればプログラマーでも高いお給料をもらうことができます。

それを踏まえた上で、下記のデータを参考にしてください。

※下記に紹介している月収は税金や保険料が引かれる前の給与額です。

システムエンジニアの平均給与(月収)

平均月収:38万円

実際の求人サイトでの初任給(未経験):20万程度

多少変動があるようですが他職種の平均より常に上回っていますね!

また、補足として

  • ボーナス:112.9万円
  • 平均年収:568.9万円

となっています。

年収額の高さをランキングにすると129職種中19位でした。上位2割に食い込んでいます。

システムエンジニアの年収については別記事でより詳しく解説しています。
(参考記事:システムエンジニア(SE)の平均年収は約550万円!年収1000万円を目指す方法とは

プログラマーの平均給与(月収)

平均月収:30.4万円
実際の求人サイトでの初任給(未経験):18万程度

こちらは他職種と比べて少々下回っており、年々そこに変化はあまり無いようです。

やはりSEがプログラマーより仕事範囲が広く色々なことをこなす必要があると考えると、この業界は仕事内容が賃金に反映されやすい世界なのだと感じますね。

また、補足として

  • ボーナス:60.5万円
  • 平均年収:425.8万円

となっています。

年収額の高さをランキングにすると129職種中63位でした。ちょうどランキングの真ん中に位置しています。



システムエンジニアとプログラマーを分けていない場合もある

会社・状況によってSEがプログラマーとして開発に関わったり、プログラマーがSEとして設計業務を任されたりすることがあります。

SE、プログラマーという言葉を同じ意味で捉えている現場もあります。

開発において役割担当の線引きがはっきりしていない場合に多いです。

エンジニアエンジニア

SEという職種自体、プログラマーの人が「人手が足りないから設計もやっておいてね!」なんて空気で任されていつのまにかSEとして働いていた、なんてこともあります。

プロジェクトによって、ある時はSE、またある時はプログラマー、家に帰ると副業でやっているデバッガー(テストを専門でやる人)、なんて人もいます。

もし担当する業務で範囲外の事は希望していない場合、就職時に開発の体制を確認したり、希望を出して相談したりすると良いでしょう。

まとめ

いかがでしょうか。

一言にプログラムを勉強するぞ、といっても

  • その先どんな形で働くのか
  • どの分野を担当していくか

それによって、職種名が変わり、必要スキルが色々と増えていくことがあるということをお話させて頂きました。

ここを見て、まだどちらに適性があるかわからない・・・という方は。

  • まずは自分ひとりで自分の作りたいと思うアプリを最後まで作ってみるとよいでしょう。
  • 設計して、プログラムして、テストして・・・そうしてできあがったものを配信してみましょう。

また、わからないところを人やインターネットで質問することで、そういった界隈のコミュニケーションスキルが磨かれます。

コミュニティが広がって情報が得られることもあります。

プログラミングジャパンプログラミングジャパン

その中で自分自身の適性やりたいことがわかってくるでしょう。

独学ではなかなか厳しい面もありますので、プログラミングスクールでプログラミングを学ぶのもオススメです。

プログラミングジャパンでは授業の無料体験を行っています

SE経験のある講師もいます。

あなたの疑問にお答えできます。

プログラミングジャパンプログラミングジャパン

いろいろ聞きにきてくださいね!

あなたの夢、応援します!

プログラミングジャパンとは

プログラミングジャパンは日本初の「スマホアプリ開発」専門のプログラミングスクールです。
スマホアプリ開発企業と直接提携
することによって他のスクールにはない
『スマホアプリエンジニア』としてのキャリアを最短2ヶ月で築くことが出来ます。