メインコンテンツへスキップ
キャリア船木 俊介約7分で読めます

公共系SEの仕事とは|官公庁・交通のシステム開発で身につく力

公共系SEの仕事とは|官公庁・交通のシステム開発で身につく力

公共系SEは、どんなシステムを作っているのか

公共系SEは、官公庁・自治体の行政サービスや、道路・鉄道などの社会インフラを支えるシステムの設計・開発を担うエンジニアです。行政手続きを処理するシステム、鉄道の予約を管理するシステム、交通管制に関わるシステム。扱う対象はさまざまですが、どれも多くの人の生活や業務に関わり、止まることが許されません。しかも法改正や制度改正、業務の変更に合わせて、何年にもわたって改修を重ねていきます。

その中でSEがするのは、プログラミングだけではありません。業務の仕組みを調べ、変更が必要な機能を洗い出し、設計書を作り、関係者と仕様を詰め、テストで品質を確かめる。この積み重ねで、システムを長く支えていきます。

スーパーソフトウエアも、大手SIerと協業する形で、交通管制や公共システムの開発に携わってきました。ここからは、公共系の現場でSEが何をしているのかを具体的に紹介します。

官公庁・自治体のシステム開発で、SEに求められること

官公庁SEや自治体SEの仕事は、法改正や制度改正に伴うシステム改修を一つ追ってみるとイメージしやすくなります。

制度の変更内容を調べ、システムへの影響を整理する

たとえば、ある行政手続きで、申請できる条件や必要な入力項目が変わるとします。SEはまず、変更後の制度や業務の流れを理解し、いまのシステムと何が違うのかを調べます。申請画面の入力項目、申請条件を判定する処理、データベースに保存する情報、帳票や外部システムとの連携。変更が影響する範囲を、ここで洗い出します。

新しい機能を足せば終わり、というわけにはいきません。既存の機能に影響が出ないか、制度変更の前後でデータをどう扱うかまで、この段階で整理しておきます。

要件を設計に落とし込み、実装・テストを進める

変更内容が整理できたら、具体的な仕様を設計します。画面に何を表示するのか、入力された情報をどの条件で判定するのか、エラーが出たらどう処理するのか。設計書に落とし込み、開発チームが実装できる状態にします。

実装後は、変更した機能が正しく動くかを確認します。正常に申請できるケースはもちろん、条件を満たさない場合や入力に誤りがある場合も通します。改修していない既存機能への影響も見ます。

制度や業務の変更を、実際に動くシステムへ変換していく。 ここまでがSEの仕事です。

関係者と仕様を調整し、決められた期日に間に合わせる

公共システムには、発注側の担当者、実際に業務を行う人、開発チームと、多くの関係者が関わります。「この条件のときはどう処理するのか」「現行の業務と新しい制度で扱いが違う部分はないか」。疑問が出るたびに関係者に確認し、仕様を一つずつ確定させていきます。

法律の施行日が決まっていれば、リリース日は動かせません。変更範囲を正確に押さえ、設計・実装・テストを計画どおりに進めて、期日に間に合わせます。

交通・社会インフラのシステムで、当社のSEが担っていること

当社が携わっている案件の一つに、交通管制に関わるミッションクリティカルシステムの設計・開発があります。交通管制のような社会インフラに求められるのは、高い信頼性と障害耐性です。正常に動くのは前提で、異常が起きたときにどう振る舞うか、ほかの機能に影響しないかまで、設計の段階から考えます。

交通管制システムの開発事例

当社の案件事例では、次の体制で開発を担当しています。

  • PL:1名
  • SE:3名
  • ASE:2名
  • 使用技術:Java / C / Oracle / AWS
  • 担当工程:要件定義から結合テストまで

この案件でPLが担っているのは、要件の整理、基本設計、顧客との仕様調整、品質レビューです。顧客から求められた機能について、どんな処理が必要かを整理して基本設計にまとめ、不明な点は顧客に確認し、設計内容が要件を満たしているかをレビューします。

SEの担当範囲は案件や役割で変わりますが、設計を持つなら、処理の流れ、データの扱い、異常時の動作を明確にするのが仕事です。実装やテストでは、設計した内容がそのままプログラムに反映されているか、関連する機能を組み合わせても問題が出ないかを確かめます。

チームとして要件定義から結合テストまで関わると、顧客の要求が設計・実装・品質確認へつながっていく過程を、ひと続きで経験できます。

新幹線の予約管理など、交通・公共分野の開発経験

当社では過去に、新幹線の予約管理システムや、国勢調査関連の公共システムの開発にも携わってきました。交通管制、鉄道予約、行政関連システム。扱う業務はまったく違いますが、求められることは共通しています。業務の仕組みを正しく理解し、システムが安定して動くように設計し、検証することです。

長く使われるシステムでは、既存の設計や処理を読み解きながら改修する場面も多くなります。新しい機能を作る力とは別に、すでに動いている大規模なシステムを理解し、安全に変える力が磨かれていきます。

公共システムの現場で身につく力

公共系の仕事で培われる経験は、4つの力に整理できます。

設計品質。機能が動くだけでは足りず、例外的な処理や既存機能への影響まで考えて設計する力です。レビューやテストで問題を見つけ、品質を積み上げてきた経験も含みます。

整理力は、制度や業務の変更を読み解き、複雑な要件を具体的な仕様に落とす力。

合意形成は、顧客や開発メンバーの間で認識をそろえ、未確定の仕様を一つずつ決めていく力です。

継続性。長くシステムと業務に関わり続けて理解を深め、改修や品質維持に生かしていく力です。

いま公共系の現場にいる方は、これまで担当した仕事をこの4つで振り返ってみてください。「基本設計を担当した」で終わらせず、どんな業務を理解して何を設計したのか、どんな変更の影響を調べたのか、誰と仕様を調整したのか。そこまで具体化すると、自分が身につけた力が見えてきます。

次の役割を考えるときにも、この棚卸しは役立ちます。上流工程と下流工程の違いでは、基本設計から担当範囲を広げる考え方を紹介しています。

公共システムの経験を、次の役割につなげる

スーパーソフトウエアでは、C#・Java系のエンジニアやエンジニアリーダーの求人4件で、「公共システムの開発経験」を歓迎スキルに挙げています。エンタープライズ領域の評価で見ているのは、設計品質・整理力・合意形成・継続性、そして複雑な現場を安心して任せられるかどうかです。公共で積んだ経験は、そのまま評価に反映されます。

当社が掲げる「開発推進力」は5つの能力からなり、その一つが理解する力です。顧客が実現したいことと、対象のシステムの両方を理解する力は、同じ現場に長く関わるほど深くなります。

公共系で積んだ業務知識や設計・品質の経験は、その人ならではの強みです。自分がどんな問題を解いてきたのかを整理するところから、次の役割を考え始めてみてください。

公共・交通をはじめとする当社の仕事に関心がある方は、募集職種一覧をご覧ください。


この記事のテーマについて、もっと話を聞いてみたい方へ: