あなたのスキルはダイレクトに収入につながる

ITフリーエンジニア専門エージェント レバテックフリーランス

無料登録はこちら

プログラマーとの違いやスキル、キャリアパスについても解説
システムエンジニア(SE)とは

  • このエントリーをはてなブックマークに追加

メイン画像

IT化の進行に比例してシステムエンジニア(SE)の活躍の場は増加しています。しかし、システムエンジニアはプログラマーなどと混同されることも多く、具体的な役割の違いまでは分からないという方も多いでしょう。特にシステムエンジニアとして働くことを目指す方であれば、仕事内容や必要なスキルをよく理解しておかなければなりません。今回は、このシステムエンジニアという職種について解説していきたいと思います。

SE(システムエンジニア) 案件を
提案してもらう

フリーランスの収入見込みをチェック

 

簡単60秒! 無料登録

目次

システムエンジニア(SE)とは
システムエンジニア(SE)の仕事内容
システムエンジニア(SE)とプログラマーの違い
委託開発におけるシステムエンジニア(SE)
システムエンジニア(SE)のキャリアパス
システムエンジニア(SE)のやりがい
システムエンジニア(SE)の仕事はきつい?
システムエンジニア(SE)が向いているのはこんな人
システムエンジニア(SE)になるには
システムエンジニアに求められるスキル(SE)
システムエンジニア(SE)に役立つ資格
システムエンジニア(SE)と他のITエンジニア系職種との違い
システムエンジニア(SE)の平均年収
システムエンジニア(SE)の求人・案件例
文系でもシステムエンジニア(SE)になれる
システムエンジニア(SE)の仕事を正しく理解しよう

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

2台のモニターを使って仕事をしている男性の画像

システムエンジニアはもともと、ITシステム開発に従事するエンジニア(技術者)に対して、「プログラマー」とセットで用いられる言葉でした。システムエンジニアとプログラマーの違いを理解するためには、ソフトウェア開発のプロセスを知る必要があります。

ソフトウェア開発プロセス

ソフトウェア開発プロセスは一般に次のようになります。

要件定義→外部設計→内部設計→ユニットテスト→システムテスト→受け入れテスト→運用・保守

要件定義はどのようなシステムを求めているのか顧客から聞き出してまとめる作業です。外部設計は要件定義を元にシステム全体の仕様を、内部設計は外部仕様を元にシステムの部分ごとの機能を、それぞれまとめてドキュメント(書類)を作成します。

そのあと、実装(コーディング)により、設計に基づくプログラムが記述され、実際にシステムが動作するようになります。テスト(ユニットテストとシステムテスト)でシステムの動作が検証されたあとで、運用・保守のプロセスに移行します。

こうしたソフトウェア開発プロセスは1970年代までに、それまで多かった「とにかくプログラムにして書く」式アプローチ失敗の反省から多くの開発現場で普及しました。

ソフトウェア開発論の古典として知られているフレデリック・P・ブルックス Jr.『人月の神話』とその続編『デザインのためのデザイン』では、こうしたソフトウェア開発プロセスの登場の経緯が記載されています。

ITに詳しくない人は、システム開発では実装だけが必要なプロセスだと思うかもしれません。しかし実際のシステム開発では、実装は要件定義や設計やテストなどとともに、作業の一部に過ぎないのです。

また、もし要件定義や外部設計に問題があり実装後に発覚した場合には、大幅な作業のやり直しが必要です。作業のやり直しは、開発コストの増大や、極端な場合には開発失敗の原因にもなります。

実装で問題があった場合にも作業のやり直しは発生するものの、要件定義や外部設計ほど大きな影響はありません。そのため、要件定義や外部設計はシステム開発においてより重大な責任があるのです。

こうした責任の重大さと、実装に先立って作業が行われることなどがあいまって、システム開発において要件定義や外部設計は上流工程とも呼ばれます。

関連記事 : メーカー系SEとは?

SE(システムエンジニア) 案件を
提案してもらう

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

システムを開発する際には、上流から下流まで、段階ごとに区切られた一連の工程があります。この工程に沿った開発を進めることで、トラブル発生時の対処や原因の追求がしやすくなるためです。

上流工程とは、開発依頼者の要望に基づいた要求分析や要件定義、基本および詳細設計などを指します。一方、下流工程とは、システムを実際に稼働させる前のテストや、運営後の管理業務などを指す場合が多いようです。

要件定義や設計の段階からシステム稼働時のテストまで、SEの業務は多岐に渡ります。

以下の項目では、全体的な開発の流れについて説明します。

H3: 開発依頼者の要求およびシステム要件の確認
SEはまず、依頼者の要求を汲み取り、開発の目的について確認します。ヒアリング作業を繰り返す中で、依頼者が本当に望んでいることや現状の課題点を把握することが重要です。

相手によっては、必要なシステムが何かを理解していなかったり、SEに全面的な提案を求めることもあるでしょう。そういったニーズに寄り添った上で、システムにどのような機能を持たせるかを決定していきます。

基本、詳細設計およびプログラム作成

システム開発の目的を理解し、構成要素をまとめる基本設計を行った後は、プログラミングに向けた詳細設計に進みます。詳細設計通りのプログラムが完成したら、設計後のプログラミング実装はプログラマに引き継ぐのが一般的です。

ただし、プロジェクトの内容によってはSEがプログラミングの作業を行う場合もあります。基本的には、要求の分析や要件定義、設計などの「上流工程」部分を担当するのがSEです。

H3: システム実働前の最終チェック
システムが完成したら、実際に稼働するか、また、不具合はないか等の最終チェックを行います。プログラミングの実装部分をプログラマが担当した場合であっても、システム実働前のテストに立ち会うのが基本です。

関連記事 : SE(システムエンジニア)の職種について

システムエンジニア(SE)とプログラマーの違い

窓際に立て話をしている2人のビジネスマンの画像

ソフトウェア開発では、プロセスごとに多くの人が業務を分担することになります。
システムエンジニアは、ソフトウェア開発プロセスのなかですべての業務を担います。実装や内部設計も、要件定義や外部設計なども、システムエンジニアは担当するのです。

プロジェクトが大規模になると、スケジュールやリソース(人員などの経営資源)などのマネージメントをすることもあります。もちろん、すべての作業を1人ではできないので、他の人と協力しながら作業します。
それに対してプログラマーとは、主に内部設計や実装を担当するエンジニアのことです。

なお、システムエンジニアには、一般(非IT系)の企業でシステム運用などを担当する社内SEが含まれることがあります。

社内SEは、ソフトウェア開発現場のシステムエンジニアとは業務内容がやや異なります。システムの運用や保守などが主業務であり、システム開発に直接従事する機会は少ないのが一般的です。

また、委託開発の場合には、システムエンジニアの役割も変わります。

関連記事 : SEとPG、両方の違いは?
関連記事 : 社内SEとは?

委託開発におけるシステムエンジニア(SE)

システムエンジニアの仕事をイメージしたイラストをペンで書いている男性の手元の画像

ソフトウェア開発では、1つの会社で上流工程を含めたすべてのプロセスを行う自社開発のほかに、内部設計や実装などを中心にほかの会社に業務を委託する委託開発の場合も多くあります。この場合、業務を委託する企業が元請け、委託された業務を行う企業が下請けです。

委託開発はとくに、金融システムや官公庁の各種システム、大手企業の基幹システム(会計、給与、人事などのシステム)などの大規模案件で多く見られます。また、業務を委託された企業が別の企業に業務委託し、多重の委託開発になる場合も多いです。

元請け企業は多くの場合、システムインテグレータ(SIer)と呼ばれる大手企業です。

委託開発での元請けのシステムエンジニアは、上流工程や下請け企業に対するスケジュールやリソースなどのマネージメントが主業務になり、内部設計や実装を担当する機会は少なくなります。

関連記事 : 独立系SIerとは

システムエンジニア(SE)のキャリアパス

「CAREER」と書かれた木のオブジェが階段状に置かれている画像

自社開発を中心にしている会社や下請け企業の場合、システムエンジニアはまず実装や内部設計を担当することが多いでしょう。この段階ではシステムエンジニアとプログラマーは、同じスキルを求められるといえます。ある程度経験を積んだシステムエンジニアは、上流工程やマネージメントなどの業務を任せられるようになります。

