顧客の情報システムの開発を受託し、ソフトウェアを開発する。
中卒・高卒・第二新卒の転職相談、無料で受付中
LINEで無料相談するシステムエンジニア(受託開発)とはどんな仕事?
顧客の情報システムの開発を受託し、ソフトウェアを開発します。アプリケーションエンジニア、アプリケーションスペシャリスト、業務系SE(システムエンジニア)などとも呼ばれます。ここでは以下、短くSEとしています。
開発には顧客のサーバー上に開発するもの、クラウド上に開発するもの、また、スマホで利用するものなど様々な種類があります。これらのシステムを顧客の要求に応じて、パッケージやモジュールとして既にあるソフトウェアとオーダーメイドで作成するソフトウェアを組み合わせて、設計・開発します。以前は顧客のサーバー上にシステムを構築することが多かったが、近年はクラウドの利用が広がり、クラウド上にシステムを構築する仕事が大半となっています。既にあるパッケージやクラウドサービスを、顧客の目的に合うようカスタマイズする開発をSEとして行うこともあります。
隣接する職業としてプログラマーがあるが、プログラマーはSEが作成した詳細設計書(下で説明)に基づいてコーディングし、プログラムを作成します。
具体的な仕事を業務の流れに沿ってみていくと、まず顧客にヒアリングし、開発するシステムの概要をまとめます。顧客の業務のプロセス(特に伝票や書類の流れ、種類、形式、量など)やコンピュータ処理する内容をよく理解し、顧客が自覚していない課題までも抽出し、どのようなシステムにするか決めていく(要件定義)。この段階で顧客と認識にずれがあると、満足できるシステムができないため、ITについての技術力とコミュニケーション能力によって顧客とよく検討していきます。次に、確定した要件定義をもとに、データベースの設計や外部システムとの連携、画面構成などを固めていく(基本設計)。基本設計に従い、システムで扱うデータ形式やファイル形式、詳細な内部処理の方法、操作画面の詳細などを決め、処理の流れを細分化した設計書を作成する(詳細設計)。
開発に利用可能な既存のパッケージやモジュールがある場合は、詳細設計にそれを盛り込みます。新規に作成が必要なソフトウェアは詳細設計に基づき、プログラマーに作成を依頼します。プログラマーの作成の工程を管理するとともに、次の工程であるテストの準備として、テスト計画を作成します。
このテスト計画に従って、プログラマーがソフトウェアを単体でテストし(単体テスト)、その結果についてSEが確認します。なお、SEがソフトウェアの単体テストを行う場合もあります。プログラマーに依頼したソフトウェアに不具合があればプログラマーに修正を依頼します。システムを構成するパーツがまとまってきたら、パーツ間のデータの受け渡しや画面の遷移などをテストする(結合テスト)。パーツが揃ったところで、実際のデータを投入し、開発しているシステム全体の動きをテストする(総合テスト)。このテストでは品質管理や情報セキュリティの担当者に協力してもらうこともあります。
既存のシステムを改修し、機能追加、性能向上等を行うことも多く、この場合は開発したシステムに以前のシステムのデータを移し替える等の工程をSEが管理します。
完成して納品したシステムが当初の意図通りに動くかどうか、顧客とともにテストし(受け入れテスト)、不具合があれば修正します。システム導入先に新システムの運用、操作に関する教育を行う(導入)。システムの運用が開始されたら、順調に稼働するよう、また、その後生じた問題の解決やアフターケアを行う(保守・管理)のもSEの仕事です。
大規模なシステム開発の場合、数人のSEで開発を分担して行うこともあるが、中規模、小規模の開発であれば一人のSEで担当する場合も多い。
よく使う道具、機材、情報技術等
クラウドサービス(AWS、GCP)、統合開発環境(IDE:integrated development environment、Visual Studio、Eclipse、Xcode等)、プログラミング言語(JAVA、Python、Ruby等)、データベース(SQL Server、Oracle等)、コラボレーション・ツール(Microsoft SharePoint 、Microsoft Teams、 Google Workplace)、サーバー、パソコン、表計算ソフト(Excel、GoogleGoogleスプレッドシート等)
実際にどんな作業をするの?
厚生労働省「job tag」のアンケートをもとに、実際にこの仕事をしている人が「やっている」と答えた作業を実施率の高い順に紹介します。
- システムを構成するパーツがまとまってきたら、パーツ間のデータの受け渡しや画面の遷移などをテストする(結合テスト)。(実施率 97%)
- パーツが揃ったところで、実際のデータを投入し、開発しているシステム全体の動きをテストする(総合テスト)。(実施率 97%)
- 完成して納品したシステムが当初の意図通りに動くかどうか、顧客とともにテストし(受け入れテスト)、不都合があれば修正する。(実施率 97%)
- 要件定義をもとに、データベースの設計や外部システムとの連携、画面構成などを固めていく(基本設計)。(実施率 95%)
- 基本設計をもとに、システムで扱うデータ形式やファイル形式、詳細な内部処理方法などを決定し、処理の流れを細分化した設計書を作成する(詳細設計)。(実施率 95%)
賃金・労働条件はどうなの?
厚生労働省の統計データによると、システムエンジニア(受託開発)の年収は578.5万円、平均年齢は37.1歳、月間労働時間は159時間です。
有効求人倍率は2.57で、求人賃金(月額)は35.2万円となっています。
未経験からシステムエンジニア(受託開発)になるには?
入職にあたって、特に学歴や資格は必要とされないが、大卒や大学院卒(修士)が多く、高専卒もいます。理系のイメージが強いが文系も多い。入職時に必要ではないが、仕事をしながら、基本情報処理技術者試験や応用情報技術者試験を受ける者もいます。
新卒入社の場合は、入社後の3~4ヵ月は新人研修を受けて、社会人として仕事をするためのビジネススキルやSEに求められるDX技術の知識を習得します。研修を終えて配属され、2年ほど開発の現場でOJTにより実践力や応用力を身につけていきます。その後の研修は担当する仕事に必要な研修をテーマに沿って受けていきます。
最初は与えられた開発の一部を担当し、一般的には3年目頃には一人で詳細設計を書けるようになります。5年目頃には基本設計を含め開発全体ができるようになります。
新卒でそのままSEになる人も多いが、プログラマーとしてプログラム開発などの経験を積んでから、なる場合もあります。また、IT以外の様々な業界の経験や知識も生かせることから、他業界からの転職者も比較的多い。
キャリアパスとしては、顧客の業務を分析でき、情報システムの基本設計を行えるようになると、開発チームのリーダーとして仕事の管理も行うようになります。その後は、大規模なシステム開発を任され、プロジェクトマネージャやプロダクトマネージャとなり管理職になる場合と、技術力を生かして営業などとなったり、セキュリティなど特化したスペシャリストになったり、IT分野のコンサルタントのような仕事をする場合もあります。
SEになるには、情報システムの技術と知識、対象となる業界の業務に関する詳細な知識が必要です。また、開発を進めていくためには全体を見通せる構想力、問題を発見し解決する能力、状況の変化に対応する柔軟性、開発プロジェクトを推進するマネジメント力が求められます。社内外の年齢も経歴も異なる様々な人と接し、意見交換する場面が多く、コミュニケーション能力が非常に重要であり、チームワークが強く求められます。専門分野に閉じこもることなく幅広い好奇心を持って情報収集し、自ら新技術や関連知識を習得し、新しいことにチャレンジする気持ちが必要です。また、トラブルやプレッシャーに冷静に対処できることも求められます。
関連する資格
- 基本情報技術者
- 応用情報技術者