オールコネクトブログ

採用関連

システムエンジニア(SE)ってどんな仕事?職種や年収、就職に必要なスキルを解説

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
システムエンジニアの仕事内容・年収・必要なスキルは?

IT業界の中で、システムエンジニア(SE)としての就職を目指す人も多いのではないでしょうか?

厳密にいうと「システムエンジニア(SE)」は、よりユーザーに近い工程である上流工程を担当する職種です。

ITスキルはもちろんのこと、コミュニケーションスキルや、最近では英語スキルも求められています。
より広範囲の工程を担当できる、プログラマーとしてのスキルもある、マネジメント力があるといったシステムエンジニア(SE)は重宝され、年収もアップする傾向にあります。

一方で、IT関係の職業のことを広く指して「システムエンジニア(SE)」と使われる場合もあります。

今回はシステムエンジニア(SE)として就職・転職を目指す人向けに「そもそもシステムエンジニア(SE)とは何?」といったところから、主な仕事内容や就職するために必要なスキル、成功するポイントなどを解説します。
これからシステムエンジニア(SE)を目指す方は、ぜひ参考にしてみてください。

システムエンジニア(SE)にはどんな職種がある?

システムエンジニア(SE)にも、いろいろな種類の職種があります。
ここでは、システムエンジニア(SE)の種類について、ご説明します。

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

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

システムエンジニア(SE)という言葉には、狭義のシステムエンジニア(SE)と、システムエンジニア(SE)やプログラマー、ブリッジシステムエンジニア(ブリッジSE)、プロジェクトマネージャーなどをまとめて指す広義のエンジニアの二種類の意味があります。

広義のシステムエンジニア(SE)
狭義のシステムエンジニア(SE)
  1. システムエンジニア(SE)
  2. プログラマー(PG)
  3. ブリッジシステムエンジニア(ブリッジSE)
  4. プロジェクトマネージャー(PM)

1~4をまとめた名称としての
「システムエンジニア(SE)」

上流工程のみ担当

後程詳しくご説明しますが、ITシステムを構築する際には、下記のような工程を経て行われます。

<ITシステム構築の工程>

①要求分析(上流工程)
顧客の要望を特定

②要件定義(上流工程)
顧客の要望からどのような機能を持たせればいいかを決定

③基本設計(下流工程)
どのような機能、動作になるかを決定

④詳細設計(下流工程)
基本設計の動きをさせるにはどうすればいいかを決定

⑤テスト(下流工程)
設計どおりに動作をするか確認

⑥運用・保守(上流工程)
システムの正常な稼動を維持させる

ツールなどの小規模な開発現場ではその限りではありませんが、大規模システム開発ではたいていこのような工程の元で開発が行われます。

これらの工程の中で、ユーザー寄りの工程、つまり要求分析や要件定義、運用・保守などの工程を「上流工程プログラムに近い詳細設計などの工程を「下流工程」と呼びます。

上流、下流などという名前がついていますが、上流だから偉いとか給料が高いとかそういうことではありません。
ただ便宜的に、ユーザー寄りの工程を上流工程、プログラム寄りの工程を下流工程と呼んで、住み分けしているだけです。

これらの工程の中で、主に上流工程を扱うのが、システムエンジニア(SE)です。
システムエンジニア(SE)はシステム開発全体を見る立場にあり、顧客との調整をしてシステム要件を決め、要件定義工程くらいまでを担当し、設計やプログラミング、テストは下流工程担当のエンジニアに渡します。

もちろん、すべての工程の品質管理や進捗管理を行い、納品されたプログラムのテスト、顧客への納品、運用・保守担当に渡すまでを管理します。

このように、システムエンジニア(SE)は、システム開発に携わるすべての工程を管理する要となる存在です。
現場によっては、下流工程も含めてすべてシステムエンジニア(SE)が担当することもあります。

プログラマー(PG)

プログラマーは、「システムエンジニア(SE)」の章でご紹介した「下流工程」の作業を主に行うエンジニアです。
上流工程から降りてきた要件定義書をもとに基本設計書、詳細設計書を作成し、それをもとにプログラミングを行います。

その後、プログラムのモジュールテストや単体テスト、モジュール同士を結合させて行う結合テストなども行います。
そして、出来上がったプログラムを、上流工程の担当システムエンジニア(SE)に納品します。

現場によっては、プログラマーが要件定義から最終テストまですべて行う場合もあります。
また、実際はプログラマーとシステムエンジニア(SE)は仕事が違いますが、システムエンジニア(SE)としてまとめて募集していることもあります。

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

よく聞かれる質問ですが、システムエンジニア(SE)とプログラマーは何が違うのでしょうか?

ここまで読んだ方はおわかりかと思いますが、担当する工程が違います。

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

システムエンジニア(SE)
プログラマー
主に作業する工程
上流工程

  • 要件分析
  • 要件定義
  • 運用
  • 保守
下流工程

  • 基本設計
  • 詳細設計
  • テスト

システムエンジニア(SE)は要件分析、要件定義、運用・保守などの上流工程を、プログラマーは基本設計、詳細設計、テストなどの下流工程を担当します。

また、年収も違います。
仕事の単価は、一般的にシステムエンジニア(SE)の方が高い傾向にあります。

よく構造としてあるケースが、親会社が上流工程を行い、下請け会社や孫請け会社が下流工程を行う「ITゼネコン構造」です。
建設業界のゼネコン構造と似たような構造のためそのように呼ばれますが、下請けや孫請け会社は立場が弱いため、下流工程のエンジニアは、安い単金で働くケースが多くなります。

もちろん、非常に高度なプログラミング技術を持つプログラマーの中には高収入を得ている人もおり、システムエンジニア(SE)の方が必ずしも高給取りとは限りません

ブリッジシステムエンジニア(ブリッジSE)

ブリッジシステムエンジニア(ブリッジSE)は、オフショア開発に必要不可欠なシステムエンジニア(SE)です。
オフショア開発とは、海外企業と協働することです。

人件費の単価が安い中国や東南アジアなどに業務を委託してコストダウンを狙うケースや、競争力の高い海外企業とパートナー関係を結ぶケースもあります。

このとき、扱う言語が異なる相手国の担当者と日本側の担当者とのコミュニケーションをとる役割を果たすのが、ブリッジシステムエンジニア(ブリッジSE)です。
ブリッジシステムエンジニア(ブリッジSE)は当然、英語や中国語など、相手国の担当者が使う言語に堪能でなければなりませんし、IT知識やシステム開発に関する知識や経験も必要です。

日本企業のグローバル化が進む中、ブリッジシステムエンジニア(ブリッジSE)の必要性は年々高まっています。

プロジェクトマネージャー(PM)

プロジェクトマネージャーは、どのプロジェクトにも必要なプロジェクトのリーダーや管理者としての重要なポジションです。

プロジェクトマネージャーの役割は多岐にわたります。
例えば、

  • プロジェクトの計画、立ち上げ
  • 人材リソースの管理
  • プロジェクトの進捗管理
  • 勤怠管理
  • 顧客や取引先との窓口担当
  • 開発の品質管理
  • 下請け会社の管理

などです。

プロジェクトの責任者となって、プロジェクト全体を見渡して管理する重要な役割を担っています。

情報システムの開発工程の例

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

では、クライアントから顧客管理システムの開発を依頼されたという具体例をもとに、システムエンジニア(SE)の仕事内容をご説明しましょう。

①要求分析

まずは、クライアントからヒアリングを行い、要求分析をします。

社内に別に営業担当がいる場合は、営業担当が顧客からの要求を事前に聞いているかもしれません。
しかし、その要求はざっくりとしていてシステム的ではないため、システムエンジニア(SE)がより詳しくヒアリングを行います。

たとえば、下記のようなことなどです。

顧客管理システムにおいて、

  • どのような画面仕様にするのか
  • どんな項目による検索機能が必要か
  • 管理したい顧客データは具体的に何か、など