内部設計や実装の現場でまわりをまとめてリーダーシップを発揮できるようなシステムエンジニアに与えられる立場が、プロジェクトリーダー(PL)です。また、1つの開発案件全体のマネージメント業務を任せられるようなシステムエンジニアはプロジェクトマネージャー(PM)と呼ばれます。

元請け企業のシステムエンジニアの場合は、比較的早い段階から下請け企業などを含めたマネージメント業務を担当する場合が多いでしょう。

プログラマーは、プロジェクトリーダーを目指すのが有力なキャリアです。専門性を高め、ITアーキテクトと呼ばれる高度ITエンジニアを目指す道もあります。

システムエンジニアは、プロジェクトマネージャーなどの上級SEを目指すほか、経験を活かして社内SEへの転進なども考えられる方向性です。また、プログラミングやインフラのスキルをアップし、専門性の高いITアーキテクトやインフラエンジニアを目指す道もあります。

関連記事 : SEのキャリアパス

システムエンジニア(SE)のやりがい

システムエンジニアの仕事内容は多岐にわたるため、やりがいと一口に言ってもさまざまですが、その根底にあるのは広い意味で社会の進歩を支える仕事である点です。自身が携わった仕事が特定の業界や会社の評価を上げることなどにつながるケースも珍しくなく、こうした強い達成感を得られることは、システムエンジニアのやりがいとして挙げることができます。

また、システムエンジニアとして働くならば、技術スキルの向上に努める必要があります。常に学び続けなければならないという点は、プレッシャーに感じる人がいるかもしれません。一方で、新たなスキルの習得は自らの成長を実感できる機会であり、できないことをできるようになる喜びはシステムエンジニアとしての醍醐味といえるでしょう。

関連記事 : SE(システムエンジニア)のやりがいについて

システムエンジニア(SE)の仕事はきつい?

システムエンジニアの仕事は残業が多くてきついという意見も多く聞かれるため、システムエンジニアとして働くことを躊躇しているという方もいらっしゃるかもしれません。

システムエンジニアの残業時間は調査によってばらつきがありますが、1カ月の平均残業時間は20~40時間未満という方が多いようです。とはいえ、まったく残業しない方もいますし、月80時間以上残業するという方もいます。勤務体系や勤務先の方針などによって勤務時間や残業日数、休日数は大きく異なるため、一概に「残業が多い」とは言えないでしょう。

システムエンジニアは、ときに仕事を自宅へ持ち帰り休日にも作業をしなければならないというケースもあります。このような傾向は納期が近づくほど強くなり、時期によってはきついと感じることもあるかもしれません。しかし、納品後は仕事が落ち着くケースも多く、休日も規定通りにとれるという方が大半のようです。

関連記事 : 残業時間の上限

システムエンジニア(SE)が向いているのはこんな人

システムエンジニアの仕事には前述したようなやりがいと大変さが伴います。このことから、システムエンジニアには以下のような人が向いていると言えます。

自身の成長を喜びに変えられる人

システムエンジニアの仕事は、新たなスキルを身につけながら自分自身が成長することで、やりがいを感じられるようになります。特に好奇心や向上心が強い人であれば、どんどん新しい情報やスキルを吸収できる ため、ぴったりな仕事だと言えるでしょう。

時期によっては残業があることも受け入れられる人

システムエンジニアの仕事は納期間近など特定の時期は特に忙しくなり、休日出勤や残業が発生することも珍しくありません。ときにはトラブル起きることもあるため、状況の変化に柔軟に対応できる人が向いています。

関連記事 : 30歳女性フリーランス。「エンジニアに向いているか」を悩んだ過去を乗り越えフリーを目指した理由

システムエンジニア(SE)になるには

システムエンジニアになるには、いくつかのステップを踏んでいくことが大切です。ここでは、システムエンジニアになるための代表的なルートをご紹介します。

独学で勉強

システムエンジニアに求められるプログラミングスキルの中でも、初歩的なものは独学で学ぶことも可能です。まずは独学で基礎力を身に着けておき、企業に入社してからさらにスキルを向上させていくというのもよいでしょう。

システムエンジニアとして企業に入る

