在軟體工程師上面,其實第一批最早軟體工程師大部分是數學家,像「computer」這個字本來其實講的是作為運算的人,並不是講電腦,而是後來機器做得特別好,才變成電腦。

所以當時第一代的資訊科學家們,他們自己在檢討時,他們都是說他們的數學很好,像Dijkstra教授他會說:「除了數學當然要好之外,決定工程師可以走多遠,就是你對母語掌握的程度,就是你的文字能力多好」。因為其實不管我們寫程式,還是我剛剛講的那一些中間產出,除了讓機器懂是最低要求之外,你要讓人能懂,若不能讓人看懂的話,一個人能做的事情其實是很少的。如何讓五、六百個人能夠同時看懂一個東西?那是最基本的閱讀跟書寫的能力,也就是我們所謂的表達力。

所以一個人在母語表達裡的表達力多好,就決定他的思路可以多寬。他可以思考多複雜的架構,同時還能夠讓別人理解,就決定了他在資訊科學或軟體工程裡面走多遠,所以第一代的人反思都在講文字能力,幾乎是完全跟數學能力一樣重要的:二個是不可或缺的,如果二個缺一個是走不遠。

當然我們今天做的是有點反過來,我們會邀請文字能力比較好的人,作傳播或者作行銷的朋友回過頭來學軟體工程,其實他們的文字能力已經中上了,至少看書絕對沒有問題;但反過來可能要補足一些數理邏輯的訓練。

我是覺得數理邏輯也並不是工程,它其實就是一種思考方法、語言,我覺得這一種東西的掌握,並不需要學微積分或是高深的數學,實際上是我們教小孩七、八歲以上就可以瞭解的,我覺得這對人格特質並沒有特殊要求。但反過來如果同時掌握數理邏輯跟文字表達理解能力的話,軟體工程師當久了,人格特質會有所轉變。