se(システムエンジニア)とは?プログラマーとの違いは?
se(システムエンジニア)とは、コンピュータを動かすためのソフトウェア、ハードウェアを組み合わせ、コンピュータシステムを設計する技術者のことをいいます。
プログラマーはプログラム言語を用いてプログラムを組み、ソフトウェアを作る仕事です。
プログラマーは、seの仕事のプログラミングに関する作業を行う人のことを言い、seの仕事の一部がプログラマーの仕事となります。
よって、seとプログラマーは、別という訳では無く、seがプログラミングも行う場合は、多々あります。
しかし、プログラミングの仕事というのは、比較的経験の浅い新人が担当することも多く、そのような時、新人はプログラマーと呼ばれ、seとはいいません。
以下に、システム開発の作業工程を、標準モデルを例に説明します。
開発標準化プロセスの解説
要件定義(システム方式設計)
エンドユーザの現状業務やシステムを分析し、業務要件とシステム化要件を定義する。
基本設計(概要設計)
入出力に関する機能設計。
具体的には、画面設計、帳票設計、データベース設計等
詳細設計(システム構造設計)
基本設計で決まった機能を、プログラムレベルに分割。
それぞれのプログラムで実現する機能を定義。
プログラム設計
詳細設計において機能ごとに分割したプログラムの構造や処理手順を、詳細に設計。
プログラミング
プログラム設計書を元に、プログラムを作成。
単体テスト
作成したプログラム単体をテスト。
結合テスト
関連するプログラムの連結テスト。
システムテスト
システム全体で検証するテスト。
運用テスト
エンドユーザが実務データに基づいて検証するテスト。
運用保守
開発終了後、本番稼動後の障害対応、ユーザの追加要望に対しての対応、システムの運用・保守
se(システムエンジニア)仕事内容
上記の開発プロセスの全てが、se(システムエンジニア)の仕事です。
その中で、プログラム設計・プログラミング・単体テストが、プログラマーの仕事となります。
他のフェーズ(工程)でも、プログラマーはseの指示の元、作業に参加します。
プログラマーの仕事というのは、最も面白い部分でもあります。
大半の人が、プログラマーの部分の仕事をしたいと思いながら、システム開発業界を目指して来るのだと思います。
実は、私もそうでした。
しかし、そうはいかず、年数を経るに連れて、徐々に上位工程を身に付けさせられることとなります。
se(システムエンジニア)の仕事というのは、上位工程になればなるほど、エンドユーザーとの打ち合わせが欠かすことができない工程となります。
エンドユーザーとの打ち合わせが、密になるほど考え方のすれ違いが解消され、よりスムーズに下位工程を勧めることができます。
下位工程を消化する際、上位工程の問題が露出すると、再度上位工程にフィードバックしなければ(戻らなければ)ならないので、漏れや考え方のすれ違いは厳禁です。
エンドユーザーとの打ち合わせは、コミュニケーション能力が求められ、コミュニケーション能力に欠如しているseは克服しなければ致命傷となります。
ベテランのプログラマーの席は少ない
プログラマーには、コミュニケーション能力が欠如している人が比較的多い、ということが言えます。
それは、先ほどもいいました通り、se(システムエンジニア)の仕事というのは、コミュニケーション能力が必須だからです。
そのため、コミュニケーション能力に欠如している人は、se(システムエンジニア)の工程には参加することができず、プログラマーの工程に専念することになります。
プログラマーの仕事というのは、先ほども申しましたが、比較的経験の浅い新人が担当することが多い工程です。
しかし、プログラマーの仕事と言っても、その難易度はさまざまで、難しいものから簡単なものまで色々です。
難しいものが入ってそこそこの新人にできるかというと、それは無理な話で、そのようなものはベテランのプログラマーやseが担当することとなります。
しかし、最初は比較的経験の浅い新人も、徐々に実力を付けてくるので、仕事自体が少なくなるような世界でもあります。
ベテランのプログラマーの席が、いつまでも空いているかというと、それはあり得ないことです。
se(システムエンジニア)の仕事現場
se(システムエンジニア)の仕事現場は、その開発規模にもよりますが、大きなフロアーに色々なコンピュータ関連会社のseが出向して作業に当たる場合が多いです。
大元の会社が、開発現場を確保するのですが、現場はその開発会社の自社ビルであったり、エンドユーザーのビルを借りたり、全然関係ないビルを借りたりして確保しています。
なので、そのシステム開発に従事する関連会社のseは、みんなその現場に出向をして作業にあたることになります。
出来る限り大きなフロアーに、各会社のseが一斉に出向して作業に当たるということは、確認事項はすぐに確認できるような環境を確保することに重点を置いているからです。
se(システムエンジニア)の契約形態
se(システムエンジニア)の契約形態には、派遣ベースと受託ベースがあります。
派遣ベース
派遣ベースというのは、現場に派遣をして指定された作業を行う、契約形態です。
1ケ月幾らという料金形態なので、1か月ごとに請求します。
上位工程は、派遣ベースの契約が多いです。
詳細レベルにまで落とす作業が完了すると、残りの工程を受託ベースの契約に切り替えて、自社に仕事を持ち変えるというケースが多いです。
受託ベース
受託ベースというのは、仕事自体を請け負う契約形態です。
指定された納期までに指定された納品物を納品し、納品が完了した段階で料金を請求します。
開発場所は、特に指定されない場合が多いので、自社に仕事を持ち帰って、経験の浅い新人等に作業を消化させる傾向にあります。
主に、プログラマーレベルの仕事が受託ベースの対象になります。
フリーseの場合、自宅兼事務所で仕事をこなす場合が多いです。
トップページの「se(システムエンジニア)の大半が今の年収(給料)に満足していない」の最下行、「se 年収」押下。