我個人非常認同這篇的內容~~
原文網址: https://www.facebook.com/yijing1/posts/10155642313309495
整篇都說的很好,以下只節錄其中幾點:
四、
寫一個大型程式,並不是「人多好辦事」。
如果是土木工程或是製造業,人越多、產出就越大。如果一個計畫延誤了,就多調一些人手過來幫忙。
但是在軟體工程裡,人越多,就越是難以協調,寫出來的程式也往往品質越差、效能越糟糕。
這就是有名的”The Mythical Man-Month: Adding manpower to a late software project makes it later"。
IBM在1960年代開發OS/360作業系統軟體時,就發現了這個奇特的現象。
所以我也搞不懂,大型軟體公司雇用了那麼多的軟體工程師幹嘛?
六、
寫程式並不是寫的越長越好、越厲害。
我年輕在台大資訊工程系的時候,會跟朋友炫耀說:「我寫的程式語言編譯程式,總共有一萬多行耶。」
後來我去美國布朗大學讀電腦科學博士,畢業的時候喜歡跟朋友炫耀:「我的博士論文那個程式,功能那麼強大,但是我只用了七、八千行程式就搞定了耶。」
七、
二流的軟體工程師,喜歡把簡單的問題弄的複雜,寫出別人看不懂的程式。
一流的軟體工程師,喜歡把複雜的問題簡單化,寫出架構清楚明白的程式,讓人看了之後,覺得問題好像很簡單。
三流的軟體工程師會去崇拜二流的軟體工程師,因為他們會覺得二流工程師寫的程式都看不懂,一定是超級厲害;
三流的軟體工程師不會去崇拜一流的軟體工程師,因為他們會覺得一流工程師所做的事情都很好懂,好像都很簡單。
只有一流的的軟體工程師才會佩服一流的軟體工程師,因為只有他們才能看的出來,其他的一流軟體工程師厲害在哪裡?
台灣的軟體業如此,美國的軟體業也大致如此。