システムエンジニア:システムを通じて顧客の多様なニーズに応える仕事
システムエンジニア
大学で情報系の学部に進んだ後、株式会社NTTデータグループに入社してシステム開発に携わってきたシステムエンジニアの杉浦由季さん。現在は若い世代にプログラミングやIoTに興味を持ってもらうためのワークショップも積極的に開催している。エンジニアの仕事や、システムができるまでの流れ、業界の現状などについて話を聞いた。
システムエンジニアってどんな仕事?
業界や領域によってエンジニアの働き方はさまざま
「皆さんのスマホには、決済アプリや無料通話アプリが入っていますよね。こうしたソフトウェアの仕組みを裏で支えるのもシステムエンジニアの仕事なんですよ」
そう語るのは、株式会社NTTデータグループで、システムエンジニアとして勤務する杉浦由季さん。クライアント(取引先)のニーズを実現するために、ソフトウェアや情報システムの設計・開発・運用などを行うことがシステムエンジニアの仕事。近年はセカンドキャリアとしてエンジニアを選択する“IT転職”も増加傾向にあり、未経験からでも活躍できる可能性がある職業だ。一方で、ひと口に「システムエンジニア」といっても、その働き方は関わる業界や領域によって大きく異なるという。
「私の働くNTTデータグループは、コンサルティングやお客さまからシステムの注文を受けて開発を行う企業ですね。それに対してヤフー株式会社さんのように、自社のサービスに関わるシステムを自分たちで開発する『ユーザー企業』もあります」
システムエンジニアの職域は、大きく「開発」と「運用」に分けられる。実際にシステムをつくるのが「開発」、提供したシステムやサービスを管理し、障害時の対応などを行うのが「運用」の主な仕事だ。
NTTデータグループの場合、開発部門はクライアント企業のニーズを探って提案を行う営業からスタートし、受注を獲得すれば要件定義や設計、実装、テストといった具体的なシステム開発を実施していく。ここでいう要件定義とは、相手のニーズや予算に合わせ、導入するシステムの機能や仕組み、全体のデザインを考える工程。杉浦さんは開発の担当者として、要件定義から実際のシステム開発まで幅広く関わってきたという。
「例えば、スマホの無料通話アプリのアイコンをタッチすると、ホーム画面やトーク画面、ニュース画面などが表示されますよね。そうした画面上のデザインは要件定義の段階で決められています。同時に、メッセージの通知機能や既読機能を付けようということもここで話し合うんです。基本的にユーザーから見てわかる機能やデザインは、全てが要件定義の段階で決まっているといっても過言ではないでしょう」
“三方よし”のシステム開発がエンジニアにとっての理想形
要件定義が終われば、そこで決まったことを実現するためにシステムの組み合わせやプログラミングを行う「設計」「製造」、それらが想定通りに実施できたことを確認するための「テスト」など、次の段階へとステップを進めていく。案件を担当する人数やひとりのシステムエンジニアが関わる範囲は、システムの規模によってさまざま。クライアントの要望や時代の変化に柔軟に対応するため、要件定義からテストまでのサイクルを短いスパンで繰り返しながら開発をするケースも増えている。杉浦さんは以前、金融系のシステム開発に要件定義から携わっていた。
「銀行の口座残高の確認や振り込みをスマートフォンで操作できるバンキングアプリの開発に関わっていました。アプリ自体は以前からあったのですが、それを時代に合わせて最新化しようという案件です。古いアプリのいいところはそのまま採用し、良くないところを変えていくという作業で、基本的には要件定義、つまり1から見直しを行いました」
システムエンジニアには、システム開発・運用に関わる知識はもちろんのこと、クライアント企業の業界や内部事情についても深い理解が必要になる。それらを知っていなければ、クライアントにとって理想的なシステムを提供することが難しいからだ。システムの知識は豊富だが、金融業界については門外漢の杉浦さん。アプリの開発には多くの苦労があったと話す。
「金融系のシステムにおいて何より重要なのは、不正利用などを未然に防ぐ強固なセキュリティです。お客さまの大切なお金を扱う上で、これは欠かすことができません。加えて、故障を出さないということがとても重要です。例えば、5,000円を振り込んだときに、システムの不具合で勝手に5万円になってしまったら一気に信用を失いますよね。細かいところでいえば、消費税の計算などで小数点以下の端数が出てしまったときに四捨五入するのか、切り捨てるのかといった仕様にも気を配る必要がありました。そうしたことを考えているうちに、次第に金融業界の知識が身についていったんです。それらと並行して、ユーザーの要望に応え、生活に密着できるアプリを開発したいと地道なアップデートを重ねました」
関わったシステムがクライアントやユーザーから高い評価をもらえる瞬間が、システムエンジニアとして働くやりがいにつながっていると杉浦さん。エンジニアとクライアントとエンドユーザー、“三方よし”の関係を目指して日々の仕事に取り組んでいるのだと語る。
仕事をする中で知識やスキルをアップデートしてきた
杉浦さんは、初めてパソコンが家に来た中学時代から、自らホームページを制作するなどプログラミングに関心を寄せていた。その後は自動車などの“ものづくり”に惹かれた時期もあったが、より幅広いユーザーに関わることのできるシステム開発に魅力を感じ、大学では情報系の学部への進学を決めた。
「大学の授業で本格的にプログラミングを学びました。学部時代は楽しみながら技術を磨き、大学院に進むと研究の手段としてプログラミングの技術を活用しました。卒業後にNTTデータグループに就職してからは、プログラミングだけではなく前段の要件定義や、後半のテストにも向き合うことになりました。当社には、若手社員にたくさん開発の作業を経験させて、システムの基本的な仕組みと開発のプロセスをしっかり理解させようという文化があったんです」
学生時代にプログラミングに触れていたことが、エンジニアとして働き出してからもアドバンテージになっていると杉浦さんは話す。ひとつのプログラミング言語について一定の知識を持っておけば、別言語でのシステム開発にも応用できることが多くあるという。
「とはいえ私の場合、実際にシステムエンジニアとして働き出してから得た知識がほとんどです。そういう意味では、未経験からでも十分に挑戦できる仕事だと考えています。使用するプログラミング言語は変化しますし、同じ言語でもバージョンが上がれば書き方も少し変わります。そうした変化に対応するため、仕事をしながら勉強を続けなくてはなりません。常に新しい情報を吸収し、自分の知識をアップデートしていく。私自身、時代に乗り遅れないように意識的に新しい技術には目を向けるようにしています。転職を意識してスキルを磨いて活躍している人もたくさんいます。システムやプログラミングに興味を持っていて、書くことが好きな人に向いている仕事だと思っています」
システムエンジニアの未来像とは?
技術の進化に対応できる高度なエンジニアの育成が急務
中途での“IT転職”が増加傾向にある一方で、将来的にIT人材が大幅に不足するとの見通しもある。システムエンジニア業界の現状を杉浦さんに聞いた。
「人材不足は本当にその通りなのですが、技術が進歩していく中で、それについていける人が少ないという問題も深刻になっています。ChatGPTをはじめとするAI技術が発達したことで、システムエンジニアの仕事が減るのではないかという見方もありますが、私はそうは思っていません。AIがつくったプログラムを確認・調整するのは人間ですし、AI自体の性能を高めるためにアップデートするのも人間だからです。AIはシステム開発を効率化するためのツールとして有効活用しながら、これからもシステムエンジニアの役割は増えていくのではないかと考えています」
さまざまなエンジニア業界の実情を知っておいてほしい
新しい技術を普及させ、人々の生活を豊かにする手伝いをしたい。杉浦さんはそうした思いから、若い世代にプログラミングやIoTに興味を持ってもらうためのワークショップも積極的に開催している。最後に、杉浦さんからシステムエンジニアを目指す高校生へのメッセージをいただいた。
「システムエンジニアは、どんな企業においても求められる仕事です。ゲーム分野から金融分野まで、システムの開発や運用を通じて自分の興味のある分野と関われるところが大きな魅力だと考えています。その反面、賃金や待遇も本当にさまざまで、過酷な労働条件の現場もあります。働き始めてから『思っていた世界と違った』というミスマッチを防ぐためにも、業界の構造や働き方など、事前にたくさんの情報を知っておいてほしいと思います」
プロフィール
杉浦由季
株式会社NTTデータグループ
システムエンジニア
大学で情報系の学部を卒業後、株式会社NTTデータグループに入社。ウォーターフォール型開発のプロジェクトを経て2013年頃からアジャイル開発の導入及び関連技術の研究開発に従事。これまで公共、金融、サービス等、幅広い分野でのアジャイル開発に関わった経験を活かし、現在は社内外のアジャイル開発のプロジェクトを支援。本業の傍ら、若い世代にプログラミングやIoTに興味を持ってもらうためのワークショップを開催。
Text by 上垣内舜介(minimal)