ITエンジニアとSE・プログラマーの違いを考えてみた
ソフトウェア技術者の名称として、
- ITエンジニア
- SE(システムエンジニア)
- プログラマー
など様々な呼び方がありますよね。
感覚的には、プログラマー・SEよりもITエンジニアの方が後から出てきた新しい言葉のように思います。
私がプログラマーとして仕事を始めたのは2000年で、当時はプログラマー・SEという言葉が主流でした。今はITエンジニアという言葉がよく使われていますよね。このブログも「やまろうの”ITエンジニア”仕事術」ですし(笑)
それぞれの呼び方によって、対象とする仕事や業種の範囲、ニュアンスなどが微妙に違うので、その違いを紹介します。
プログラマーとSEの違いを単価の違い?
大雑把に言うと、
- プログラマー = コードを書く人
- SE = 設計する人
という分け方ができます。
とはいえ、プログラマーでも設計をする人、SEでもコードを書く人はいます。
「なら、分ける必要ないじゃん?」と思うのですが、これにはビジネス的な都合があります。
SIerなどのエンジニアを派遣するビジネスをやっている会社の都合です。
よくあるエンジニア派遣の契約は
- プログラマーを一名、ひと月派遣すると60万円
- SEを一名、ひと月派遣すると80万円
といったものです。
20万円も金額が違います。なぜでしょうか?
「SEの方が高度なスキルを持っているから」ということにしてあるからです。
「コードを書くより、設計をするほうが高度なスキルを必要とするので、SEの方が高い報酬を頂きます」と言う主張なんです。
先程も言った通り、プログラマーも設計をするし、SEがコードを書くこともあります。
つまり、SIerが顧客に高い報酬を要求するために分ける必要のないものをあえて分けているのです。
一方、ITエンジニアはというと、
ITエンジニアってなんだろう?
ITエンジニアの方がプログラマー・SEよりも範囲の広い言葉です。
プログラマーもSEもITエンジニアの一種ですからね。
それにITエンジニアには、アプリケーション開発をする人だけでなく、インフラエンジニアも含まれます。
それだけじゃなく、ハードウェアのエンジニアも含まれます。ITエンジニア転職フェアのようなイベントではハードウェアエンジニアを求人している企業も参加してますからね。
ですから、ITエンジニアとは、広い意味でコンピュータ技術者の総称だと言えます。
ただ、SEという言葉がSIerの中で使われている言葉であるのに対して、ITエンジニアは自社プロダクト・サービスの会社で使われているニュアンスもあります。
実際、私が自社サービス系の会社で仕事した際にSEという言葉が出ることは一度もありませんでした。
SIerのメンバー構成とサービス開発のメンバー構成の違い
SIerのプロジェクトメンバー構成って、
- プロジェクトマネージャー → プロジェクトを管理する
- ITコンサルタント → システム化構想を作る(場合によっては要件定義、設計もする)
- SE → 要件定義、設計をする(場合によってはシステム化構想を作る、コードを書く)
- 基盤SE → インフラを構築する
- プログラマー → コードを書く(場合によっては要件定義、設計をする)
- テスター → テストをする
- 運用担当者 → 運用オペレーションをする
こんな感じです。なんだか「場合によっては○○する」が多いですよね。
それに対してサービス開発のメンバー構成は、
- プランナー → サービスの企画・仕様を考える
- デザイナー → サービスのデザインを作る
- プログラマー → サービスを実装する
- インフラエンジニア → サービスのインフラを構築する
- テスター → テストをする
- 運用担当者 → 運用オペレーションをする
会社によってはプランナーをプロデューサー、ディレクターのような別の呼び方をする場合もありますが、大方こんな感じです。
こちらは職種名がそのまま役割をシンプルに表しています。「場合によっては○○する」みたいなのがありません。
それに対してSIerチームでは、ITコンサルタントとSE、プログラマーの役割がかぶってますよね。
これまた、顧客に請求する単価の論理なんです。プログラマーよりSEの方が単価が高いのは先程説明しましたが、SEよりコンサルタントの方がさらに高い金額を要求できるんです。
まとめ
- ITエンジニアはコンピュータ技術者の総称。
- プログラマーとSEは仕事内容の境界はあいまいだが、顧客企業に要求する単価が違う
っということで、お金の話でしたね(笑)