インターネットビジネス最新情報ポータル IBNIP

Webプログラマーとシステムエンジニア(SE)の違いについて考えてみた

Webプログラマーとシステムエンジニア(SE)の違いについて考えてみた

Webプログラマーとシステムエンジニア、どちらもWebシステム開発に関連する職種ではありますが、その仕事の違いはプログラムの完成までの工程にあります。

簡単に言えば、システムエンジニアの仕事は上流工程と言われ、システムを設計する役目を担っています。Webプログラマーの仕事は下流工程と言われ、システムエンジニアが設計した仕様書に基づいて、プログラミング言語を用いてプログラミングを行います。

案件の規模によってはWebプログラマーがシステムの設計まで行うこともあります。

わかりやすく例えますと、新築の家を建てる場合、その土地にどのような家を建てるか考えるのが建築士、その建築士の考えた設計図を元に家を建てるのが大工さんとなりますが、建築士がシステムエンジニア、大工さんがプログラマーとなります。

システムエンジニアの仕事とは

システムエンジニアはSEとも呼ばれ、コンピュータシステムやソフトウェアを設計、開発する役割を担っています。

Webプログラマーと仕事をするシステムエンジニアは、ショッピングサイト、Web予約システム、Webによる業務基幹システムといったWebシステム開発のための設計を行っています。

クライアントの要望を元に、必要となる機能を兼ね備えた設計書を作り、Webプログラマーに渡し、プログラミングの工程の管理やさまざまな指示を出します。

システムエンジニアの仕事の流れ

要求分析

クライアントが必要としているシステムについて、現在の問題点、新たな要望などをヒアリングします。

要件定義

制作するシステムに必要となる機能を定義します。

基本設計

システムの概要を設計します。

詳細設計

必要なプログラムについての詳細設計を行います。

動作テスト

動作テストはプログラマーが行う場合と、システムエンジニアが行う場合とさまざまですが、単体テスト、統合テスト、総合テストとある中で、一部をシステムエンジニアが行う、というような場合もあります。

納品

すべてのテスト、Webプログラマーによるデバッグ完了後、納品、リリースとなります。

システムエンジニアに必要なスキル

コミュニケーションスキル
システムエンジニアはクライアントの要望をヒアリングして、それを設計書にまとめることが重要な仕事になります。

クライアントが現在困っていること、求めていること、またはクライアント自身が気づいていない必要要件を聞き出すことにより、クライアントが求める完成形を導き出すための設計をします。

そのために、クライアントやWebプログラマー、さらにはWebデザイナーやWebディレクター、Webプロデューサーとうまくコミュニケーションを取ることができ、良好な信頼関係を築くことが大切になります。

テクニカルスキル
システムエンジニアはWebプログラマーからキャリアアップする場合が多いので、Webプログラミングを行える場合もありますが、必ずしも必須ではありません。

未経験からシステムエンジニアのアシスタントとして採用され、システムエンジニアとなることもあります。しかし、プログラミング言語についての基本的な知識は必要となります。その他、システム設計や開発の知識、システムの動作テストの知識などが必要となります。

マネジメント能力
システムエンジニアはシステム設計を行い、制作するシステムが完成するまでのプログラム面でのマネジメントも行います。

プログラミングの進捗管理、必要な箇所でWebプログラマーへの指示、動作確認などのシステムの品質管理を行います。

また、クライアントへのプレゼンテーション資料、Webプログラマーへの設計書作成など、文書をわかりやすく作成する能力も必須となります。

Webプログラマーの仕事とは

Webプログラマーとは、プログラミング言語を用いてプログラムを組み、Webシステムを開発する仕事です。

基本的にはシステムエンジニアから渡された設計書を元にプログラミングしますが、すべてのプログラムについての細かい設計が書かれているわけではありませんから、ある程度はWebプログラマーの力量に任されます。

Webプログラマーの仕事の流れ

システムエンジニアが作った設計書に従ってプログラミングを行う

システムエンジニアから渡される設計書に基づいて、必要なプログラミング言語を用いてプログラミングを行います。

動作テスト(単体テスト、統合テスト、総合テスト)

単体テスト、統合テスト、総合テストを行います。案件により、動作テストはシステムエンジニアが行う場合もあります。

デバッグ

動作テストによって見つかったバグの原因を特定し、修正する作業を行います。

Webプログラマーに必要なスキル

プログラミング言語のスキル
すべてのプログラミング言語を、一度に習得する必要はありませんが、スキルアップするに従って新しい言語を習得して行く必要はあります。
    • HTML、CSS
    • JavaScript
    • PHP、Java、Perl、Ruby、Python
    • データベース(SQL)
    • Webサーバー構築(Linux、Apache、Tomcat、MySQL、PostgreSQLなど)
    • その他
コミュニケーション能力
Webプログラマーは、パソコンの前にいる事が仕事のように思われがちですが、案件の規模によってはシステムエンジニアが行うようなシステム設計を行うこともあります。

また要望や動作について、直接クライアントと打ち合わせを行うこともあり、システムエンジニアとのコミュニケーションが必要です。

その他、Webデザイナーとの連携やWebディレクターやWebプロデューサーとのやり取りも行います。

場合によってはプログラムについてわかりやすく説明する必要もありますから、コミュニケーション能力やプレゼンテーションの能力も兼ね備えておきたいものです。

WebプログラマーとSEの年収の違いとは?

Webプログラマーがキャリアアップを考える場合、上流工程と言われるシステムエンジニアが候補に挙がることが多くなっています。年収も一般的にはシステムエンジニアの方が高いようです。

ただし、Webプログラマーであっても、サーバーまで構築できるスキル、セキュリティ対策まで習得しているほどの高いスキルなどを持つようになると、それなりに高い報酬を得ることができます。

そのようなスキルがあれば、クライアントからの依頼だけではなく、自作サーバーを構築して、自作サービスを立ち上げるということも可能になります。
システムエンジニアの場合、システム設計のほかに、「調査分析まで行う」「マネジメントやコンサルティングも行う」というような専門的業務までこなす場合は、上級SEと呼ばれ、通常のシステムエンジニアよりは高い報酬を得ています。