ソフトウェア工学は、知識や技術を体系化することには成功している。だけど、属人性の排除はまるっきりできてない。 たとえばオブジェクト指向を考えてみるとよい。オブジェクト指向という考え方は、プログラミング言語においても設計方法論においても大きな影響を与えたし、ソフトウェア開発においても大いに役立っている。またデザインパターンなどは、まさに知識を体系化したものの例としてふさわしい。 しかしオブジェクト指向が広まることで属人性が排除されただろうか? 誰もがよいクラス設計を行なえるようになっただろうか? 現実は逆だろう。一握りのできる人たちは美しいまでのクラス設計を行なうが、多くの人は汚くて複雑なクラス設計しかできていない。つまりオブジェクト指向が広まるにつれ能力差と属人性は拡大していった*1。 これには 2 つ理由があると思う。 ひとつは、オブジェクト指向を理解している人としてない人との格差により