クライアントはシステム開発に関しては素人なので、データ項目や画面仕様などについてはっきりと指定することはできません。
そのため、システムエンジニア(SE)の方からクライアントに業務の流れや欲しい機能を具体化し、クライアントの要求を引き出す必要があります。

②要件定義

要求分析が終わったら、要件定義です。
要求をもとに、データの定義や画面仕様、入力項目や出力項目などを確定させます。

ここで重要なのは、クライアントが指定するままに画面仕様や入出力項目などを決めてはいけないということです。
クライアントはシステム開発に関しては素人なので、システム設計に関する領域はシステムエンジニア(SE)側で決めなければなりません。

たとえば、顧客データの中で、住所や電話番号は1顧客に一つずつ格納できればいいと言われても、顧客情報を変更する際に、変更前と変更後のデータを残しておいた方がいいケースもあります。

間違った要件定義をしないためにも、クライアントからシステムに関わる業務やサービスの流れをしっかりとヒアリングする必要があるのです。
もちろん、今後のシステムの拡張性なども考慮して、システム的にも最適な要件定義が必要です。

③基本設計

要件定義が終わったら基本設計に入り、要件を満たすシステムの基本設計を作っていきます。
ここからは、システムの内部的な話になります。

どのような業務フローでシステムを構成するのかデータベースの項目の定義はどうするのかなどを決めます。

たとえば、顧客データのデータベースの項目や形式、画面遷移の流れなどをもとに、どのような機能を持たせるのか、どのような業務フローにするのかなどを検討し、決定します。

④詳細設計

前工程で決まった基本設計をもとに、よりプログラム寄りの詳細な設計をします。

どのようにシステムを実装するのか、どのような言語で、どのような仕組みでシステムを実現するのかを決めます。
現場のシステム構築方法により異なりますが、詳細設計書では、ほぼプログラムと同じ構成でその流れや内容が設計されます。

その後、詳細設計書通りにプログラミングが行われます。

⑤テスト

プログラムができたら、実際に動かしてみてテストを行いますが、その前にテスト項目の作成が必要です。

クライアントに納品する際には、すべてのプログラムをテストして問題がなかったという報告をしなければなりません。

その際に、なんとなく動かしてみて問題はありませんでした、では報告になりません。

テスト項目を細かく作成し、「すべての動作を行ったうえでこのような結果が出た。だから問題がなかった。」というエビデンス(証拠)が必要です。

そのため、テスト前に詳細なテスト項目を作成し、チェック項目をクリアすることで、品質の担保が取れたことを証明できます。

テスト項目には、入力できる最小の桁数と最大の桁数、および、最大の桁数を超えた入力値をそれぞれ入力してみるなど、あらゆるバリエーションのテストがあります。

また、テストには、モジュール単位のモジュールテストや単体テスト、モジュール同士を結合させて動作させる結合テスト、システム全体を通して動かすシステムテスト、クライアントの環境下で実際に動かしてみる最終テストなど、多くの段階を経て行われます。

このように、テスト項目でやるべきことは多いため、テストを専門に行うテストエンジニアを置く企業もあります。

⑥運用・保守

クライアントにシステムが納品された後も、運用・保守を請け負う場合があります。

システム自体が自社のサーバー上にある場合、時には24時間体制で運用・保守を行います。

また、クライアント側の環境にシステムが納品された場合でも、何か問題が生じた場合はシステムエンジニア(SE)が駆け付けることもあります。
企業によっては、運用・保守を専門に行う、運用エンジニアやオペレーターを置くケースもあります。

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

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

システムエンジニア(SE)の年収はどれくらいなのでしょうか?
ここでは、転職サイト「doda」の職種別の平均年収ランキングを参考に、システムエンジニア(SE)の年収をご紹介します。

  • IT戦略・システム企画エンジニア:585万円
  • システムエンジニア(SE)・プログラマー:428万円
  • システム開発・運用エンジニア:472万円
  • 運用・監視・保守エンジニア:385万円

<参照:平均年収ランキング 最新版(166職種の平均年収/生涯賃金)転職ならdoda(デューダ)

上流工程に行くほど、年収が高くなる傾向にあることがわかります。

雇用体系によっても年収は異なる

雇用体系が違うと、年収は大きく異なります。

企業規模や雇用形態の違いによる年収は次のとおりです。

  • 正社員:400~700万円
  • 大手IT企業や外資系企業のプロジェクトマネージャクラス:1,000万円~
  • 派遣社員:時給1,200円~1,500円
  • フリーランスのエンジニア:500万円~1,000万円

もちろん、特殊な技術や他にはない専門性を持つ人は、その限りではありません。

育児休暇を経て職場復帰した女性などが、派遣社員になるケースもあります。

フリーランスのエンジニアの場合、スキルや実績によって年収が大きく異なります。
仕事がコンスタントにあれば、500万円から1,000万円以上稼ぐフリーランスのエンジニアもいます。

より多くの工程を担当できるシステムエンジニア(SE)は重宝され年収アップも見込める

要件定義工程しかできない、運用工程のみできるなど、できる工程が限られているシステムエンジニア(SE)は仕事の幅が狭く、年収アップはほとんど望めません。
しかし、上流工程以外にも、下流工程や多くの種類のプログラミング言語の知識と技術があるシステムエンジニア(SE)なら、多くの企業から必要とされるため、年収アップが見込めるでしょう。

システムエンジニア(SE)になるために必要なスキル

システムエンジニア(SE)になるために必要なスキル

システムエンジニア(SE)として必要なスキルとは何なのでしょうか?
前提として論理的思考力や文章作成能力、PCスキルなどは、社会人としての基本的なスキルですから、システムエンジニア(SE)にも必要と言えます。
そのためここでは、SEとしてとくに重要なスキルをご説明します。

技術力

ITシステムの開発に必要な技術力は、システムエンジニア(SE)として必須のスキルです。

プログラミングスキル以外にも、コンピュータアーキテクチャアルゴリズム情報セキュリティなどの情報処理に関する知識がなければ、システムエンジニア(SE)として仕事をしていくことは難しいでしょう。

また、基本的なIT知識だけでなく、次々と現れる新しいシステム開発手法やプログラミング言語、プログラミングのフレームワークなどを、常にアップデートしていかなければなりません。

コミュニケーション力・マネジメント力

簡単なツール開発やフリーでプログラムの一部を請け負うシステムエンジニア(SE)は、1人で仕事を行うこともあります。
しかし、中規模から大規模システムの開発プロジェクトは、ほとんどがチームを組んで行われます。

そのため、プロジェクトメンバーと仕事の分担や調整、確認などのコミュニケーションが必要です。
また、クライアントのヒアリングや調整、取引先会社や委託会社との調整が必要なケースもあります。

このように、システムエンジニア(SE)は多くの人たちとコミュニケーションを取りながら仕事をする場面が多いため、高いコミュニケーション力やマネジメント力が必要です。

英語力

ブリッジシステムエンジニア(ブリッジSE)の場合、ビジネスレベルの英語力は必須です。
また、やり取りする相手の国によっては、中国語などの他国の言語を習得する必要もあります。

ブリッジシステムエンジニア(ブリッジSE)でなくても、システムエンジニア(SE)は英語のマニュアルやエラーメッセージを読む場面が多々あります。

たとえば、海外製のサーバーのマニュアルは基本的に日本語化されていませんし、海外の最新のシステム開発手法やプログラミング手法などをインターネットで読む必要があるかもしれません。

さらに、たいていのサーバーやプログラミング言語でのエラーメッセージなどは、英語です。
そのため、ある程度の英語力が必要です。

システムエンジニア(SE)として成功するためのポイント

成功のポイント

システムエンジニア(SE)として成功するために重要なポイントは次の二つです。

  1. 常に新しい情報にアンテナを張り、新しいことに挑戦しつづける
  2. 自分が分担する工程以外も勉強する

システムエンジニア(SE)の仕事は常に進化し、新しい情報や技術がどんどん生まれます。
そのため、いつも同じ仕事のやり方や技術にだけ固執していると、あっという間に時代に取り残されてしまいます。

