この記事は
- プログラマーやシステムエンジニアになりたいけど、いまいち業界のことがわからない!
- プログラマって人と関わらず黙々と作業できるんでしょ?
- システムエンジニア(SE)とプログラマー(PG)の違いって?
- SESとかSierとかwebとか…よくわからない!
という業界未経験者や新卒レベルを対象に、経験者以外にはわかりにくい「IT・webサービス・システム」開発業界を解説しています。
自社開発or受託開発
まず、大きく違ってくるところは「自社サービスを持っているか」です。
企業の主軸となるような自社サービスが存在する場合は、もちろん業務もそれに付随したものが派生して存在しています。
一方で、受託開発がメインの会社も存在します。いわゆる「SIer」や「SES」もこちらに属します。
受託開発についても詳しくは別記事で紹介しますが、こちらは前者と違って「収益の柱となる自社サービスを持っていない」ことが大きな特徴です。ではどの様に稼いでいるのかというと、顧客の要望を受けてシステムを開発したり、コードを納品したり、または派遣としてユーザ企業に常駐したりしています。
個人的には自社開発or受託開発によって、「社風」や「考え方」が大きく違うと感じます。
自社開発の場合、市場に求められることは「魅力のあるサービスを提供する」ことです。そのために技術力を駆使していかに高機能・高可用なサービスを作成できるかが求められます。また特にweb系では比較的最新の技術を取り入れることに熱心なことが多いイメージです。そのため、社員や社内の技術力は「資産」であり、「主体性」が求められる傾向にあるのではないかと思われます。
対して受託開発が市場に求められることは「顧客のニーズを正しく要望に落とし込み仕様書通りの成果物を納期までに納入する」ことです。このためには主体的な技術力や向上心はむしろ邪魔で「決められた方法で決められたものを作る」技術力が必要ですし、むしろ社内外含む「マネージメント能力」であったり「コミュニケーション力」の方が求められます。また「成果物を収める事」がゴールであり人月での見積もりが基本的なことから、開発者は「コスト」であり技術は「納期短縮要因」なのです。
プログラマーとシステムエンジニア
システム開発の現場では様々な工程を踏みますが、大きく分けると以下の様に分けられます。
- 要件定義
- 設計
- 開発
- テスト&判断
- リリース
会社によってはPGとSEの境界が曖昧なことも多々あります。が、PGといえば主に開発とテスト、SEはその他という認識が多いです。そして基本的には「PGが出世するとSE」という事が多いです。
PGは開発作業が中心であり、とにかくコーディングすることが求められます。
一方でSEは顧客との打合せやPGのスケジュールや進捗の把握、開発に必要な技術やミドルウェアの選定、設計作業などどちらかといえばマネジメントな業務がメインです。
となると職種によって求められることは大きく違ってきますよね。
PGには黙々と作業に打ち込む集中力や仕様書を的確に読み取る能力、後はSEや顧客とのコミュニケーション力が必要ですし、SEにはある程度の技術力にプロジェクト全体を見通す知見や半ば営業職のような立ち回りと、いわゆるゼネラリストな立ち回りが求められます。
プロジェクトマネージャーとは?
案件の規模が大きいと、SEの上位にプロジェクトマネージャ(PM)が存在することもあります。その場合はPMがコストやリソースの管理等を行っていたりと、管理職のような業務を行っているイメージです。
SEより経営層に近い管理能力が求められることから、SEからのキャリアアップとしてPMが存在することが多いです。
向き不向きと適正
上で述べたような区分はテンプレ的なものであり、すべてに当てはまることではありませんが、
業界(web&自社サービスと受託開発)と職種(PGとSE)の2軸でマトリックス的に考えると、結構働いている人間のイメージが違って見えませんか?少なくとも連日一人で黙々とコードを書き続けるプログラマが少数派になることは分かりましたね。
そして現在のIT業界の空気感としてPG→SEへのキャリアアップは王道なため、まず言えることは「人と話すことがとにかく嫌いだからIT系で働きたい!」という考えだと特に受託開発では遅かれ早かれミスマッチしてしまいます。勿論、保険販売員等と比べれば確実に他人と接する機会は少ないでしょうが、日常的にコミュニケーションを必要とする機会が存在すると思っていてください。
どのような職業においても嫌なことはついて回りますが、一方でこの業界のいいところは「創造」と「手に職」にあると思っています。自分が作ったものや関わったサービスが多くの方に利用されることは嬉しいですし、身に着けた技術や知識は思った以上に武器となります。私も副業のために独学で身に着けた技術や知識が本業で活かされたことは多く経験しています。
仕事の幅がとても広いため一概には言えませんが、
- 手を動かすことが好き
- 知的好奇心がある
- 考え込むことが出来る
- 手に職つけたい
- 副業に結び付けたい
という方はどちらかといえば向いているんじゃないかなと思います。
まとめ
IT業界と言ってもかなり多様なことは理解いただけましたでしょうか?
今回解説していませんが、先端技術では研究者的なポジションも勿論ありますし、web系であればデザイナーのような業務だって存在します。今の時代ならゲーム開発も含めてしまっていいかもしれません。
ハマる人間は平日休日区別なくPCと延々にらめっこするような世界です。厳しいところもあれば楽しいところもあります。
このブログでは初心者プログラマ向けの記事もあるので、まずは手を動かすことから始めてみましょう!