ホーム / コラム / しごと図鑑 / システムエンジニア(Webサービス開発)
SHIGOTO COLUMN

システムエンジニア(Webサービス開発)とはどんな仕事?未経験から就くには?

📚 技術・エンジニア

Webサービスをチームで設計し、開発する。

中卒・高卒・第二新卒の転職相談、無料で受付中

LINEで無料相談する

システムエンジニア(Webサービス開発)とはどんな仕事?

Webサイトでのサービスをチームで設計し開発します。Webサイトは企業や団体のホームページや情報提供サイトから始まり、情報が固定的に表示されるWebコンテンツが多かったが、プログラムと連動してサービスを提供するものが多くなり、そのようなWebサイトが一つの「製品(products)」として提供されています。

具体的な仕事としては、社会に求められるWebサービスをチームで検討し、求められる機能を考え、どのようなWebサイトにするか決めていく(要件定義)。既に提供されているWebサービスがあり、それをどのように改善していくかといった開発も多い。要件定義をもとに、提供する画面の内容や機能、データベースの設計や外部システムとの連携(API他)などを固めていく(基本設計)。基本設計に従い、具体的な画面構成や提供する機能の詳細、内部処理の方法などを決め、画面と処理の流れを明確にした設計書を作成する(詳細設計)。新規に作成が必要なソフトウェアは詳細設計に基づきプログラマーに依頼するか、設計者がプログラミングを行う場合もあります。

どのようなWebサービスにするか(「要件定義」)はプロダクトマネージャが担当したり、プロダクトマネージャと共同で検討を行います。Webでは画面デザインが重要なため、Webデザイナーが画面デザインを担当することが多い。Webデザイナーとの検討で画面を検討し、試作された画面デザインをチェックし、デザインが決定した後に開発しているWebサイトに取り込みます。このように開発はプロデューサー(プロダクトマネージャ)、デザイナー等から構成されるチームで行われます。開発ではエンジニアやデザイナーが複数となり、全体で4~6人で開発することが多い。開発環境が整備された今日、大規模な開発チームでなくても、かなりのWebサービスを開発できます。開発では定期的に開発チームでミーティングを行うが、情報共有、進捗管理等にはコレボレーションツール(Slack他)が用いられます。

最近の開発ではアジャイル開発の手法が多く用いられます。この場合、最初に大まかな全体のプロトタイプを作成し、その後、より細かい画面、より具体的な機能を作っていきます。

アジャイル開発の中でも、プログラマーが開発したソフトウェアはモジュール、あるいは画面単位でテストする(単体テスト)。作成したソフトウェアに不都合があれば、それを修正します。システムを構成するモジュールや画面が揃ってきたら、外部システムとの連携や各画面間の遷移などをテストする(結合テスト)。全ての要素が揃ったところで全体の動きをテストする(総合テスト)。このテストではあらかじめ設定された品質管理や情報セキュリティの基準をクリアする必要があります。Webサービス開発の最終段階で、想定される利用者にモニターとして使用してもらい、使い勝手や問題点を洗い出す(ユーザビリティテスト)。リリース前には最終テストを行い、不具合や改善点を修正します。

開発においては様々な問題が生じたり、開発したWebサービスでエラーが起こる場合があります。多くの場合は、エラーメッセージやプログラムのソースコード等を確認することで、原因の追求と修正ができるが、インターネットなど様々な情報で解決方法を検討することもあります。様々な技術が生まれ、その進展が急速なため、冊子からの情報よりもインターネットからの情報が有用なケースが多い。

今日、Webサイトはパソコンからよりもスマートフォンから利用されることが多くなっています。スマートフォン用に別のプログラムを開発したり、スマートフォンからも共通に利用できる画面や機能を開発します。このようなスマートフォンからの利用に関しても検討し、設計、開発に盛り込みます。スマートフォン自体のアプリ開発は「ソフトウェア開発(スマホアプリ)」(別掲職業)として行われます。

開発したWebサービスの運用や操作に関する教育を、サイトの運用を行う者に行う(導入)。Webサービスの運用は別会社となることも多い。Webサービスが公開されたら、問題なく順調に稼働するよう、その後生じた問題の解決やアフターケアを行う仕事もある(保守・管理)。

以前はサーバを設置し、その上にWebサービスを開発したが、最近はクラウド上にWebサービスを開発することが一般的になっています。

<就業希望者へのメッセージ>

Webのおもしろさは、場所や人数の制約なくサイトを 使ってもらえるところにあります。いろいろな場面で、たくさんの人に使われるWebサービスを開発する仕事に、エンジニアとしてやりがいを感じます。(就業者 20代)

よく使う道具、機材、情報技術等

クラウドサービス(AWS、GFS)、OS(オペレーティングシステム: Linux)、Web画面作成のソフトウェア(HTML、CSSを含む)、プログラミング言語(JAVA、Python、Ruby、GO言語、等)、サイト構築ソフトウェア(Apache)、データベース(SQL Server、MySQL、PostgreSQL、Oracle、等)、API、コラボレーションツール(Slack他) 、パソコン、スマートフォン

実際にどんな作業をするの?

厚生労働省「job tag」のアンケートをもとに、実際にこの仕事をしている人が「やっている」と答えた作業を実施率の高い順に紹介します。

  • 新規に作成が必要なソフトウェアを詳細設計に基づきプログラマーに依頼する。(実施率 89%)
  • 新規に作成が必要なソフトウェアを自分で作成する。(実施率 89%)
  • 開発中に問題点等があればそれを修正する。(実施率 89%)
  • 開発での問題点、疑問点に関してインターネットで情報収集する。(実施率 89%)
  • 新規に作成したソフトウェアの単体テスト、結合テスト、総合テストを行う。(実施率 87%)

賃金・労働条件はどうなの?

厚生労働省の統計データによると、システムエンジニア(Webサービス開発)の年収は578.5万円、平均年齢は37.1歳、月間労働時間は159時間です。

有効求人倍率は2.57で、求人賃金(月額)は35.2万円となっています。

未経験からシステムエンジニア(Webサービス開発)になるには?

入職にあたって、特に学歴や資格は必要とされないが、大学、専門学校、高専等でコンピューター関係を学んできた者が多い。興味があり学生時代から自分でスキルを身に着ける人もいます。

新卒者は座学やOJTによって開発のスキルを学んでいきます。要件定義、基本設計、詳細設計、開発、稼働開始後のサポートまでができるようになると、Webサービスを一人で作り上げることができるだけでなく、チームで開発するときもその能力を発揮することができます。若い社会人が職業訓練などを経て転職してくるケースもあります。経験や実績がある人を中途採用する場合もあります。

Webサービスに関わるプログラミングとしてはPHP、JavaScript、Rubyなどの言語が用いられることが多い。また、Webサイトの開発ではサーバのOS(オペレーティングシステム)であるLinux、Webサイトの機能を実現するApache、データベースのMySQL、PostgreSQL、また、プログラミング言語の知識が必要となります。今日では開発においてセキュリティに関する知識も重要になっています。

開発に関する細かな情報や最新の情報は、日本語の情報もあるが、英語で書かれたWebサイトや英語のコミュニティで得られることもあります。そのため、英語の読み書き能力が開発には必要となります。

Webサービスでは日々、新しい機能が生まれ、開発のための技術も日進月歩です。常に情報収集し、スキルや技術を磨き、仕事をしていく積極性が求められます。

転職のこと、一人で悩まないで。

学歴・職歴不問。まずは話すだけでOK。無料で相談できます。

LINEで無料相談する