システムエンジニア(SE)の仕事とは? 仕事内容、必要な資格、やりがいまで徹底取材!
パソコンやインターネット、スマートフォンなど、デジタルのツールは、私たちの日常に欠かせないものになっている。そんなIT業界に興味をもっている高校生も多いだろう。
さまざまなIT系の仕事があるなかで、今回、クローズアップするのはシステムエンジニア(SE)。
職種名は知っているけど、どんな仕事なのか、詳しいことはわからないという人もいると思う。
そこで、IT企業で活躍するシステムエンジニアに徹底取材!
仕事内容やなり方、仕事のやりがいを聞いてきた。
桑原秀樹さん
高校卒業後、大学の工学部に進学し、情報工学を専攻。
2014年に卒業後、IT企業に就職。主に業務用システムの設計・開発に携わり、2017年に富士ソフト株式会社に転職。
現在はWebサイトの設計・開発を担当している。
8人のメンバーを抱える開発チームのリーダーでもある。
目次
システムエンジニアとは
システムエンジニアとは、コンピュータを利用して人々の事業活動や暮らしに役立つようなシステムを設計・開発する仕事。クライアント(顧客)となる企業に要望を聞き出すことから始まり、要望をかなえるためのシステムの設計・開発はもちろんのこと、開発プロジェクトの進捗管理、できあがったプログラムが正しく動くかどうかのテスト、システム稼働後の運用・保守まで携わる。
システムエンジニアの活躍分野
システムエンジニアはさまざまな分野のシステムをつくる。主なところでは、次のような分野がある。
●組み込み系
家電製品やスマートフォン、自動車、産業用ロボット、医療機器など、さまざまな機械・機器に組み込まれ、その機能を正常に作動させるためのコンピュータシステムの設計・開発を行う。
●Webサイト
Webサイトの設計・開発をする。
手がけるWebサイトは企業などのホームページ、情報サイト、ショッピングサイト(ECサイト)などさまざまで、新しい機能やWebサービス(※)の開発などを行う。
(※)Webサービス:Web上で利用できるサービス全般をさす。例えば、SNS、動画配信サービス、予約システム、支払いサービスなどがある。
●業務用システム
企業が業務を効率良く行うためのシステムを設計・開発。
在庫管理や会計、生産管理、顧客管理のシステムなどを手がける。
●ネットワーク系
コンピュータ間のデータの送受信を、安全にかつ円滑に行うためのネットワークシステムを設計・開発。
企業のほか、官公庁や自治体など公共機関の情報システム構築といった大規模なプロジェクトにかかわるシステムエンジニアもいる。
このように目に見えない部分も多いけど、日常のあらゆる場面に、システムエンジニアが開発したコンピュータシステムが使われている。
システムエンジニアとプログラマーの違い
システムエンジニアと似ている職種にプログラマーがあるが、システムエンジニアとはどう違うのだろう?桑原さんはこう教えてくれた。
それに対し、システムエンジニアはクライアントとの折衝やプロジェクトの進行管理、設計書の作成が主な仕事です。
その設計書をもとに、プログラマーが作業するという流れなので、プログラマーが仕事をしやすいよう、必要な情報を盛り込んで設計書を作成することが、システムエンジニアの役割です」(桑原さん:以下同)
※クライアントと会議中の様子。システムエンジニアは、パソコンの前で黙々と作業をしているイメージがあるかもしれないが、多くの人と接する仕事だ
システムエンジニアの仕事内容
システムエンジニアの仕事内容は、勤務先の体制や取り組む案件などにより、異なる。桑原さんの場合、これまでに業務用システムやWebサイトのシステムの開発を経験し、現在は人材サービス業界のWebサイトの開発を担当している。
また、Webサイトの分野では、一般ユーザーが操作しない部分のシステム開発も経験しています。
バックエンドとよばれる部分で、例えば、ショッピングサイトなら、裏側の商品管理や配送管理、入金管理といったシステムになります。
現在は、Webサイトの一般ユーザーが操作する部分のシステム開発をしていて、新しい機能の開発を進めています」
それではシステムエンジニアの具体的な仕事内容を、開発工程に沿ってみていこう。
システム開発の7つの工程
システム開発には、一般的に次の7つの工程がある。(1)要望(要件)をヒアリングする
(2)要件定義
(3)基本設計
(4)詳細設計
(5)プログラミング
(6)テスト
(7)運用・保守
それぞれについて、どんな仕事なのか、桑原さんに解説していただいた。
(1) 要望(要件)をヒアリングする
クライアントがどのようなシステムをつくりたいのか、要望(要件)を聞き出す。
相手が何を求めているのかを正確に把握するための工程で、「要求分析」ともよばれている。
例えば、『経費がかかりすぎているので、業務効率を上げて経費を削減したい』『人員不足が原因で業務が進まないので、従業員一人ひとりの作業能率を上げて業務改善をはかりたい』など、システムを開発する目的や、システム導入によって解決したい課題を明らかにするのです。
そのため、システムエンジニアはクライアントの事業内容や、その業種特有の業務の進め方を理解することが重要です。先方の担当者からも話を聞きますし、現場の声も大切。
会計が関係するシステムなら経理担当者、物流管理のシステムなら倉庫で働く従業員など、システムを活用することになる人たちからも話を聞かせていただきます。
そうしたヒアリングを行い、クライアントがやりたいことを実現するためにはどのようなシステムにするのがいいのか、考えます」
(2)要件定義
システムをどのようにしてつくるのか、必要な機能や要件などを「要件定義書」にまとめる。
(3)基本設計
要件定義書をもとに、システムの全体像をイメージし、画面の表示や操作方法、システム間の連携など、システムの概要を設計する。
一般ユーザーの個人情報を扱うので、セキュリティー対策もはずせません」
※「基本設計は、システム開発の土台となる作業。しっかりした設計ができていないと、この先の作業がスムーズに進んでいかないのです」と、桑原さん
(4)詳細設計
基本設計でつくった仕様を、どのような技術で実現するのか、具体的に決める。
システムを開発するために必要なプロミング作業ができるよう、詳細な設計を行う。
桑原さんは、プログラマー8人からなる開発チームのリーダーでもあり、プログラミングを担当するプログラマーがスムーズに作業を進めていけるよう、詳細設計書には必要な情報を盛り込むことに力を注いでいる。
(5)プログラミング
基本設計書と詳細設計書をもとに、プログラマーがプログラミング言語を用いてコードを組む。
この段階でのシステムエンジニアの主な仕事は、プログミングの進捗の確認や、プログラマーからの質問への対応など、サポートをすること。
これらの課題に対して、プログラマーの意見を聞きながら一緒に解決方法を考えます」
詳細設計からプログラマーが担当することもあれば、場合によっては私もプロミング作業に取り組みます」
システムエンジニアが働く場は、IT企業のほかに一般企業もあり、社内SEとして勤務する。
IT企業に勤務するシステムエンジニアの場合はクライアントから依頼を受けてシステム開発を行うが、社内SEは自社で使うシステムの導入や改修が主な仕事。
最近では社会全体でデジタル化が急速に進んでいる影響で、自社のシステムの設計・開発をIT企業に外注するのではなく、社内SEが行うといった内製化の動きが活発になっている。
※リモートワークが中心という桑原さん。出社したときには、開発チームのプログラマーと積極的にコミュニケーションをとっている
(6)テストプログラミングを組み終えたら、設計どおりに正しく動作をするか、システムエンジニアがテストを行う。
テストにもいろいろある。
プログラム単位で行う単体テスト、複数の機能を結合させてチェックを行う結合テスト、開発したすべての機能・要素が稼働するかをチェックする総合テストなどがある。
『動いてくれ、頼む!』と思いながらやっています。
テストをして、動かないときもあるのですが、テストの段階で多くの不具合をみつけることができれば、それだけしっかりしたテストを行えたということ。
不具合の原因を探って修正して改善策を打ち出すことで、より品質の高いシステムをつくることができると考えています」
システムが完成し、クライアントに納品。
その後も正常に稼働しているか確認し、メンテナンスや改修を行う。
そこで問題点がみつかれば解決したり、改善すべき機能を更新するなど、サイトが円滑に動作するようにサポートをしています」
システム開発の現場ってどんな感じ?
でも、Web系の開発だからリモートワーク中心でも仕事が進められるのであって、分野や案件によってはリモートでは進められません。
例えば、自動車に搭載するシステム開発などを担当しているチームは、実際の機器がないとできないので、ほぼ毎日出社しています」
スケジュールどおりに進むよう、チームのメンバーとのコミュニケーションは大切です。
リモートでも毎朝のミーティングを実施し、進捗を確認してプログラマーが困っていることがあれば、サポートします」
オンライン上の仮想空間でリモートワークができるというツールだ。
※自社(富士ソフト)が開発したコミュニケーションツールを利用
システムエンジニアになるには
高校卒業後は専門性のある学科選びで有利に
システムエンジニアになるには資格は必要ではなく、未経験でも採用している企業もある。ただ、高校生のときに理系志望でシステムエンジニアの仕事に興味があるならば、大学、短期大学、専門学校などの情報工学系、電気電子工学系などに進学し、コンピュータやソフトウエア、開発言語などの基礎知識を学んでおくと、就職時にプラスになる。
大学などの文系学部・学科に進学しても、システムエンジニアを目指すことは可能。
研修制度を設けている企業に就職すれば、入社後にシステムエンジニアとしてのスキルを習得していくことができる。
主な就職先・活躍できる場所はさまざま
クライアントからの依頼を受けてシステム開発を行うIT企業のほか、社内SEとして一般企業に就職する道もある。プログラマーを経て、システムエンジニアになる方法も
勤務する企業にもよるが、就職後、まずプログラマーとして経験を積み、システムエンジニアにステップアップするという方法もある。その経験があるから、チームのメンバーであるプログラマーが作業しやすいような設計書を書けるし、プログラマーに適切な指示ができていると思っています」
システムエンジニアとして活躍するために必要な資格
システムエンジニアは資格がなくてもできる仕事だが、資格を取得していれば基本的な知識が身についている証明として役に立つ。桑原さんは、これまでに7つの国家資格を取得している。
専門用語の知識が増えたり、プログラミングの基本である2進数をしっかり理解できるようになったり、基礎知識を身につけることができました」
●ITパスポート試験
●基本情報技術者試験
●応用情報技術者試験
●ネットワークスペシャリスト試験
●データベーススペシャリスト試験
●情報セキュリティマネジメント試験
●情報処理安全確保支援士
ITパスポート試験、基本情報技術者試験、応用情報技術者などは学生時代に取得することが可能なので、高校生の今から目指してみるのもいいだろう。
※桑原さんは、大学在学中にITパスポート試験に合格。就職してからも「ITのプロとして向上し続けていきたい」と、仕事の合間をぬって資格試験に挑戦してきた
システムエンジニアに必要なスキル
システムエンジニアに必要なスキルとして、次の4つが挙げられる。コミュニケーション能力
クライアントや、開発チームのメンバーと話し合うことが多い仕事なので、聞く力と話す力の両方が必須。文章力が特に必要とされるのは、基本設計書を書くときです。
システムをつくるための仕様などを文章でまとめるので、わかりやすくかつ正確に書く力が求められます。
また、クライアント側の社内SEが書いた基本設計書を読むこともあるので、長文を読み取る力も欠かせません。
理系志望の高校生の場合、理数系科目の勉強が中心になると思いますが、国語の勉強もしっかりやっておくといいでしょう」
論理的思考力
システムエンジニアは、クライアントの要望を論理的に組み立てて、システム化をする仕事なので、論理的思考力が必要。マネジメントスキル
システムエンジニアは、開発プロジェクト全体を管理する役割もあるので、マネジメントスキルも必要。マネジメント的な業務は、開発スケジュールを立てること、開発チームのメンバーへの指示出しや進捗の管理、クライアントとの連絡調整など。
プログラミングスキル
プログラミングが未経験でも、システムエンジニアになることは可能だが、システムはプログラマーと力を合わせてつくり上げていくもの。そのため、システムエンジニアも、プログラミングの基本的なスキルは身につけておきたい。
システムエンジニアに必要なプログラミング言語とは
大切なのは、担当する領域によって必要となる言語を使えるようになっておくことです。
例えば、組み込み系ならC、C++、C#といったC系の言語。
WebサイトならJava、PHP、Ruby(ルビー)、Python(パイソン)などです。
でも、一気に複数の言語をマスターしなければならないということではありません。
まず、一つの言語について、『これが得意』と言えるようになるほど、しっかり勉強しましょう。
そうなると、その言語が好きになって、ほかの言語を学ぶときも興味をもって、楽しく学べると思います」
※プログラミングをするのも楽しいという桑原さん。「得意なプログラミング言語はJavaです。でも以前はRubyが好きでした」
システムエンジニアの年収
システムエンジニアの収入は、「賃金構造基本統計調査」によると、■平均給与月額:44万7700円
■平均年齢:40.3歳
■平均勤続年数:13.6年
■年間賞与 その他特別給与額:196万3600円
推定平均年収は約733万円。
ちなみにこの「賃金構造基本統計調査」によると、一般労働者の平均賃金は30万7400円(月額)という結果となっており、システムエンジニアの収入は平均よりも高いことがわかる。
※出典:令和3年「賃金構造基本統計調査」(厚生労働省)
<電気・電子・電気通信技術者(通信ネットワーク技術者を除く)>の「システムコンサルタント・設計者」の調査結果、および「一般労働者 賃金の推移」より記載。
システムエンジニアの将来性
システムエンジニアをはじめ、IT人材は不足しているといわれている。経済産業省が公表した調査結果によると、2030年には最大79万人の人材が不足すると予測されている(※)。
クライアントと接しているなかでも、『これまではエクセルで管理していたけど、システム化をしたい』というニーズが急速に高まってきているのを感じます」
※出典:『IT人材需給に関する調査 調査報告書』(経済産業省委託事業/2019年3月、みずほ情報総研株式会社により実施)
システムエンジニアになりたいと思った理由は?
大学の情報工学科に進学し、主にプログラムのアルゴリズム論やシステムのソフトウエア論などを学んでいました。
そして、携帯電話やテレビなど、身の回りにあるものはすべて、内部に組み込まれたプログラムで動いていることに気づいたのです。
興味がわいてきて、なりたい仕事も変わっていったのです。
ゲームプログラマーはゲームが好きな人を対象にしているけど、もっと幅広い人に影響を与えるような仕事をしたいと考えるようになりました。
インターネットにも興味があったので、Webサイトのプログラムをつくる仕事もいいなと思い、就職の情報を調べているとき、知ったのがシステムエンジニアとプログラマーという職業の存在です。
Webサイトをはじめ、さまざまな業種のシステム開発にかかわれることに魅力を感じ、大学卒業後はプログラマーやシステムエンジニアとして働けるIT企業に就職しました」
この仕事の大変なところと、努力していることは?
その理由はさまざまです。
予算面や、技術的な問題だったり、クライアントにすでに入っているシステムとの連携の問題…。
また、莫大な費用をかけて新たにシステムを導入しても業務改善は望めないなど、課題の解決につながらない可能性が高い場合もあるのです。
そんなとき、クライアントになぜできないのか、説明するのはたやすいことではありません。
クライアントはインターネットの専門知識がないことが多いので、根気強く、わかりやすく説明する必要があり、伝え方には悩みます。
でも、クライアントの要望どおりにできないとしても、要望に近いものがつくれないかを考え、『こういうものならできます』と、代案を提案するように心がけています。
苦労はありますが、そこがシステムエンジニアの腕の見せどころでもあります。
私の提案に対して賛同していただき、よろこんでいただけるときもあり、提案できて良かったなと思います」
※クライアントに対し、システムの提案をする桑原さん
やりがいを感じるのはどんなとき?
システムを手がけたショッピングサイトでは、『このサイトでちゃんと買い物できるんだ!』と思うと気持ちが盛り上がってきて、私も買い物してしまいます(笑)」
忘れられないエピソードは?
物流関連のシステム開発で、日々の経費の動きと連動させて売り上げを管理するというものでした。
物流の経費は複雑で経理担当者は作業に時間がかかっていたのですが、そのシステムを取り入れたことで経理担当者の業務効率が上がったと、感謝されました。
『桑原さんが担当してくれて、良かったです』と、先方に言っていただけたときは、うれしかったです。
業務用のシステム開発は、完成しても一般の方の目にふれにくいものもありますが、クライアントの役に立っていることがわかると、やりがいは大きいです」
高校生の皆さんへ
システムエンジニアに興味がある高校生へのメッセージをいただいた。新しいシステムを設計することも楽しいし、チームプレイで形にしていくプロセスも楽しいです。
チームで取り組むことで、スケールの大きなシステムをつくれることにも魅力を感じています。
現在、私が手がけている案件も完成まで4年ほどかかるプロジェクトですが、8人のメンバーがいるからこそ、取り組めることです。
高校生の皆さんは今、情報の科目でプログラミング学習が必修になっているので、プログラミングと親しむ機会は多いでしょう。
ITの仕事に興味がわいてきたなら、ぜひ、システムエンジニアの仕事を目指してほしいなと思っています」
※取材時、インタビューの質問にもていねいに、わかりやすく答えてくれた桑原さん。「システムエンジニアの仕事は楽しいということを、高校生の皆さんに知ってほしいです」と語ってくれた
システムエンジニアは、社会を支える重要なシステム開発を担う仕事。
興味がある人は、さっそく、進学先選びの情報を集めることから始めてみよう。
取材協力/富士ソフト株式会社
取材・文/小林裕子 撮影/沼尻淳子 構成/高木龍一(本誌)
※この記事は2023年2月に取材したものです。