ようこそ。睡眠不足なプログラマのチラ裏です。

絵に描いた餅

IT業界の肩書きとして、 主にプログラマ(PG)とシステムエンジニア(SE)がある。
これは役職ではなく役割である。


プログラマというのは、 システムに要求される用件を考え、
コンピュータにわかる言葉(高水準言語or低水準言語)を使ってプログラムを組む人のことです。
システムエンジニアというのは、お客さんのニーズに合わせて、
どういうシステムを作ればいいか考え、 設計を行う人のことです。


SEという仕事は、基本的にプログラマの仕事を包含します。
なぜなら、技術を知らないSEは、技術の本質を捉えたシステム提案をすることができないからです。
確かにプログラミングの知識は必須ですが、かといってプログラマほどマニアックさは要求されません。*1
SEは業務を調査・分析し、コンピュータシステム化の設計とその細かな仕様を決めます。
お客さん対応、ハードウェアの仕組みやソフトウェアの構築、
スケジュールの管理、また業務全般に渡る幅広い知識とプロジェクトの経験が要求されます。


そういう意味で、SEはPGの上級職とみなされるべきだし、
実際この業界ではそうみなされていることが多い。
だがしかし、現場ではプログラマの仕事を包含していない(できていない)
SEが圧倒的大多数なのが実情である。これではとても上級職とは呼べないだろう。

この業界で仕事してずいぶんと経つが、驚いたことに、
尊敬できる「本物のシステムエンジニア」には、数えるほどしかお目にかかったことがない。
要するに、PGに尊敬されるような「カッコイイSE」ってのが本当に少ないのである。
これはIT業界にとって、由々しき問題です。
まあ、逆にSEに尊敬されるような圧倒的な実力を持った
「カッコイイPG」という存在も本当に少ないから困りものなんだが(苦笑)


今のIT業界において、仮に完璧なSEが完璧な仕事をしたとして、
どんなにそのドキュメント上の設計が優れていたとしても、
プログラマがいないことには、何も始まらない。設計書なんてただの絵に描いた餅。それだけは真実。
そしてまた、その逆も然りです。お互いがお互いの仕事(役割)を認めあわないことには、この業界に進歩なし。

*1:プログラマほどのマニアックな知識があるにこしたことはない。SEってのは、本当はプログラマを圧倒するくらいのプログラミング知識を有しているほうがベストなんですけどね。