2013年2月28日 星期四

ApacheCon 2013 Keynote - Scaling: Lessons Learned and Their Applications to Apache Culture


話說老外的投影片真的都有許多有趣的東西,講者Theo Schlossnagle開場的這張投影片超好笑,講者把自己各個時期的照片都貼出來 (因為他很有名,也到處到各個會議演講,可是都長得差超多!!),老外真的很厲害怎麼可以每張照片都差那麼多。

Keynote的主題是 Scaling: Lessons Learned and Their Applications to Apache Culture,主要是在分享在開發系統的經驗和身為工程師應該要注意不要走走火入魔。


以下是我對他的演講的一些筆記:

Apache  的精神是解決真實世界的問題 (Solve the real world problem),而不是追求程式的完美和展現自我能力,因此他說:

No exceptional !!  Your code is elegant but my code is fucking work



此外,針對自己寫的程式,不要過放太多情感和忠誠度,他就只是程式,他不是你的小孩,他可以長的很醜,他是可以被丟棄的。再一次他只是用來解決問題的!
Your code is just a code, it is not a child it can be ugly it can be disposed of it requires no loyalty. It only use to solve problem.


我們工程師太常專注於追求技術,而忽略了他們所面對的問題,太長專注於要用哪種語言,要用哪種framework (小弟自首...Orz..)
We engineers too often focus on the technologies they love instead of the problem they face. Code too much focus is placed on which language and which framework is used.
我們的工作是告訴電腦該做什麼事!
Our job is to tell a computer what to do!!
所以選擇對的工具比較重要!靈活的選對工具解決所面對的問題


專案流程的管理是重要的,但是只要有足夠的流程就好 (某種程度的Agile ?)
Process is important and Just enough process
不過Apache 的專案流程和管理模式真的是蠻值得參考的,分散式的協同合作,要如何動員遍佈世界各地的程式開發者,這充滿了智慧..... (按編:後面還會有其他講座在討論這些~)

還有對於系統的運作總是要保持著合理的懷疑,因為匯出問題的地方實在太多了,尤其是現在系統越來越複雜,Hole stack 從H/W-->F/W-->OS-->JVM-->APP….都可能出問題出bug


以上是小弟比較能理解的部份,其他有些部分我就比較沒辦法理解了~:P

延伸閱讀:

[1] Theo Schlossnagle To Keynote ApacheCon 2013
張貼留言