l

2016年5月20日 星期五

兩棲動物

May 18 10:10~11:15

螢幕截圖 2016-05-18 14.00.56

▲畫面節錄自Google搜尋結果


兩棲動物,就是那種可以在水中也可以在陸地生存的動物。往好的方面看,水陸兩棲,具備兩種能力,勝過哪些只能待在水中或陸地的生物。往壞的方面看,在水中遊不過水生動物,在陸上跑不過陸生動物,只能算是個半吊子。

Teddy有時候覺得自己也很像兩棲動物,博士畢業也在研究所兼課但卻沒有從事學術研究。在業界服務但目前從事的卻是敏捷開發培訓與顧問工作,沒有上課或是顧問工作的時候,每天宅在家裡寫作、讀書,發呆,玩貓 思考,和身陷於專案泥沼中的上班族又有點區別。往壞的方面想,學術比不上真正做研究的專任教授,實務比不上每日打仗的工程師。

***

但是,做人總是要樂觀進取,不能只看壞的一面。所以在學校教書的時候,和學生少談點理論,多帶點業界的「專業態度」要求。Teddy常告訴修課學生:「如果你可以受得了我的碎碎念,畢業後大概沒有什麼老闆(主管)的要求可以難得倒你。」當然Teddy指的是老闆(主管)在專業態度上對你的要求,如果是因為公司政治因素或是個人心理 變態 狀態與修養不足所導致一些狗屁倒灶的奇怪要求,那就不屬於專業態度的範圍,只能靠哲學佛法來化解。

同樣,在業界從事培訓工作,Teddy也不會只是教教「工具使用」或是「套套招式」,也不會只是空談「心法」。從學術研究的角度來分析,每一門課程Teddy先問自己:「這個課程最核心、最困難的問題是什麼?」先確立這些困難的問題是什麼,然後找到用日常生活中相對的例子來解釋給學員知道,這才是課程的精華。例如,在教「Design Patterns這樣學就會了–入門實作班」,最重要的重點不是GoF書中的那些pattern,它們只是第二重要的概念。比GoF那23個design patterns還重要的事情要先從最基本的「課程名稱」開始談起。既然課名叫做design pattern,那麼請問:

  • 什麼是設計(design)?
  • 什麼是好設計(good design)?
  • 軟體設計的產出物是什麼?
  • 什麼是模式(pattern)?為了回答這個問題衍生出pattern的六大元素:
    • name
    • context
    • problem
    • forces
    • solution
    • resulting context
  • 套用模式來解決設計問題的流程是什麼?
  • 怎麼知道是否套對模式?是否過度設計(over design)或設計不足(under design)?

以上這些問題都和GoF Design Patterns這本書沒有直接關係,但卻是學習GoF Design Patterns,乃至於所有種類patttern的基本知識對於某些「業界人士」而言,可能覺得這些都是「理論」,沒有實際幫助。但實際上,這些被視為「理論」的東西,才是最「實務」的基礎。

***

兩棲動物,只要在適當的環境發揮所長,也是可以活得很好。

***

友藏內心獨白:乖乖當靈長類不行嗎。

沒有留言:

張貼留言