システムエンジニア(SE)とは?仕事内容・プログラマーとの違いや平均年収などをご紹介

システムエンジニア(SE)と見聞きしても、仕事内容や働き方、キャリアパスなどまでを知っている方はあまり多くないと思います。そこでこの記事では、それらの内容やプログラマーとの違い、平均年収などもご紹介しています。ぜひともご確認ください。
-
Contents
システムエンジニアとは
システムエンジニア(SE)とは、クライアントや自社担当者などにヒアリングをし、要望に沿った最適なシステムの設計・開発をおこなうエンジニアです。ITインフラやシステムの機能、構成、開発手法や開発工程、予算などを加味したうえでシステムの仕様書や設計書を作成する上流工程を担います。
また、開発の段階ではプロジェクトや開発チームのマネジメントをし、進捗状況を適切に管理する必要があります。加えて、システムが完成したあとの保守・運用をおこなうケースも出てくるため、エンジニアのなかでも幅広い知識が必要になる職種です。しかしながら、必ずこれらのような業務をおこなうわけではなく、企業やプロジェクトによって求められる内容は変わってきます。
-
システムエンジニアの働き方は4つ
システムエンジニアだけでなく、IT業界では『自社開発』、『受託開発』、『客先常駐(SES)』という3つの働き方や業態があります。加えて、システムエンジニアは『社内SE』という働き方もあるため、働き方が4つあることになります。
- 自社開発
自社で企画したサービスやアプリ、情報システムなどのソフトウェアを、外部に委託することなく、自社だけで開発をすることです。自社独自で開発した成果物を、社外に販売・提供することで収益を得る形態です。
- 受託開発
企業や組織が社外の企業に情報システムなどのソフトウェア開発を依頼し、受託した企業が要望に沿ったシステムやソフトウェアを開発することです。IT業界の働き方では大半を占める形態になっています。
- 客先常駐(SES)
自社以外の企業(客先)に常駐して働く形態のことです。客先常駐は主に下流工程の仕事が多くなっています。しかしながら、システムエンジニアが常駐先企業のプロジェクトリーダーなどとして勤務をすることもあります。
- 社内SE
自社内の業務に関連するシステムの開発、改善、管理などをおこなうシステムエンジニアです。自社開発と違い、社外に向けたシステムやサービスを開発することはありません。しかし、社内SEに明確な定義はなく、企業によっては自社開発の内容に社内SEの仕事が含まれることがあります。
また、IT業界の企業では、自社開発や受託開発など、ひとつの業態に特化した企業と複数の業態を合わせた企業があります。
-
プログラマー(PG)との違い
プログラマーとは、システムエンジニアが作成した設計書の内容に基づきプログラミングをし、システムの実装をする職種です。そのため、システムエンジニアはプログラマーの上位職にあたります。また、システムエンジニアがシステムの実装をおこなうケースもありますが、一般的にはプログラマーが担当をするようになっています。
プログラマーの仕事内容やスキルについて以下の記事で解説をしておりますので、ぜひ参考にしてください。
-
システムエンジニアの仕事内容
システムエンジニアの具体的な仕事内容を説明します。
-
システム開発の主な流れ
一般的なシステム開発では、ウォーターフォール型という開発手法が採られており、以下のような工程に分けて業務をおこなっています。
①要件定義
②基本設計
③詳細設計
④開発(プログラミングや実装などともいわれる)
⑤テスト
⑥リリース
⑦運用・保守
ウォーターフォール型開発では、工程を分けることでやることが明確になり、プロジェクトのスケジュールを組みやすい、必要になる人員や費用、時間などがわかりやすい、といったメリットがあります。
-
上流工程の仕事内容
上流工程とは、システム開発の企画や設計など、プロジェクトの前半におこなう作業のことです。ウォーターフォール型の『ウォーターフォール』とは英単語で『滝』という意味で、『上から下に水が流れる』ような工程の『上流』にあたるため、上流工程といわれます。システム全体の土台となる部分のため、とても重要な仕事になっています。
-
企画
一般的にウォーターフォール型開発では、要件定義から工程が始まるため企画の工程は含まれていません。しかしながら、IPA(独立行政法人情報処理推進機構)が公開している資料(※1)では、『要件定義マネジメント』のひとつとして『要件定義を始める前に構想・企画内容は必ず確認する』とあり、要件定義を定めるためには企画が必要であると説明しています。そのような理由もあって、広義の意味でとらえた場合、企画は上流工程に含まれます。
システムエンジニアが自社開発企業で企画を求められるケースもありますが、基本的にシステムエンジニアは要件定義の段階から参画します。また、受託開発ではクライアントが『こういったものを作ってほしい』という要望を持っている場合が多いため、企画の根源部分はクライアントが作っているといえます。
※1|参考:ユーザが自ら実践! 最新事例で学ぶ要件定義の勘どころ 第三部 要件定義マネジメント(RM)における問題と解決の勘どころ
-
要件定義
どのようなシステムを作りたいのかクライアントにヒアリングをおこない、予算や開発期間、開発手法、運用方法などを決定します。また、クライアントが技術面に明るくない場合もあるため、わかりやすく伝える説明力やコミュニケーション能力も必要になります。
クライアントの意向を読み取れず、要件定義が不十分になってしまうとプロジェクト全体が崩れる可能性があるため、もっとも重要な工程であるといえます。また、要件定義でまとめた『要件定義書』と、開発するシステムの完成図をイメージした『仕様書』は要件定義の工程で作られます。
-
設計
設計の工程は『基本設計』と『詳細設計』に分かれます。
基本設計で定める内容は企業によって異なりますが、要件定義書や仕様書をもとにして、データベースやソフトウェアの選定、画面のレイアウトや構成など、開発するシステムの土台を設計します。また、この工程でまとめたものを『基本設計書』といいます。加えて、基本設計ではクライアントと内容を確認しながら進めていくケースが多くなっています。
詳細設計では、基本設計書をもとにして、システムを実装するために必要になる、データベースやコードの設計など、具体的な内容を決めていきます。この工程でまとめたものを『詳細設計書』といいます。
-
マネジメント
『企画』と同じくウォーターフォール型開発には含まれていませんが、広義の意味でとらえた場合、上流工程に含まれます。システムエンジニアは開発がスタートしたプロジェクトの人員や進捗管理など、マネジメント業務もおこなう必要があります
-
下流工程の仕事内容
下流工程とは、上流工程で決まった内容に沿って開発をおこない、実際のシステムなどを完成させる工程のことです。また、企業によっては完成後の運用・保守も下流工程として扱う場合があります。
-
開発
詳細設計書に基づきプログラミングをおこない、実際のシステムを構築していく工程です。基本的にはプログラマーが担当しますが、企業によってはシステムエンジニアも開発に加わります。また、テックリード(リードエンジニア)と呼ばれるエンジニアチームのリーダーがいる場合、システムエンジニアは連携を取りながら、滞りなく開発が進むようにマネジメントをおこないます。
-
テスト
プログラミングが終わったシステムをテストします。テストには『単体テスト』、『結合テスト』、『総合テスト』があります。
テストの種類 |
テストの内容 |
単体テスト |
プログラム単体で問題なく動作するか |
結合テスト |
複数のプログラムを連携させても問題なく動作するか |
総合テスト |
すべてのプログラムを結合させても問題なく動作するか |
また、企業やプロジェクトによっては、起こりうるトラブルなどを詳細に想定しておこなう『運用テスト』という工程を組む場合があります。加えて、単体テストはプログラマーや『テスター』と呼ばれるエンジニアがチェックをすることが一般的で、システムエンジニアは結合テスト、あるいは総合テストからチェックをおこないます。
-
運用・保守
テストが終わったシステムなどをリリース、納品し、実際に運用・保守業務をしていきます。システムに問題が発生した際は素早く対応し、復旧作業に努めます。また、システムの機能追加や改修などもおこないます。企業によっては、運用・保守を専任するエンジニアを設ける場合もあります。
-
システムエンジニアの平均年収
厚生労働省が管轄し、職業情報を『見える化』することで求職者の就職活動や企業の採用活動を支援しているjob tag(職業情報提供サイト|日本版O-NET)では、システムエンジニアを4つのタイプに分類し、それぞれの令和3年度の平均年収を公開しています。
システムエンジニアの業務タイプ |
平均年収 |
業務用システム(ソフトウェア)開発 |
523万円 |
Webサイトの設計・開発 |
523万円 |
組込み・IoTの開発 |
523万円 |
ITインフラや基盤システムの開発 |
733.6万円 |
※参考:システムエンジニア(基盤システム) – 職業詳細(システムエンジニアで検索をすると他のエンジニアタイプの情報も出てきます)
開発する内容によって年収が異なっておりますが、システムエンジニアの全体平均は約575.7万円となっております。
-
システムエンジニアに必要なスキル
システムエンジニアに必要なスキルを5つお伝えします。
-
コミュニケーション能力
システムエンジニアは、要件定義などで社外のクライアントと重要な話をする機会が多くなっています。そのため、一般的なエンジニア以上に、自分の考えを相手に伝え、信頼関係を築きながら、お互いの要望を叶えるためのコミュニケーション能力が必要になります。また、開発を滞りなく終了するためにも、自社内のエンジニアとも適切なコミュニケーションを取らなくてはなりません。
-
ヒアリング能力
適切なコミュニケーションを取るためには、クライアントの要望などをしっかりと汲み取り把握する、ヒアリング能力も欠かせません。また、クライアントが自社の要望を言語化できない場合などは、潜在的な要望を聞き出す力も必要です。
-
技術的な知識
システムエンジニアは業務範囲が広くなっているため、技術的な知識を豊富に持っていないと対応することができません。ハードウェアとソフトウェア、プログラミング言語やフレームワーク、データの運用やセキュリティに関する知識など、必要な知識は多岐に渡ります。また、IT業界の技術は日進月歩のため、新しい情報に対するキャッチアップも欠かせません。
-
論理的な思考力
論理的思考(ロジカルシンキング)とは、物事を体系的に整理し、矛盾なく筋道を立てて考えることです。システムエンジニアはクライアントの要望を叶えるために、適切な技術やシステム、予算や時間、人員など、複合的な内容を加味しなければなりません。これらの情報をまとめ、お互いの利益を最大にする選択を採るためには、物事を体系化して、筋道を立てて考える論理的思考力が必要になります。
-
マネジメントスキル
システムエンジニアはプロジェクトを滞りなく完成させなければなりません。そのため、それぞれの工程で発生した問題に対処したり、改善の余地がある業務などを効率化させるために、この項でお伝えした他のスキルや、問題解決力、リーダーシップなども問われるマネジメントスキルが必要です。また、マネジメントをするためには局所的な視点だけでなく、プロジェクト全体を見渡した俯瞰的な視点も欠かせません。
-
システムエンジニアになるには
ネットワークエンジニアやインフラエンジニア、プログラマーなどとして働いている方は、まずは現在のスキルや経験でシステムエンジニアとして転職できる企業などを探してみましょう。
弊社R-Stoneの求人情報では、下記のようにJava、PHP、C言語などの開発経験があれば応募ができる求人もありますので、転職情報をよく調べ、積極的に応募することをおすすめします。
また、IT業界は慢性的な人手不足が続いているため、20代や30代前半の方だと未経験でも転職できる企業があります。
上述してきたように、システムエンジニアは複合的なスキルが必要になるため、未経験者の方はポテンシャル採用のような形になると思いますが、プログラマーなどの下流工程を経てシステムエンジニアになる方は多くいらっしゃいます。
そのような理由から、まずはIT企業に転職がしやすくなるように、独学やプログラミングスクールなどでプログラミングについて学習する。あるいは、未経験者や現在エンジニアの方を問わず、オラクルマスターやCCNAなど、システムエンジニアに関係する資格を取るなどして、面接時にアピールできるようにしましょう。
加えて、要件定義から運用・保守までを一人称でおこなうシステムエンジニアになるには、少なくとも5年〜10年はかかるといわれていますので、少しづつステップアップをしていくようにしましょう。
システムエンジニアの転職や資格について説明している記事がありますので、よければこちらもご確認ください。
※関連記事:システムエンジニアの転職のポイントは?年齢別に仕事内容・年収をご紹介
-
システムエンジニアは文系でもなれる?
2019年度に調査をし、2020年に公開された 『IT人材白書2020』では最終学歴が文系の方のIT企業への全体就職率は32.4%となっています。(先端IT従事者は図表3−4−3にあるデータサイエンスなどの業務内容で、文系が30.2%、先端IT非従事者はそれ以外の業務内容で、文系は34.6%になっています。)
文系の全体就職率32.4%をどのように思うかは個々人によりますが、全体の割合として決して低いわけではなく、上述したようにIT業界は人手不足が続いているため、文系でもIT業界に就職しやすい状況であると考えられます。
-
システムエンジニアのキャリアパス
システムエンジニアのキャリアパスを5つお伝えします。
-
プロジェクトマネージャー
主に大規模開発などでは、システムエンジニアの上位職としてプロジェクトマネージャーがプロジェクトを管理します。システムマネージャーはシステムエンジニアと同じような役割の職種ですが、企画立案に携わることが多くあり、その点においては明確な違いがあるといえます。また、小・中規模の開発ではシステムエンジニアがプロジェクトマネージャーのような役割を担うため、そのような状況下においては両者の線引きが曖昧なものとなります。
-
ITスペシャリスト
ITスペシャリストとは、システム管理、ネットワーク、データベース、アプリケーション共通基盤、プラットフォーム、セキュリティの6分野で一定以上のスキルを持った専門性の高いエンジニアのことをいいます。
具体的には、経済産業省が個人のITスキルの能力をレベル1〜7までに区分けした、ITSS(IT skill standard|ITスキル標準)という指標で、レベル3以上のスキルを持つ者をITスペシャリストと定義付けています。
※参考:(6)ITスペシャリスト
しかしながら、上記画像にあるように、レベル3以上のスキルを有したITスペシャリストになるための明確なスキルセットなどはありません。そのため、ITスペシャリストを目指す方は、IPA(独立行政法人情報処理推進機構)が主催する『プロジェクトマネージャ試験』や『ネットワークスペシャリスト試験』などの高難易度資格の獲得を目指して勉強をしましょう。
-
ITコンサルタント
ITコンサルタントとは、主にIT技術を使用してクライアント企業の課題整理や明確化、課題解決策の提案をし、総合的なマネジメントをおこなう職種です。企業によって業務内容は異なりますが、システムエンジニアがクライアントの要望に沿ったシステムを開発することに対し、ITコンサルタントは、企業が気付いていない問題を解決するためのシステムの提案などをおこないます。
ITコンサルタントのスキルや平均年収についてまとめた記事がありますので、ぜひともご確認ください。
※関連記事:ITコンサルタントとは?スキル・平均年収は?
-
データサイエンティスト
データサイエンティストとは、統計学や機械学習などを利用してデータを解析し、解析結果から有益な情報を見つけ出す専門家です。データサイエンティストが分析した結果から、クライアント企業の課題解決に結びつけるほかにも、データ分析システムの開発、データ分析や機械学習、AI開発などの基礎研究をおこなう場合があります。また、下記の参考資料ではデータサイエンティストに必要になるスキルが解説されていますので、気になった方はこちらもご確認ください。
※参考:2021年度スキル定義委員会活動報告 2021年度版スキルチェック&タスクリスト公開
-
セールスエンジニア
セールスエンジニアとは、自社企業の営業職では説明することができない、技術的な話をクライアントにおこなう職種です。そのため、セールスエンジニアという名前がついていますがエンジニアではなく、営業職の補助が仕事内容になります。また、企業によっては『販売技術員』、『プリセールス』、『技術営業』、『フィールドアプリケーションエンジニア(FAE)』などと呼ばれます。
-
システムエンジニアの将来性
2016年に経済産業省が公開した『IT人材の最新動向と将来推計に関する調査結果』では、2030年には最大約79万人のIT人材が不足すると発表されました。
そのような状況のなか、2020年にIPAより公開された『IT人材白書2020』では、企業における企画・設計などの工程を社内で対応する『内製化』を進めている割合が47.8%となり、自社のシステム開発で上流工程を担当する、システムエンジニアの需要が増えていることが予想されます。
また、同じくIPAから2021年12月に発表された『DX白書2021』の『第3部 デジタル時代の人材』では、日本企業の変革(DX)を担う人材の『量』について76%が不足していると回答、変革を担う人材の『質』についても77.9%が不足していると回答されました。
日本政府は、2016年に発表された将来的なIT人材不足からか、2020年には小学校、2021年には中学校、2022年には高等学校でのプログラミング必修化などの対策をおこなっています。しかしながら、上述した数々のデータからIT人材の不足傾向は止まらず、すぐに状況が改善するとは考えにくいといえるでしょう。
そのため、システムエンジニアのように複数のスキルを持ち合わせた人材は重宝されることが予想され、将来性のある職種であるといえます。
-
まとめ
システムエンジニアは覚えなければいけない知識が広範囲に渡るため、就職や転職をすることは難しい、と思う方もいらっしゃるかもしれません。しかしながら、転職市場でも一定のスキルを持っていればシステムエンジニアとして応募できる求人があり、システムエンジニアまでのキャリアアップも、システムエンジニアからのキャリアアップの選択肢もたくさん存在しています。
クライアント企業との要件定義や全体のマネジメントなど、責任の重い業務が含まれますが、その分やりがいも感じられる職種であると判断できますので、気になった方はシステムエンジニアを目指して頑張っていきましょう。
システムエンジニアとして有利な転職をしたい方は、IT業界・Web業界に強い転職エージェントに相談するのがおすすめです。R-StoneはIT業界・Web業界に特化した転職エージェントです。業界を熟知したコンサルタントが、あなたの転職を成功へと導きます。ぜひ、お気軽にご相談ください。