SE(システムエンジニア)は、システム開発のプロジェクトで要件定義や設計、開発、運用・保守などを行う職種です。
システムの発注者である顧客へのヒアリングや仕様説明なども担当するため、開発に関するスキルのみならずヒューマンスキルやプロジェクトマネジメントスキルも求められます。
SEになるには、まずはプログラマーとして数年以上の経験を積んだ後、キャリアップしてSEになる流れが一般的です。この記事では、SEの仕事内容や必要なスキル、年収について解説します。
1. SEの具体的な仕事内容
SEと聞くとシステム開発における要件定義や設計を担う役割をイメージする方が多いと思います。しかし、実際にはそれらのような上流工程以外にも、運用やテストといった下流工程まで幅広く存在し、システム開発に関わる全般を担うといっても過言ではありません。
そこで、まずはSEの具体的な仕事内容を工程別に詳しく紹介しましょう。
要求分析・要件定義
顧客のシステムに対する要望をヒアリングして、要件定義書にまとめる工程です。要件には以下の4種類があり、SEは以下のすべてに関する要件定義を行います。
・業務要件
システム化の対象となる業務を定義します。例えば、出張交通費の管理をシステム化したいという要望があった場合、交通費を申請・承認する業務、仮払い業務、清算業務など、どこまでの業務を対象にシステムを構築するのかを決定します。
・機能要件
業務要件で抽出した業務から、システムに必要な機能を定義します。例えば交通費を申請・承認する業務では、申請書を提出する機能、提出された申請書を承認する機能、といったように一つひとつ漏れなく定義していきます。
・データ要件
システムが扱うデータの種類を定義します。上記の例で言えば、交通費を申請する社員の氏名、交通費、交通機関などが該当します。
・非機能要件
システムの性能や可用性などについて定義します。具体的には、システムがリクエストを受けてレスポンスを返すまでの時間や、障害回復までにかかる時間などを定義します。
システム設計
システム設計とはその名のとおりシステムの設計を行う工程で、大きく基本設計、詳細設計の2つに分かれています。
基本設計では要件定義書をもとに、冗長化や負荷分散などを考慮しながらハードウェアの構成(使用する機器の種類や台数など)を設計したり、開発するソフトウェアの画面構成や機能の詳細、データベースなどを設計したりします。
詳細設計とは、システムの内部構造(ソースコードの構造)を設計する工程を言い、クラスやメソッドと呼ばれるソースコードの部品の数やそれぞれの関係、処理の流れなどを設計します。企業によってはプログラマーが担当することもあります。
開発
開発は、コーディングを行う工程を指し、一般的には基本設計書と詳細設計書をもとにプログラマーが担当します。多くの場合SEは、プログラマーへの作業指示や質問の回答、進捗管理、作成されたコードのレビューなどを担当します。
テスト
テストとは、ソフトウェアが設計書通りに動作するか検証し、品質を評価する工程を指します。主に単体テスト、結合テスト、総合テストなどに分類することができ、一般的には単体テストはプログラマーが担当し、結合テストおよび総合テストはSEが担当します。
結合テストおよび総合テストでは、SEはテスト計画の立案やテスト内容の検討、検証方法の検討、テストの実施(若手プログラマーが担当する場合もある)、バグ管理などを行います。
運用・保守
運用・保守とは、開発したシステムが継続的かつ安定的に動作しつづけるように、メンテナンスや障害対応を行う工程です。システム監視方法や障害対応方法を設計し、その内容について顧客と合意した上で運用・保守業務を行います。
2. 客先常駐型と自社開発(社内SE)の違いは?
転職サイトや求人サイトで公開されているSEの求人を見てみると、「客先常駐」と「社内開発(社内SE)」とよばれる求人が存在します。同じSEという職種であっても、実は両者の働き方は大きく異なります。
まず、客先常駐型とは受託開発ともよばれ、その名の通り顧客やクライアントからの依頼を受けてシステム開発を担うものです。勤務先も客先のビルやオフィスで、自身と同じ会社のエンジニアもいれば、他社から派遣されてきているエンジニアまでさまざまな人がいます。
客先常駐型の開発プロジェクトは厳密な納期があり、それまでにシステム開発を仕上げなければなりません。プレッシャーの大きな仕事ではありますが、経験やスキルに応じてさまざまなプロジェクトに携わることができるため、SEとして成長したい方にとっては最適な環境といえるのではないでしょうか。
一方、自社開発の場合は社内SEともよばれ、顧客やクライアントから開発案件を受託するのではなく、主に社内システムなどの開発や運用、保守業務を担います。そのため、プロジェクトが変わるごとに勤務先が変更となることもなく、落ち着いた環境で仕事ができるメリットがあります。
しかし、当然のことながら常に社内においてシステム開発があるわけではありません。情報システム部門や総務部門において、従業員から社内システムの使い方やトラブルの相談など、ヘルプデスクのような窓口を担うケースも多く、私たちが一般的に想像するSEの仕事とは少し異なる仕事内容といえるかもしれません。
また、社内SEとして採用されたからといって、その先も同じ業務・職種で勤務できる保証はなく、人事異動によって他の部署に変更される可能性もあります。社内SEの求人は極めて人気が高いですが、企業によっても仕事内容は異なるため、応募する前には自身が希望する仕事にマッチしているのか、事前に確認しておく必要があります。
3. SEの年収
今後SEを目指している方にとって、もっとも気になるのが年収相場ではないでしょうか。IT業界は今後も成長が見込め、資格がなくてもスキルと経験次第で高年収が狙える魅力的な業界です。現在SEとして活躍している方は、実際どの程度の年収を得ているのか、公的な統計データをもとに詳しく解説しましょう。
公式データから見るSEの年収
経済産業省のデータ(※1)によると、SEが含まれる職種の平均年収は以下となっており、高い給与水準であることが分かります。
-
・SE・プログラマ(顧客向けシステムの開発・実装):593.7万円
・SE・プログラマ(ソフトウェア製品の開発・実装):568.5万円
・SE・プログラマ(組込みソフトウェアの開発・実装)603.9万円
特に、リーダー経験やプロジェクトマネジメント経験があるとより高い年収を得やすい傾向があります。
※1 経済産業省「IT関連産業の給与等に関する実態調査結果」(2021年2月25日アクセス)
SEの求人例
こちらでは、レバテックキャリアで公開されているSEの求人例を紹介します。客先常駐型のSEと社内SEの2パターンの求人例をピックアップしてみました。自身の希望する働き方やキャリアプランに応じて、求人案件を探す際の参考にしてみてください。
客先常駐型SEの求人例
【想定年収】
500~600万円
【業務内容】
-
・基幹システム開発における上流工程全般
・要件定義/開発チームへのフィードバックなど
【必要なスキル・経験】
-
・Webアプリケーションの開発、保守経験
・PHP、Java、JavaScript、SQLの知識
・向上心が高くコミュニケーション能力がある方
社内SEの求人例
【想定年収】400~800万円
【業務内容】
-
・社内向け業務システムの開発
・自社パッケージ連携サービスの開発
【必要なスキル・経験】
-
・Webアプリケーション開発経験
・クラウドの最新サービスに関する知識
・インフラ環境の基礎知識
・新しい技術に興味・関心がある方
4. SEに必要な知識とスキル
ここでは、SEに求められるスキルをIPA(情報処理推進機構)が提供しているITスキル標準(※2)をベースに解説します。ITスキル標準とは、エンジニア職ごとに求められるスキルとそのレベルを定義したものです。
ヒューマンスキル
ヒューマンスキルとは、リーダーシップ、コミュニケーション力、ネゴシエーション力(交渉力)の3つに分類されます。SEは顧客と接する機会が多いことからネゴシエーション力が必要ですし、プログラマーに指示を出す立場であるためリーダーシップも求められます。また、システム開発はチームで行うため、コミュニケーションスキルも重要です。
プロジェクトマネジメントスキル
プロジェクトマネジメントとは、予算管理、品質管理、人員管理、進捗管理、リスク管理、課題管理などに分類できます。SEはプログラマーを率いてチームで開発を行うため、SEが担当する工程において進捗管理や人員管理などの業務を担います。具体的には、プロジェクトが計画通り進行しているか確認し、遅れが発生している場合にはプロジェクトマネージャーに相談して人員を増やすといった調整を行います。
ソフトウェア開発手法の知識
システム開発にはウォーターフォール型やアジャイル型などさまざまな開発手法があり、構築するシステムの特性によってどのような開発手法を取り入れるか決める必要があります。そのため、SEには各システムに対して最適な開発手法を選択するための知識が求められます。
テクノロジー全般の知識とスキル
システムを開発するには、テクノロジーに関する幅広い知識とスキルが必要です。テクノロジー全般とは、大きく以下に分類されます。
-
・コンピューターシステム(ハードウェア、基本ソフトウェア、システム構成など)
・データベース(基本構造、言語、バックアップなど)
・ネットワーク(通信プロトコル、伝送制御、通信機器など)
・インターネット技術(Web、メール、暗号化など)
・プログラミング言語(C、C++、Javaなど)
これらのテクノロジースキルは、システム開発を行う上での基盤となります。ただし、一口にSEといっても、アプリケーション開発を担うSEもいれば、ネットワークやクラウドといったインフラシステムを担うSEまで幅広く存在します。アプリケーション開発をメインに担当する場合はプログラミング言語の高度なスキルが必要なほか、インフラシステムに関連する場合にはネットワークの高度な知識が求められるでしょう。
上記の技術的なスキルはSEにとっての武器であり、十分なスキルが備わっていないと業務を遂行することができません。これから技術スキルを身につけるのであれば、自身がどのようなSEになりたいのか、ゴールから逆算して必要な勉強や資格取得に向けて取り組んでいきましょう。
※2 独立行政法人 情報処理推進機構(IPA)「ITスキル標準V3」(2021年2月21日アクセス)
5. SEになるためには?
SEはシステム開発プロジェクトの中でも上流工程を担う職種のため、未経験者がSEとして採用されるのは極めて稀です。そのため、転職活動や就職活動においてSEとしての採用を諦めてしまう方も少なくありません。
しかし、現在第一線で活躍しているベテランのSEも、かつては未経験者からスタートしています。IT業界が未経験または経験が浅い方がSEになりたいと考えた場合、どのようなルートや方法があるのでしょうか。今回は4つの方法をピックアップして紹介します。
プログラマーからキャリアアップする
SEとしてのキャリアを目指すうえでもっとも現実的なのが、プログラマーからキャリアアップする方法です。SEとプログラマーは、よく建設業界における役割と職種に例えられます。ビルや家屋を建てる場合、現場の作業員は設計図をもとに部材を調達し作業を行います。システム開発の現場においては、建物の設計図を作るのがSEであり、設計図通りにプログラムをコーディングするのがプログラマーにあたります。
当然のことながら、システムの設計を担うSEはプログラミングの知識をもっていなければなりません。十分な知識がないままシステムを設計してしまうと、プログラマーが設計図通りにコーディングしているにもかかわらず、意図した通りにシステムが作動しなかったり、エラーが起こったりすることもあります。そのため、IT業界ではプログラマーの次のステップとしてSEが挙げられることが多いのです。
未経験者の場合、いきなりSEを目指すのではなく、まずはプログラマーとして採用してくれる企業を探し、スキルを身につけ着実にキャリアアップを目指すのが現実的といえるでしょう。
未経験から就職する
社内SEを目指す場合には、未経験者を採用している企業も存在します。社内SEの業務内容は極めて幅広く、運用や保守、社内のヘルプデスクのような役割を担うこともあります。これらの業務は必ずしもプログラマーやSEとしての経験がなくても対応できるため、未経験から挑戦することも十分可能といえるでしょう。
ただし、自社のシステム開発を担う場合には、客先常駐型のSEと同様にプログラミングの知識が求められます。運用や保守業務がメインの社内SEは、システム開発に携わる機会も必然的に少ないため、長期的に考えた場合、SEとして十分なスキルを身につけ成長していくためには時間を要する可能性もあります。
スクールなどで基礎知識を身につける
プログラマーや社内SEからキャリアをスタートする場合、未経験者でも採用してくれる企業は存在しますが、最低限の知識は身につけておく必要があります。実務経験はなくても、プログラミングやシステム開発に携わるうえでIT分野の知識を身につけておくことで、面接時にポジティブな印象を与えられるほか、実際に採用された後も業務内容の理解は早いはずです。
短期間で効率的に知識を身につけるためには、専門のスクールに通うこともおすすめです。プログラミングやネットワーク、データベースなど、さまざまな分野に特化したコースが用意されているため、自身がSEを目指すうえで最適なジャンルを選定しましょう。
ちなみに、教室まで通学し対面で授業を受けるタイプのスクール以外にも、オンラインで気軽に受講できるコースも存在します。リアルタイムで受講し、分からないところがあればその場で講師に質問できるため、遠方にスクールがあり通学が難しい方にとっても安心です。
知識・スキル証明のために資格を取得する
スクールに通うための高額な費用が捻出できない方には、IT系の資格取得に向けて勉強してみるのもおすすめです。特に未経験からSEを目指す方は、資格を持っていることで基本的な知識が身についていることを証明でき、就職や転職活動を有利に進めることができます。
IT系の資格にはさまざまなものが存在しますが、その中でも特におすすめの国家資格を2つ紹介しましょう。
・基本情報技術者試験
基本情報技術者試験はIPAが運営している資格試験で、SEの登竜門としても位置づけられています。2019年度の応募者数はおよそ17万人、合格率は25.7%と比較的難易度は高めの試験です。
試験は午前、午後に分かれており、それぞれ150分の試験時間となっています。午前は主に基礎知識を問う問題が80問、午後は応用力を問う11問の多肢選択式の問題が出題されます。プログラミング(C言語)に関する問題も出題されますたが、主に基礎的な問題がメインのため、過去問題や参考書を読み理解しておけば問題ありません。
基本情報技術者試験の開催日程は毎年上期と下期の2回で、受験のチャンスが限られているため計画的に試験対策を行っておきましょう。
・応用情報技術者試験
応用情報技術者試験は基本情報技術者試験の上位に位置する試験です。こちらもIPAが運営しており、2019年度の応募者数はおよそ10万人、合格率は22.3%となっています。
基本情報技術者試験はIT分野やシステム開発分野の基礎知識を問う試験として位置づけられますが、応用情報技術者試験はITを活用した戦略やシステム設計の実務的な内容までが対象に含まれ、より専門的な知識が問われます。
試験時間および出題数は基本情報技術者試験と同様で、4月に開催される春季と10月に開催される秋季試験があります。
6. まとめ
この記事では、システムエンジニアの仕事内容や必要なスキル、年収を解説しました。SEはシステム開発を支える重要な職種であり、要件定義から運用・保守まで多くの工程に携わります。
また、開発するシステムは業務システムやスマホアプリ、Webサイト、組込みシステムなどと幅広く、それぞれの領域に強みを持ったSEがいます。そのため、SEを目指す際はどのようなシステムの開発に携わりたいのか明確化した上で就職活動を行う必要があります。ただし、SEになるにはプログラマーとしての実務経験を経てキャリアアップする流れが一般的ですので、まずはプログラマーを目指すとよいでしょう。
ITエンジニア・Webクリエイターの転職ならレバテックキャリア
レバテックキャリアはIT・Web業界のエンジニア・クリエイターを専門とする転職エージェントです。最新の技術情報や業界動向に精通したキャリアアドバイザーが、年収・技術志向・今後のキャリアパス・ワークライフバランスなど、一人ひとりの希望に寄り添いながら転職活動をサポートします。一般公開されていない大手企業や優良企業の非公開求人も多数保有していますので、まずは一度カウンセリングにお越しください。
転職支援サービスに申し込む
また、「初めての転職で、何から始めていいかわからない」「まだ転職するかどうか迷っている」など、転職活動に何らかの不安を抱えている方には、無料の個別相談会も実施しています。キャリアアドバイザーが一対一で、これからのあなたのキャリアを一緒に考えます。お気軽にご相談ください。
「個別相談会」に申し込む