システムエンジニア(Webサービス開発)
別名:WEB系ソフトウェア開発技術者
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他) 、パソコン、スマートフォン
働く場所・業界
Webサービスを開発・提供するWebサービス会社など(都市部が多い)
なるには
- 入社時に必要な資格
- なし
- 仕事によって必要な資格
- —
- あると有利な資格
- —
- 学歴(働いている人)
- 大卒(85%)/専門学校卒(18%)
なるまでの道すじを読む
入職にあたって、特に学歴や資格は必要とされないが、大学、専門学校、高専等でコンピューター関係を学んできた者が多い。興味があり学生時代から自分でスキルを身に着ける人もいる。
新卒者は座学やOJTによって開発のスキルを学んでいく。要件定義、基本設計、詳細設計、開発、稼働開始後のサポートまでができるようになると、Webサービスを一人で作り上げることができるだけでなく、チームで開発するときもその能力を発揮することができる。若い社会人が職業訓練などを経て転職してくるケースもある。経験や実績がある人を中途採用する場合もある。
Webサービスに関わるプログラミングとしてはPHP、JavaScript、Rubyなどの言語が用いられることが多い。また、Webサイトの開発ではサーバのOS(オペレーティングシステム)であるLinux、Webサイトの機能を実現するApache、データベースのMySQL、PostgreSQL、また、プログラミング言語の知識が必要となる。今日では開発においてセキュリティに関する知識も重要になっている。
開発に関する細かな情報や最新の情報は、日本語の情報もあるが、英語で書かれたWebサイトや英語のコミュニティで得られることもある。そのため、英語の読み書き能力が開発には必要となる。
Webサービスでは日々、新しい機能が生まれ、開発のための技術も日進月歩である。常に情報収集し、スキルや技術を磨き、仕事をしていく積極性が求められる。
向いている人・求められる力
- ほかの仕事より高めに求められるスキル
- プログラミング/カスタマイズと開発/要件分析(仕様作成)/設置と設定/クオリティチェック
- 興味のタイプ
- 現実的/研究的
- 大事にされる価値観
- 専門性/自己成長/達成感
- 雇用形態
- 正規の職員、従業員(76%)/自営、フリーランス(20%)
会社や求人を探す
- 業界の会社を探す
- 求人を探す
- ハローワークインターネットサービスで探す フリーワードに「システムエンジニア」、または職種で「ソフトウェア開発技術者(WEB・オープン系)」を選ぶと見つけやすくなります。
公的機関や業界団体が公開している一覧・検索への入口です。特定の会社をすすめるものではありません。
関連する仕事
求められるスキルや知識が近い仕事です。
本で調べる
「システムエンジニア」に関する本を探せます。
広告リンクです(このサイトの収益について)。