会社の基幹システムがWEB化されると、フロント部分を担当するWEBデザイナー、WEBエンジニア、WEBディレクター、等の職種が生まれました。
バックエンドを担当するシステムエンジニア、プログラマも存在します。
実際にシステムを稼働させるには、DBエンジニア、ネットワークエンジニア、インフラエンジニア、などの職種の人も必要になります。
IT業界における職種や役割など階層構造について紹介します。
ピラミッド型のヒエラルキー構造なんて言い方もします。
この記事の内容
IT業界のヒエラルキー
ITの仕事というとプログラマをイメージする人が多いと思いますが、システムエンジニアを名乗る人が一番多い印象です。
職種に応じて役割があるだけなのですが、不思議と序列が付いてしまいます。
プログラマよりシステムエンジニアの方が立場が上だったり、システムエンジニアよりプロジェクトマネージャーが上だったりします。
職種と、会社での役職がリンクしている場合が多いので序列になってしまいますが、システムエンジニアとプログラマは役割が違うだけで、どちらが偉いというのは無いと思っています。
ただ、新人はプログラマから仕事を始め、経験を積んでシステムエンジニアになるというキャリアパスが私の世代にはありました。
仕事を受注する時は、プログラマよりもシステムエンジニアの方が単価が高いので、ひとりでも多くシステムエンジニアとして開発現場に派遣したいという経営判断が入ってきます。
同じシステムエンジニアの仕事をしていても、元請け企業のシステムエンジニアと、下請け企業のシステムエンジニアでは上下関係ができてきます。
IT業界は、典型的なピラミッド型のヒエラルキー構造なので、下請け、孫請け、ひ孫請け、と仕事が上流から下流に流れていきます。
元請け企業の社員がプロジェクトマネージャーやシステムコンサルを行い、下請け企業の社員がシステムエンジニアを受け持ちます。
プログラマーは孫請け企業の社員が行い、下流にいくほど作業単価は下がっていきます。
元請け企業が働き方改革で定時退社したとして、下請け企業も同じとは限りません。
転職する時は、元請け企業なのか下請け企業なのか、受託開発なのか自社開発なのか、よく調べる必要があります。
POINT!
- IT業界は典型的なピラミッド型のヒエラルキー構造
- 転職する時は上流工程か下流工程か、よく調べること
システムエンジニア(SE)とプログラマ(PG)の違い
システムエンジニア(SE)は、システムの開発や設計を行う人です。
プログラマ(PG)はSEが設計した仕様書に基づいてプログラムを作る人です。
オフコンの開発をしていた時代は役割がハッキリ分かれ、分業していました。
システムはプログラムの集まりで、JCLを使って連携させます。
プログラムは、基本的に「入力 ⇒ 処理 ⇒ 出力」の構成で出来ていました。
オフコンでは入力と出力が切り離されていたのですが、WindowsなどGUIベースのシステムが主流になってきて切り分けが難しくなってきました。
処理が切り分けできなくなってくると、役割分担があやふやになります。
今でもSEがキッチリ仕様書を書いて、PGがプログラムソースを書く工程で開発しているプロジェクトもありますが、私が関わっているプロジェクトでは、SEもPGも切り分けられていません。
小規模の開発の場合は、フロントエンドもバックエンドも関係なく行われるので、ひとりの開発者が全てを行っています。
基本のパッケージがあり、そこから必要な処理を追加していく形で発展させているので、仕様書でどんな処理が行われるのか確認するのではなく、画面や出力結果を見て、そこに追加して欲しいことを依頼しています。
やりとりのほとんどは口頭なので、システムの品質も低くなります。
最低限のやりとりはメールで残しているので、言った、言わない、の争いは少ないのですが、1箇所変更すると2箇所バグが発生するような感じです。
しかし、修正も早く、必要な機能が素早く追加される利点があります。
大手企業や銀行などのシステムだと、こんな開発手法は使えないでしょうね。
POINT!
- SEとPGの切り分けはオフコン時代からあった
- 今は切り分けられない開発手法も多い
プロジェクトマネージャー(PM)とコンサルタントの違い
大規模なシステム開発になると、SEやPGをまとめる立場としてプロジェクトマネージャー(PM)という人が出てきます。
PMはプロジェクト全体の進捗を管理したり、顧客企業との折衝を行ったりします。
顧客企業側にも開発企業側にもPMがいて、お互いに協力しあいながらプロジェクトを進めていく場合もあります。
一方、コンサルタントという人もプロジェクトにアサインされる事があります。
多くの場合、コンサルタントは、システム開発というようりも業務改善のサポートが役割なのですが、業務改善としてシステム開発が絡んでくる事が多いため、プロジェクトにアサインされます。
システムコンサルタントは、ビジネスの業務課題を解決するためのソリューションとしてシステムを提案します。
ERPの導入などでは、導入手法のテンプレートを持ち込んでくるので、現場でヒアリングしたり、結果を検証したりとSEのような事も行います。
外資系のコンサルティング会社は大手企業からの元請け企業になる事が多く、そういったプロジェクトはコンサルタント主導で行われます。
POINT!
- PMはプロジェクト全体を管理しSEやPGをまとめる立場
- 統合パッケージソフト導入はコンサル主導が多い
社内SEに転職してキャリアアップする
中小企業のシステム開発だと、大手SIerが関わる事は少ないと思いますが、大企業のシステム開発には、NTTデータや富士通といった大手SIerが元請け企業として仕事を受注します。
IT業界と建設業界は似たような構造になっていて、大手SIerが元請けになり、下請け企業に仕事を回しています。
大企業が発注する大規模システムは、プロジェクト総額が何百億円になることもあります。
必然的に受注する企業も大企業になります。
政府の仕事を請け負う「電通」のような感じです。
予算の管理と作業の割振りが主な役割です。
そのため、元請け企業の社員は新入社員の頃からPMとしてプロジェクトに参加する事が多く、下請け企業の社員はいつまでたってもプログラマーという事も珍しくありません。
もし、あなたがプログラマーを飛び越えて、いきなりIT業界で仕事をしているとしたらこの本をオススメします。
⇒ 『プログラマーとお仕事をするということ』
プログラミングを勉強して、フリーエンジニアとして独立したいと思っている人は、元請け企業に就職しても難しいかも知れませんね。
私が所属していた事がある大手SIerは、新入社員がプロジェクト管理の仕事ばかりするため、開発力が著しく低下してしまい、下請け企業からないがしろにされるようになりました。
これではいけないと新入社員のプログラミング研修が始まりました。
研修を受けたはずの新入社員ですが、現場で開発経験が積めず、IT企業なのにプログラミングできない社員ばかり増えていました。
私が退職した後、どうなったのか知りませんが、IT業界と言っても規模や仕事の内容は様々なので、自分のキャリアをどうしていきたいのかよく考えて、転職先を選択したいですね。
POINT!
- 大企業は大手SIerにシステム開発を依頼する
- 大手SIerでプログラミングできない社員が増えていた
システム開発を依頼する企業の社内SEがIT職種のヒエラルキーを飛び越えて最強と言う噂もあります。