情報系の学歴がある、もしくはある程度のスキルが身についているのであれば、就職にも有利に働きます。入社後は日々の業務でスキルアップをしつつ、さらに目指すべき専門分野を模索していくのがおすすめです。

副業やアルバイトとして始める

いきなりシステムエンジニアとして企業に入るのに不安を感じるのであれば、副業やアルバイトとして働き始め、主に下流の仕事に携わりながらシステムエンジニアとしての実力をつけるという選択肢もあります。

関連記事 : 在宅SE(システムエンジニア)の仕事とは?求人・案件の探し方も解説

システムエンジニアに求められるスキル(SE)

スキルを表したイラストを中心に、会議をしている画像

システムエンジニアにはどのような能力が求められるのでしょうか。ここでは、次の能力を取り上げます。

  • プログラミングスキル
  • 幅広いIT知識
  • コミュニケーション能力

プログラミングスキル

プログラミングスキルは実装の際に必須であり、とくにプログラマーや、自社開発および下請けのシステムエンジニアにとっては真っ先に習得が求められるスキルとなります。

また、要件定義や外部設計といった上流工程においても、プログラミングスキルに基づく知識は重要です。顧客からの要求を受け入れるか判断したりシステムの仕様を決定したりするときには「要求や仕様が実装可能か」「可能な場合にはどれだけの時間と費用が必要か」などをプログラミングの知識を元に判断することになるためです。

プログラミングスキルは、業務や研修のほかに、書籍やインターネット上の情報を用いて独学できます。ほかの職業上のスキルとくらべると特別な設備や先生が必要ないので、やる気さえあればプログラミングは独学しやすいと言えます。一方で、プログラミングに必要な知識は幅広く複雑なため、自ら積極的にスキルを身につけることが求められます。

ただし、プログラミングスキルのなかには独学ではなく実際の業務のなかでしか身につけられない部分があることにも留意してください。とくに、他人と協力しながらプログラムを作成する際のノウハウは、実際の業務のなかでしか学べない部分が多くあります。 また、大規模なプログラムを開発するスキルも独学では学びにくいでしょう。

関連記事 : プログラマに必要なスキル

幅広いIT知識

システムエンジニアにとっては、プログラミング以外でも幅広いIT知識が必要です。
実装の際には一般に、ハードウェアの設置やネットワーク接続、各種サーバーの立ち上げなどといったインフラ構築を行わなければなりません。

インフラ構築は、部分的には専門のエンジニアに委託することもありますが、基本的な部分はシステムエンジニアが担当する場合が多いです。

また、要件定義や設計の段階でも、インフラ構築について考慮しておく必要があります。近年ではインフラ構築時に仮想化やクラウドなどが用いられることも多く、それらの知識もシステムエンジニアにとって必須です。

そのほかにも、 ドキュメントやプログラムコードの管理、テストの実行などに関連したIT知識も求められます。たとえばドキュメントやプログラムコードの管理には近年、Gitなどのバージョン管理システムが用いられることが多くなっています。こうしたツールについてもシステムエンジニアは知識を求められるでしょう。

関連記事 : インフラエンジニアとは?

コミュニケーション能力

システムエンジニアやプログラマーが実装する際には、要求仕様や仕様書の内容を正確する理解力が求められます。さらに、仕様書で記述が抜けていたり曖昧だったりする部分を確認したり、状況の変化を即座に把握して対応することも必要になります。また、自分の作成したプログラムを他人に説明する能力も求められます。

一方で、要件定義や外部仕様作成を担当するシステムエンジニアは、顧客の話を聞いたり交渉したりするような場面が増えます。そのため、コミュニケーション能力も重要です。

また、営業や会社の経営者とのコミュニケーションが必要な場合も出てきます。そうしたシステムエンジニアは、ほかのSEやプログラマーに仕事を指示したり作業の進捗を管理したりするような場面が多くなり、マネージメント能力やリーダーシップも求められます。

関連記事 : エンジニアが身につけるべきプラスアルファのスキルまとめ

システムエンジニア(SE)に役立つ資格

ここでは、業務に活かせる資格や必要なスキルについて確認しましょう。

持っていれば有利なIT系国家資格

SEとして開発を行う場合、資格は必ずしも必須ではありません。しかし、専門的な資格を保有することで、意欲やスキルをアピールする手段となる他、自分の知識レベルを把握することにもつながります。

IT系の資格は国家・公的・民間などに分類されますが、一般的な企業では国家資格を重視するケースが多いようです。

一口に国家資格と言っても、IT関連にはレベル1~4までの段階があります。

  • レベル1:ITパスポート試験など
  • レベル2:基本情報技術者試験など
  • レベル3:応用情報技術者試験など
  • レベル4:ITストラテジスト試験、システムアーキテクト試験、ネットワークスペシャリスト試験、システム監査技術者試験など

ただ闇雲に資格を取得するのではなく、自分が希望する分野に特化した資格・スキルを選ぶことが大切です。複数の基本的な資格を取得するよりも、専門的な分野において、より高度なレベルを追求することをおすすめします。

その他のIT系ベンダー資格

システムエンジニアの仕事に関連する資格には、国家資格だけでなく民間資格もあります。続いては、システムエンジニアとして働く上でも大きな強みとなる民間資格をご紹介します。

初心者向け

マイクロソフト認定試験:マイクロソフト製品に関するスキル・知識が問われる資格。グレード・種類共に多数あり
Linux技術者認定試験:インフラエンジニアやネットワークエンジニア向けの資格。Linuxに関するスキル・知識が問われる

中級者向け

Oracle認定Javaプログラマ:Javaを扱うシステムエンジニア向けの資格。グレードによって評価が分かれる
Cisco技術者認定:ネットワークエンジニアやシステムエンジニア向けの資格。Cisco製品に限らない幅広い知識とスキルが求められる

上級者向け

ORACLE MASTER:データベース管理者に求められる幅広いスキルと知識が求められる資格。データベースの管理や運用のほか、SQLについてのスキルも問われる

関連記事 : システムエンジニアの資格について

システムエンジニア(SE)と他のITエンジニア系職種との違い

オフィス内で笑顔でこちらを見ているチームの画像

システムエンジニアとプログラマーは外部から見ると、要件定義や外部設計といった上流工程をシステムエンジニアが担当し、実装はプログラマーが担当する、というような明確な分業関係があると思うかもしれません。

しかし、実際の開発現場ではシステムエンジニアが実装を担当することも多く、両者の違いは不明確な場合も多いです。また、上流工程を担当するシステムエンジニアは直接実装をしない場合でも、プログラミングについての専門的な知識が必要になります。

加えて、 システムエンジニアは、Webエンジニアがフロントエンドエンジニア、サーバーサイドエンジニア、インフラエンジニアなどに分類されるのとは異なり、職種が細分化されません。

プログラマーとの違いが不明確なことや、職種の細分化が少ない背景には、システムエンジニアはシステム開発における「なんでも屋」的な性格があります。システムエンジニアは、上流工程を専門に担当するエンジニアではなく、上流工程を含めたあらゆる作業を担当するエンジニアである、と考えるのが実態に近いでしょう。

関連記事 : SE(システムエンジニア)の職種

システムエンジニア(SE)の平均年収

電卓とお金が置かれている画像

日本の経済産業省は2017年8月に「IT関連産業の給与等に関する実態調査結果」を公表しています。

調査結果によると、顧客向けシステムの開発実装を行う一般の「SE・プログラマー」の平均年収は、593.7万円、「プロジェクトマネージャー」は891.5万円でした。また、プロジェクトマネージャーの年収は、プログラミングの専門的知識をもつITアーキテクトなどの「高度SE・ITエンジニア」(778.2万円)や、インフラの専門知識をもつ「IT技術スペシャリスト」(758.2万円)でした。

こうした結果から見えるのは、ソフトウェア開発の現場では技術のスペシャリストよりもマネージメント能力の高いシステムエンジニアが求められているということです。

もちろん、個別の実際の収入は状況によって大きく異なりますし、今後は技術のスペシャリストの方が求められるようになる可能性もあります。システムエンジニアなどのITエンジニアが自分のキャリアを考える際には、こうしたニーズと自分の特長や指向の両方を考えるとよいでしょう。