システムエンジニア(SE)として大成したいなら、常に新しい情報を得るためにアンテナを張り、新しいことに挑戦し続けることがもっとも重要です。

そして、自分が担当する工程以外の仕事の内容や技術にも接点を持っておくことで、お互いの工程の事情を知ることができ、よりよい仕事ができるようになります。

よいシステムエンジニア(SE)は、すべての工程を理解しようと常に心がけているものですよ。

システムエンジニア(SE)就職のためにやっておきたいこと

システムエンジニア(SE)就職のためにやっておきたいこと

システムエンジニア(SE)として就職する前に、やっておきたいことは以下の通りです。

最新のIT技術トレンドをリサーチして身につける

基本的なIT知識も重要ですが、大まかにでもいいので最新のIT技術を知っておくといいでしょう。
まったく知らないのと、概要だけでも知っているのでは大違いです。

未経験者は専門学校に通うという手段も

IT未経験者は、専門学校やITスクールに通うことで、効率良くIT知識や技術を身につけることが可能です。

知識レベルの指標として資格の習得もオススメ

IT系の資格はたくさんあり、資格を取得することで、基本的な知識や技術が身につきます。
そのため、IT未経験者は、資格を取得するのもおすすめです。

受けておいて損はない資格には、以下のようなものがあります。

・情報処理技術者試験

「情報処理技術者試験」は、ITシステムに関する基本的な知識やプログラミング知識を問われる、国家資格です。
システムアーキテクトやアルゴリズム、セキュリティ、プログラミングに関する知識などが幅広く必要です。

この資格を取得したら、もう一段階上の資格の応用情報技術者試験や、専門的な資格のシステムアーキテクト試験、ネットワークスペシャリスト試験、データベーススペシャリスト試験などを受けるのもいいでしょう。

・オラクルマスター

「オラクルマスター」は、Oracle社が提供する、オラクルデータベースに関する技術を証明する資格です。
この資格は、世界的にも通用するのが魅力です。

未経験新卒や文系出身でもシステムエンジニア(SE)にはなれる?

未経験や文系出身者でもシステムエンジニア(SE)になれる?

「IT系が未経験の新卒者や、文系出身者でもシステムエンジニア(SE)になれるのでしょうか?」という質問は、よくされます。
基本的には、未経験者や文系出身者でもシステムエンジニア(SE)になれます。

ただし、就職してから苦労するということは覚悟しておいてください。

そもそも、学生時代にプログラミングや情報系の知識を学んできた情報系出身者と比べると、未経験者や文系出身者は持っているIT知識や技術が大きく異なります。
そのため、未経験者や文系出身者が、システムエンジニアとして働くには勉強することがたくさんあると言えるでしょう。

しかし、勉強を重ね、経験を多く積むことで文系出身者でもシステムエンジニアとして活躍することはきっとできます。

また、文系出身者の中には、情報系出身者が苦手なこともある「文章力」や「企画力」、「コミュニケーション能力」などを持っている人もいます。
どれもシステムエンジニア(SE)としては必要なスキルですから、そのスキルを伸ばしていき、活躍することも可能です。

まとめ

システムエンジニア(SE)とは、主に上流工程をこなし、システム開発プロジェクトの全体を見る管理者としても動かなければならない、重要な役割を持ちます。

必要とされるスキルや勉強すべきことも多く、最新のIT系の知識や技術を常にアップデートしていかなければなりません。
未経験者がシステムエンジニア(SE)を目指す場合は、働き始めてからはかなりの量の勉強をする必要があることを覚悟しましょう。

しかし、苦労してスキルを高めていけば高い年収を得ることも可能です。
そしてなんと言っても、納品物がクライアントやユーザーに喜ばれたときの達成感は何にも代えられません。

今の時代に欠かせないIT職。
興味のある方は、この記事を参考にシステムエンジニア(SE)を目指してみるのもありではないでしょうか。

The following two tabs change content below.
オルコネ 人事

オルコネ 人事

オールコネクトの人事部が、世の中の人事制度や人事に関する話題をピックアップしご紹介いたします。