GeekFactory

int128.hatenablog.com

プログラミングを自動化できないたった一つの理由

自動車産業を始めとする製造業では高度な自動化が行われているが、ソフトウェア開発は未だ自動化が行われていない。数年前から、SIerの興味は建設業から製造業に移っている。

ソフトウェア開発という「家内制手工業」をせめて「工場制手工業」へ発展させ、ゆくゆくは「機械制大工業」に進化させようという試みの多くも、同様の誤解がベースになっているわけで、「ソフトウェア開発」を「モノ作り」と見なす誤解は、広く蔓延してしまっているのかもしれない。

http://blog.gcd.org/archives/50603640.html

実に広く蔓延している。ホント失望したよ。

自然言語で記述された要件を仕様に落とし込む作業は、人でなければ不可能である。仕様を記述する行為そのものがプログラミングであり、概念を構造化して言語に書き出すことがプログラミングだ。多くの(偉い)人が勘違いしているが、自然言語プログラミング言語に変換することがプログラミングではない。

仕様を記述するには、業務に関する深い知識とコンピュータサイエンスの基礎を理解している必要がある。何のために仕様が必要なのか(What)、どうやって仕様を実現するか(How)の両方が分かる人材が必要だ。どちらかが欠けたのでは、顧客満足と実現可能性のあるシステムは作れない。

地頭力があることによって、そういうハードルって結構クリア出来ちゃう。ここでいう「頭」には知識というのもあって、みんな基本情報処理とか現場では役に立たないって言ってバカにするけど、あそこで得た基礎知識ってのは有機的に繋がってくるとすごい武器になる。

http://d.hatena.ne.jp/NOV1975/20080618/p3

Whatを単価の高い仕事、Howを単価の低い仕事として切り離すことに注力するより、両方のできる人材を育てることに注力すべきではないだろうか。プログラマは業務を理解すべきだし、マネージャはコンピュータサイエンスを理解すべきである。

一瞬でこの推論を考えられるほど頭良くなりたいな。