関連記事 : フリーランスのプログラマー・SE(システムエンジニア)で年収800万円以上稼ぐための16のヒント

システムエンジニア(SE)の求人・案件例

ここでは、実際にあったレバテックフリーランスでの案件を例にして、SE (システムエンジニア)の作業内容や案件に必要なスキルなどを見ていきましょう。SE (システムエンジニア)の求人・案件に興味がある方は参考にしてみてください。
【C++】決済装置関連アプリケーション開発の求人・案件
■単価
〜700,000円/月※消費税を含めた参画者にお渡しする金額です。

■職種・ポジション
SE (システムエンジニア)、プログラマー(PG)

■職務内容
・決済装置関連アプリケーションの開発をご担当いただきます。

■求めるスキル
・Linux上でのC++を用いたアプリケーション開発経験

【歓迎スキル】
・クレジットカード決済に関連した業務知識
・Qtを用いた開発経験

■最寄り駅
恵比寿(東京都)
【Java/SpringBoot】決済代行システム保守開発の求人・案件
■単価
〜680,000円/月※消費税を含めた参画者にお渡しする金額です。

■職種・ポジション
SE (システムエンジニア)、プログラマー(PG)

■職務内容
・カード決済代行システムの保守開発を行っていただきます。
・主にコーディング、単体テスト、結合テストをご担当いただきます。

■求めるスキル
・設計の経験
・Javaを用いた開発経験2年以上
・SQLを用いた開発経験
・Springを用いた開発経験

【歓迎スキル】
・Spring、MyBatis、Tymeleafの知識及び開発経験
・HTML、JavaScript、CSSの開発経験
・金融業での開発経験
・外部サービスと連携するシステムの構築経験
・運用、保守の経験

■最寄り駅
三鷹(東京都)

上記の内容はSE (システムエンジニア)のフリーランス案件の一例であり、必須スキル・歓迎スキルや単価などは、案件とご自身のスキル・経験によって大きく変わってきます。

SE (システムエンジニア)の案件をもっとみる

文系でもシステムエンジニア(SE)になれる

システムエンジニアの仕事はどちらかというと理系分野というイメージが強く、文系の人が就くことは難しいという先入観を持っている方も少なくありません。しかしながら、実際には文系の人がシステムエンジニアになったというケースも数多くあります。

例えば、上流工程におけるクライアントとの打ち合わせではシステムエンジニアとしての知識だけでなく、相手の意向を汲み取るコミュニケーション能力も求められます。この能力に関しては、どちらかというと文系の人の方が高い傾向にあるため、文系ならではの強みを活かすことは十分に可能です。

事実、「IT人材白書2017」(独立行政法人情報処理推進機構)によると、2016年度においてIT企業で活躍するIT技術者の最終学歴・専攻は、文系出身者が約3割を占めています。

このことから、基礎がしっかりと身についてさえいれば、文系の人でもシステムエンジニアになることは可能であると言えます。

関連記事 : 文系出身のSE(システムエンジニア)のキャリアについて

システムエンジニア(SE)の仕事を正しく理解しよう

システムエンジニアの実態がつかみにくいのは、プログラミングスキルなどの深い技術的専門知識が求められる一方で、コミュニケーションやマネージメントなども含めた幅広いスキルが求められることが一因です。

それだけ大変ですが、一方ではさまざまな人に活躍の場があるのがシステムエンジニアの仕事です。今回を機会にシステムエンジニアについての理解を深めていただければ幸いです。

最後に

簡単4ステップ!スキルや経験年数をポチポチ選ぶだけで、あなたのフリーランスとしての単価相場を算出します!

※相場算出に個人情報の取得はおこないません。

SE(システムエンジニア) 案件を
提案してもらう

■求人・案件をお探しの方はこちら
SE (システムエンジニア)の求人・案件
東京エリアでのSE(システムエンジニア)の求人・案件

  • このエントリーをはてなブックマークに追加
いきなり相談するのは不安な方へ フリーランスになった時にどんな案件を提案されるのかメールでわかる! 詳しくはこちらから

関連案件

もっとSE (システムエンジニア)の案件を見る

プライバシーマーク

© 2014-2020 Levtech Co., Ltd.