ソフトウェアエンジニアって評価は低い?

実際、生活レベルは底辺だが。。。(汗

セミナーとかでソフトウェアエンジニアというとすこぶる反応がうさんくさい気がする(汗
いやぁ、結構自分の店や会社でオーダーメイドシステムを使っている人が多いのだが、大抵トラブルで動かなくてひどい目にあったことがあるのだ。

ソフトウェアは作ったら作ったでチェックする項目が大変多い。もし考えられるパターン全てをチェックすると、ちょっと複雑なIFを作るとあっという間に何万何十万にもなる。

考えられるパターンだけではなく、知恵と知識と根性を総動員しても思いつかないパターンも大量にあるというのがソフトウェアだ。

自分が昔作ったものなんか(一番複雑な)一画面だけ見ただけでも100万以上のパターンを超えていた。システム全体での画面数は300を超える。。。総チェックは無理!!1000人くらい投入したらいける?それでも出来ないだろうな。。。正直言ってコストを考えると全てをチェックして納品することは不可能なのである。実際全てのパターンをチェックして納品したことがある会社は0なんじゃないだろうか?(単純なもので環境を絞り込んでいるものは別)

聞くと退職後も無事動いているようでよかった。。。

ソフトウェアの世界は職人芸の世界である。昔から言われていたことだがまだまだ解決されていないのを感じる。バグを0にするのは不可能と言われている世界だが、言い方を変えると不具合が必ずあると言われる工業製品は他にないだろう。。。(汗

本当に作る人によって品質が全く違う。品質の悪いものを作る人は解決する力が無い。いつまでもバグの連鎖が続く。。。

どこかの銀行のシステムだが、多額のお金と6000人も投入してすごく単純なミスをしている。これは恥ずかしい部類の例だが、6000人でも見つけられないのだ。恥ずかしいといっている自分より賢い人間はすごく大量にいるだろうに。。。

何か初めて使う処理があったら、技術者が張り付けになって異常がないことが無いことを確認して帰る事もよくあることだ。初めてトイレを使うからと言ってトイレの前に張り付く建築士はいないだろう。

また受託業務ソフトウェアの仕様抜けに関して言うと、その開発はお客様との共同作業だ。
エンジニアはその会社の業務を全く知らない上に、誰に教えるよりも覚えが悪いパソコンに1から100まで教え込まなければならない。

つまりお客様がエンジニアに100まで理解させなければ、パソコンが100までやってくれるわけが無い。抜けていた部分が仕様変更になり無理な拡張作業になる。
あまりにも多いと作っている本人も理解不可能なコードが出来上がる。理解不能なものがまともに動くわけが無い。

会社の業務を教えるのを伝言で行うようなものだ。伝言ゲームで順不同で業務の流れを説明されても末端(パソコン)は混乱してしまう。

そこでリファクタリング(全く同じものを綺麗に作り直す)とかがあるのだろうが、リファクタリングをちゃんとしているところはあるのだろうか?聞いたことが無い。
増築工事が重なって継ぎ接ぎだらけになったからといって、建物全体を作り直す建築士はいないだろう。リファクタリングという概念があることが異常なんだろう。

自分はソフトウェア作成はお客様との共同作業です。といって来た。
なかなかそれを理解してくれる人は少ない。
技術者が業務について時にはくだらない事も根掘り葉掘りしつこく聞かなければならないのだ。そりゃ、担当も嫌になるほど。。。

バグや仕様抜けを出さないためには、コードを書く時、あらゆるパターンを想定し慎重に書くことと、お客様とのコミュニケーション力が必要なんだろう。。。

仕様抜けやバグを0に限りなくすることは、見積もりと同じく不可能に近い。。。不可能なことばかりやっているんだなぁ(笑
土台にもバグはあるしね。。。
昔はこの俺様がバグなんか出すわけ無いじゃないか!!と思っていたんだよなぁ。。。若かったしアホだった(笑
今もアホだろうと言う突っ込みは無しね。。。

といっても、今日のセミナー参加者に聞いた事例は酷すぎるが。。。何でブログで弁明しているんだろう(汗

現在、前から興味を持っていたエラスティックレイアウトにチャレンジ中。。。
雛形拾ってきたから楽チン楽チン

やっぱりデザインを本格的に勉強するべきかなぁ。。。
あちこちでWebページの需要多いねん。。。
画像処理は出来てもペイントソフトで画像作ることが出来ません(泣
ふっくんのブログっぽいサイト: ソフトウェアエンジニアって評価は低い?
http://web.fpso.jp/article.php/20080601230042994