Thursday, January 30, 2014

如何晉升為軟體設計魔人

農曆年關將近,在「封關」之前,今天Teddy要公布一個「公開的秘密」(疑,公開的秘密還需要公布嗎?!),那就是:要如何才能夠修練成為「軟體設計魔人」,或是好聽一點的「軟體設計大師」?
搞笑談軟工的忠實觀眾可能已經猜出答案,最簡單的方法當然是來上Teddy所開的每一門課,不過如果只有這個方法對於「時間很多,口袋很淺」的鄉民可能就不適用,所以Teddy要提供另外一個「很花時間,但是相對來講比較省錢」的方法,那就是「讀Alexander的書」
***
Teddy在部落格上已經好幾次介紹Alexander的書,例如:
  • Notes on the Synthesis of Form
  • The Timeless Way of Building
  • A Pattern Language
  • The Oregon Experiment
為什麼要讀Alexander的書?很簡單,因為很多「大師」在學習的過程中,也都讀了Alexander的書。例如GoF的Design Patterns,這本書算是設計模式領域的「聖經」,光是把GoF的書讀懂,就已經很厲害了。但是,等一下,GoF的靈感是來自於Alexander的建築模式。如果要真的成為「大師中的大師」、「魔人中的魔人」,光是看完GoF的書是不夠的,還必須要追本朔源,了解Alexander的想法,知道為什麼這些想法會影響GoF。
除了GoF,在很多「大師級」的作品裡面,也都提到了Alexander的書。隨便舉幾個例子:
  • Extreme Programming Explained, 2nd, by Kent Beck(Kent Beck的影響力不用多說了,光是XP與TDD就打掛一堆人了 XD)
  • The Design of Design, by Frederick P. Brooks, Jr.(人月神話作者)
  • About Face 3 : The Essentials of Interaction Design by Alan Cooper(很多UI/UX設計師都讀過About Face 3這本書,但卻很少人讀過Alexander的書)
  • The Psychology of Everyday Things, by Donald A. Norman(這本書更不用說了,看過的人可能比About Face 3更多)

***
Donald A. Norman在他的書中說:
…The other architects whose work has influenced me are not builders; they are thinkers and designers, in particular, Alexander and this colleagues at the University of California, Berkeley.
Alexander的書雖然是在談建築的問題,但其實他是一位思想家與設計家。讀了他的書,可以應於在各種不同的「設計領域」,光是軟體設計與UI/UX設計,就有不少人受到Alexander的影響。
讀了大師(Kent Beck、Frederick P. Brooks, Jr.、Alan Cooper、Donald A. Norman)的書,略有小成之後有資格成為大師門派的信徒。讀了大師讀的書,略有小成之後有可能可以自立門派,或是有能力將大師的想法發揚光大。這就是程度上的差別。
***
友藏內心獨白:不就是讀書,有那麼嚴重嗎


Reference:
http://teddy-chen-tw.blogspot.ca/2014/01/blog-post_29.html

No comments: