経済社会の隅々までデジタル技術が欠かせない現代において、人気がある職業分野のITエンジニアの中でも代表的な職種のひとつがSE(システムエンジニア)です。
その仕事の内容や得られる年収などは、いかなるものでしょうか。また、SEとプログラマーの違いが、よく分からない人も意外とたくさんいるようです。
この記事ではITエンジニアへの転職を考えているみなさんに向けて、SEとはどんな仕事で必要な知識やスキルは何かについて、その年収やプログラマーとの違いも踏まえて解説していきましょう。
目次
SEはこんな仕事をしている!業務の概要
SEは、ITを使用したシステムを開発する場合の、最初の提案から始まり、設計やテストなど、システム構築の根幹部分に携わる技術者です。
時代の趨勢から考えて、企業がシステムを導入する流れは止まりません。深刻なエンジニア不足も手伝って、ニーズは尽きない仕事です。よって、将来性に関しては充分期待ができる職種といえるでしょう。
SEは、クライアントが業務改善や経営戦略の一環として望んでいるシステムを現実化するために、かぎられた予算と時間を費やしてどれだけ要望を満たせるか腕の見せどころです。
システム開発の流れは、要求分析に始まり要件定義、クライアントからの提案依頼書提示、基本設計、詳細設計、コーディング、テストと進みます。
この開発の流れに沿ってSEの業務を解説しましょう。
ヒアリングによる要求分析
SEの仕事の第1段階が、ヒアリングによる要求分析です。システム開発は、そのシステムの発注元であるクライアントの要望が出発点となります。
クライアントが望んでいる機能をSEが丁寧にすべて聞き出して分析し、緻密に整理することが効率のよい開発につながるのです。
この段階が上手くできていなければ、後からの仕様変更に手間取ることになります。システム開発の土台を築く大切な工程こそ、ヒアリングとそれによる要求分析といえるでしょう。
要件定義書の作成
SEの仕事の第2段階が、要件定義書の作成です。
ヒアリングからの要求分析で得られた課題に応えるために、システム化する機能を納期と予算を考え合わせて検討し、定義づけする作業となります。
システム開発においては、要件定義の内容が成果物のクオリティの基準です。終盤のテスト段階において、システム性能テストや運用テストの基準にもなります。
要件定義があいまいなまま進めてしまうと、終盤で品質の悪化や費用の不足を生む原因となってしまうのです。
実際問題として、すべての要望に応えることは困難となります。そのため、システム開発のために費やせる期間や費用を算出した上で、要件定義を決定するのが一般的です。
クライアントからの提案依頼書提示
要件定義書を受けたクライアントから、多くの場合提案して欲しい内容を記載した資料である提案依頼書(RFP/RequestForProposal)の提示があります。
異なるタイミングで提示されるケースもありますが、いずれにせよトラブルを防ぐために、提案依頼書の内容を共有することは、双方にとってメリットなのです。
実現したい内容を前もって明確化しておかないと、クライアント内部で内容の認識の齟齬が出てくることがあります。
開発側の内部でも、関係者が内容について明確に共有していないと、プロジェクトの途中での抜け漏れが起こりかねません。
何より開発側とクライアント間の認識のズレは、最も避けるべき問題です。
基本設計書の作成
SEの仕事の第3段階が基本設計書の作成です。クライアントの望んでいるシステムを実現するためのシステム設計を行う段階となります。
定義された要望の情報をもとに、どのような機能を付加するか、いかなる操作方法にするか、システム上で情報の表示方法はどのようにするかなどの、基本部分の設計です。
この段階では、まだプログラミングできるほど詳細には記載されません。ITの専門家ではないクライアントが読んでも、システムのおおよそが認識できるレベルの文章を用いて作成されます。
詳細設計書の作成
SEの仕事の第4段階は、詳細設計書の作成となります。
基本設計書の段階で明確になったシステム設計を、どういったテクノロジーを用いて実現するかを踏まえてプログラミングで必要な、より具体的な設計を行うのです。
基本設計の後にすぐ詳細設計に進む場合と、外部設計や概要設計などを経て詳細設計に進む場合があります。
詳細設計は、プログラミングに必要な事項をすべて決定する段階です。たとえば「異なる場合はエラー」となる設計の場合に、エラーメッセージの文言やその後の処理まで決定します。
コーディング
詳細設計書が完成したら、それをもとに「コーディング」工程に入ります。コーディングとは、設計書で指示された技術やレイアウトを、プログラミングによって実際の機能にしていくことです。
この段階の作業は、主としてプログラマーやコーダー、あるいはマークアップエンジニアなどの仕事となります。誰かひとりですべてのコーディングを行うわけではありません。
システムの機能で分けてチームを編成し、複数のスタッフでの分業体制で進めていきます。
テスト
SEの仕事の、ひとまずの最終段階がテストとなります。
プログラミングをすべて完了したシステムが、設計書などのドキュメントと照らし合わせて、反映漏れやミスがないかどうかの徹底的なチェックです。
テストにも種類があり、プログラマーが動作確認を行う単体テストや、設計書通りに動作するかを確認する機能テスト、結合テストなどを開発側で行います。
また、クライアント側において基本設計との整合確認のために行うのが、受入れテストや実際の稼働時を想定したシミュレーションともなる総合テストです。
納品・運用・保守
テストを終えて問題がなければ、システムが正常に動作するよう完璧に実装されたコンピューターを、設計書類とともにクライアントに納めます。
システム開発の中で、稼働開始後のシステム運用や保守を行うための設計もなされていて、運用・保守ツールの設定も済んでいるでしょう。
運用・保守は、多くの場合クライアント内のシステム部門が担当しますが、場合によっては開発企業が依頼を受けて担当することもあります。
SEとプログラマーの違い
SEとよく混同されがちなプログラマー(PG)とは、SEが作成した設計書に従って、実際にプログラミングを行う職種のことです。
システム開発の工程を川の流れに例えて、SEは主に上流工程でプログラマーは下流工程という表現がよく使われます。
SEがシステムの設計を主に担当するのに対し、プログラマーは設計されたそのシステムの製造工程を担当するのです。
設計書に記載されているのは、プログラミングに必要な最低限の情報です。そこで求められる動作をどのようなコードで実現するかは、実はプログラマー次第となります。
同じ動きに見えてもコードによって動作時間が遅かったり、エラーが発生しやすくなったりするのです。プログラマーにはSEによる設計を実現するための、高度なスキルが必要になります。
また、プログラマーがコーディング以外に担当するのは単体テストです。プログラム単体の動作をこのテストでチェックしておかなければ、結合テストがうまく進まなくなってしまいます。
プログラマーはプログラミングスキルを身につけているのは当然として、自分が作ったプログラムに責任を持ち、細部まで徹底してチェックすることが求められるのです。
プログラマーから入って、SEを目指すというキャリアパスも一般的です。
プログラミングよりもシステム設計に興味があり、クライアントなどさまざまな人と関わって仕事をしたいという人は、SEを目指す選択肢もあります。
SEになるために必要なスキルと学ぶ方法
ここでは、SEに必要なスキルとそれらを学ぶ方法も紹介していきましょう。
押さえておくべきITエンジニアの基礎
SEを含むITエンジニアにとって、必須の知識は大きく5種類です。これらはすべてのITエンジニアに必要となります。先々に習得していくスキルの土台ともいえるので、必ず押さえておきましょう。
ソフトウェアの知識
ソフトウェアの知識とは、開発ツールやオープンソース・ファイルシステム、ミドルウェアやOSなどに関する知識のことです。
ハードウェアの知識
一方、ハードウェアの知識とは、入出力装置や入出力デバイス、メモリーバスやプロセッサなどのコンピューターの構成要素に関する知識となります。
データベースの知識
データベースの知識とは、データ操作やデータベース方式、トランザクション処理や設計手法などに関する知識です。
ネットワークの知識
ネットワークの知識とは、ネットワーク管理やネットワーク方式、通信プロトコルやデータ通信と制御などに関する知識を指します。
セキュリティの知識
セキュリティの知識とは情報セキュリティ技術評価方法や情報セキュリティ管理方法、情報セキュリティ対策手法などに関する知識です。
これらはIT技術者のあらゆる職種に関係する知識になります。必須ということではないにせよ、今後習得するスキルの土台として押さえておけば、学習効率のためにプラスになるでしょう。
プログラミングスキル
プログラミングスキルもITエンジニアの基本とされるスキルで、特にSEには欠かせません。なぜならプログラム構造を理解しなければ、精度の高い設計書を作ることなど不可能だからです。
これらを身につけるひとつの方法としては、国家資格の「基本情報技術者試験」を活用して学習するアプローチが、先に述べた5種類すべてが試験範囲に含まれており、効率的に学べます。
また、SEにとって重要なプログラミングスキルを軸とした基礎の習得に関しては、主に以下の2つの方法がおすすめできます。
- オンライン学習
- 勉強会・セミナー
それぞれを、個別に紹介しましょう。
オンライン学習
ここ数年のプログラミングに対する注目度のアップが反映して、現在Web上でプログラミングに関するさまざまな学習サイトや学習動画、オンラインスクールや学習できるSNSなどが花盛りです。
例えばUdemy(ユーデミー)は、130,000を数える多種多様な講座があるオンライン学習プラットフォームで、プログラミングに関する講座もたくさんあります。
社会人がメインユーザーであり教えたい人が講座を開くことができて学びたい人が学べるのです。
Udemyでは、動画コンテンツを多用して用いて学習を進めます。講座の詳細にて学習内容が分かりやすく書かれているので、あなたに必要な講座を選択することができます。
サブスクリプションではなく買切り型のコンテンツなので、好きな時に何度でも復習ができるのも魅力です。
料金は講座によってさまざまですが、数千円から1万円前後のものが多く見られます。
また、LinkedInは世界最大のビジネス特化型SNSで、仕事やキャリアに関する情報交換の場として世界の7億人近いユーザーに利用されており、日本人ユーザーも240万人を数えています。
LinkedInラーニングというコンテンツが用意されており、IT関連を含むビジネス講座やプログラミング講座が豊富にリリースされています。
勉強会・セミナー
IT関連の勉強会には主に4種類の形態があります。あなたの合いそうなものを選んで参加してみましょう。最近ではオンライン開催も増えて、参加しやすくなっています。
もくもく会
参加する学習者が各回のテーマに沿って、もくもくと自習する勉強会です。
著名なエンジニアなどのセミナー
講師として著名なエンジニアが登壇して講義を受ける勉強会です。
ハンズオントレーニング
先輩格のエンジニアの講義を受けながら、参加する学習者が実際に特定のシステムやプログラム言語など手を動かしながら学ぶ勉強会です。
ライトニングトーク会
参加者同士が自由闊達に発表しあう勉強会です。
ハッカソン
ハッカソンは勉強会とは少し異なる例外ですが、参考に挙げておきます。これは参加者をチームに分けて、ゴールとなる成果物の完成を目指して競うような、イベント性が強い集まりです。
コミュニケーションスキル
SEの仕事は、社外ではクライアント、社内ではプロジェクトリーダーやプロジェクトマネージャー、開発チームのメンバーとの関わりで、日常的にコミュニケーションを取る必要があります。
クライアントのヒアリングや仕様の提案をする作業、開発内容の指示、進捗に関するやり取りなど、コミュニケーションの深さが進行に反映するので、コミュニケーションスキルが必要です。
コミュニケーションスキルを磨きたい場合は、エンジニア向けのコミュニケーション講座や研修会などがあります。
エンジニアの仕事のさまざまな局面で、良質なコミュニケーションを生むために実施されており、オンラインで参加できるものが多いようです。
ドキュメント作成スキル
SEはクライアントの要望を聞き出して分析したものを、誰もが理解できるドキュメントに落とし込むスキルが求められます。
SEは、工程ができるかぎりスムーズに進むように配慮された設計書を書かなければなりません。
また、運用開始後に万が一システムにトラブルが生じた時に、クライアントは設計書などのドキュメントを見て対応するものです。
いずれの場合も、必要なことを的確に伝えられるドキュメント作成スキルが求められます。
書籍での解説書もたくさんありますが、手軽に学べるのはドキュメントの書き方などを解説するサイトです。
以下のサイトも参考になるでしょう。
SEの平均年収とキャリアパス
SEの年収はおよそ700〜1,000万円です。とはいえ、ボーナスなどは除外した基本給なので実際はもっと多くなり、高額報酬の部類に入るといえるでしょう。
SEからのキャリアパスとしては、「プロジェクトマネージャー」や「ITコンサルタント」という職種があります。
それぞれについて詳しく触れておきましょう。
プロジェクトマネージャーへのキャリアパス
「プロジェクトマネージャー」は優秀なSEが進む職種です。その一つ手前で、チーム単位のマネジメントをするプロジェクトリーダーを経験する場合もあります。
プロジェクトマネージャーは開発プロジェクト全体を統括するので、エンジニアとしてのより高いスキルが求められるのです。
システムの内容に応じて、開発に必要な人員数、予算を設定してチーム編成を行います。そして、スケジュールを設定してプロジェクト全体を遂行する重責なのです。
全体を俯瞰した立場で意思決定を行い、納期・予算・成果物のクオリティなどを管理する立場でもあります。
ITスキル以外にも、マネジメントスキルやヒューマンスキルを身につけることが必要です。年収は1,000〜1,600万円という高収入になります。
ITコンサルタントへのキャリアパス
「ITコンサルタント」はITエンジニアが、システムだけでなく経営側としてのビジネススキルを伸ばす方向の先にあるキャリアパスです。
コンサルタントとしてクライアント業務を深く理解し、IT技術の活用で企業の経営課題を解決する事が求められます。
そのためクライアント目線に寄り添った際立った提案力や、その提案をクライアントに伝えるプレゼンテーションスキルが必要です。
プロジェクトの進捗管理はもちろん、システムの最適化や動作検証まで、手掛ける対象が多岐にわたる仕事となります。
企業の課題を解決するための提案力と、その提案の有効性をクライアントに伝えるプレゼンテーションスキルが必要です。こちらも年収は高額で、900〜1,500万円になります。
まとめ
SE(システムエンジニア)の仕事内容や必要な知識やスキルは、年収やプログラマーとの違いとキャリアパスについて解説しました。
もちろん学習と経験は必要ですが、文系からエンジニアになる人もたくさんいます。将来性も期待できる職種であり、必要なスキルに関してはオンラインにて学びやすい環境です。
ITエンジニアへの転職を考えているみなさんは、ここでの情報も参考にして、SEも視野に入れて検討してみるのもよいのではないでしょうか。
現在募集中の求人を探す
タリスマンに転職相談をする