ところで、SEさんが日ごろ行っているシステム開発って、なにやってるんでしょう?
プログラムを作ってる?
設計とかいうわけわかんないことやってる?
クライアントと打ち合わせしてる?
この業界人じゃないと、よくわからないと思います。
で、実際何やってるかというと、
クライアントと打ち合わせして、設計してプログラムを作ってます。
……たぶんこの答えじゃだめですよね?
基本的に上の通りなんですが、たぶん内情をしってるひとと知らない人で、大きな誤解があるのだと思います。
SEとかいう得体のしれない人が作っているのは「生モノ」です。
よく就職活動中の学生なんかは、システムというのはものすごい完璧であるかのような幻想を抱いていますが、それは大きな間違い。
われわれSEは、クライアントからお金をもらってご飯を食べています。
クライアントは、作ってほしいものに対してお金を払います。
作ってほしいものはITの力を使った何かです。
つまり、クライアントが完璧じゃない限り、完璧なものはできないのです。
で、やっていることといえ、プログラムを作るということよりも、「クライアントが何が欲しいか」を分析し認識して、伝えること。
他人の頭の中をのぞいて、他人に伝える。
ただそれだけなんですが、それが以外に難しい。
(だからごはん食べていけるんですけどね)
あひるも含めてほとんどの人は、自分が何が欲しいかをわかってません。
わかっていたとしても、当事者でさえ、他人にきれいに伝えることはできません。
(たとえば、欲しいものを固有名詞を使わずに表現してみると、難しいことに気づくと思います。 小麦粉を練って細く切ったあとに茹でて、しょうゆベースのスープをつけて・・・ラーメン? いえ、和風パスタです。)
ある意味で、哲学と認知心理学の世界です。
そして、それさえわかればしめたもの。
あとはその通りにプログラムを作れば完成。
結局はプログラム作りというよりは、心理カウンセラーに近い職業なのかもしれません。
最近やたらプログラム(だけ)を作れることを売り込んでくる若い人が多いので、書いてみました。
参考になればいいな。