本週電影

受難記

有點久了片了,anyway 真是超級限制級,超級血腥虐待片… 難怪衛道人士會受不了…. >”< 絕地在生 劇情本身還蠻吸引人的,可惜整部片感覺就是一直跑,而且笨笨的地方頗多... :p 霍元甲 李連杰最後一部武打,不錯好看!~ 還是喜歡這個調的李連杰~ 整部片主題明確,沒有冷場,看完之後意猶未盡 :p

Joel on software (Part3:36~42)

37.要如何破解雞生蛋蛋生雞問題(平台創造的產業 : 除非擁有好的軟體可用,否則沒人會買你的平台,可是你的平台要有很多用戶,才會有人替你寫軟體。),就是用一個向後相容模式。如果你的產品需要很多人使用才能賺錢,那你一定要考慮相容問題。作者舉了微軟MS-DOS跟win 3.1的例子,不是因為微軟的行銷比較好,而是因為推出了可以相容舊軟體的作業系統。

38. 當你想讓人們由競爭者的產品改用你的產品時,必須瞭解進入障礙,並努力消去。作者提了其中一個障礙點,就是讓客戶無法換回本來的產品的障礙。

不該太早鎖住客戶,應該讓客戶可以容易離開服務。因為那麼人現在並不是你的客戶,試圖在他們成為你的客戶之前鎖定他們,只會把他們鎖在外頭。不過如果你做了承諾讓他們在不高興時可以容易離開,突然間就消除了另一個進入障礙。

39.這篇告訴我們不要相信 80/20 法則(80%的人只會用20%的功能。所以你說服自己,只需要實作20%的功能,還是能賣出80%的數量。),如果你的軟體沒有人們要的功能,那再怎樣精巧都是沒用的。而因為人們的需求各式各樣,所以軟體才會越做越肥 :p

40. “聰明的公司試圖讓產品的互補物普及化(commoditize)。” 這就是為什麼有些公司花錢推開放原始碼,比如 IBM是因為自己已成為IT顧問公司才會這樣做。IT顧問是企業軟體的互補商品,所以IBM必須讓企業軟體普及化,而最好的方法就是支持開放源碼軟體。

42. “新的API是HTML,而能讓HTML唱歌的人就會是應用程式開發市場的新贏家。”嗯,果然是web時代的來臨,微軟還想推全新的桌面API看起來實在是困難重重。

Joel on software (Part3:29~35)

繼續節錄一些重點跟心得… ^^ 

29.”如果你想要在軟體業成功,必須有一個完全瞭解並熱愛程式設計的管理團隊。”

30.”在電腦業界中,吃自己的狗食是個怪名稱,表示真正使用自己產品的程序。”當開發人員開始自己使用自己開發的產品的時候,往往就會發現一些使用上的問題。

拿我們公司為例子吧~直到前幾天我才把我們公司的網站換成RSS 2.0的新版本,才一換上我就發現少了最新文章一覽的功能實在太不方便了… :p

32. “在微軟事情都是由最底層完成,大多數經理的工作好像只是到處閒逛,把傢俱搬開不要擋到路,好讓大家可以專心工作。” 這篇談到應該要讓員工有各自的責任區跟足夠的授權,而不是讓管理人員干預每件能插手的大小事。聽說台灣有不少惡老闆顯然都是這種類型啦~ 員工雞毛蒜皮的小事都要囉囉嗦嗦。

34. Nothing is as Simple as it Seems. 你必須先做設計再去實作。雖然現在流行少設計的說法,但是重點是避免無謂的設計,尤其是軟體規模大的時候。

35. 作者談到 Not-Invented-Here 症(如果不是自己發明的就不使用)。當然每個人應該都使用要善用別人的成果,所以如果都外包或使用別人的東西了,你就沒有自己的競爭優勢了。所以這個界線應該訂在 “如果是核心的事業功能,不管是什麼都要自己來做。”

Joel on software (Part2)

選幾篇做個閱讀紀錄…文章在這裡都找的到… :)

22.每兩個程式設計師應該搭配測試員,畢竟測試員比程式設計師便宜多了 :p

23. 絕對不要讓人同時做一件以上的事,因為程式設計的工作就是需要很長的切換時間。

24. Netscape 犯了一個嚴重錯誤,他們在改版的時候決定把程式從頭重寫過,結果隔了太久沒有推出東西,市佔率都被人佔走了。在要從頭重新開始時,完全沒有理由相信這次會做得比第一次好。

25. 冰山的秘密,非技術人員總是比較看重介面外觀,但是其實那只佔 programming 的一小部份。文章中的五個推論都很有意思,其中推論四告訴我 :可以拿些無關緊要的家家酒內容讓客戶選,讓他們覺得自己很重要。哈哈~

26. “所有重大的抽象機制在某種程式上都是有漏洞的。下雨天時開車沒辦法開得和平常一樣快,雖然車上有擋風玻璃雨刷有頭燈有車頂還有暖氣,這些裝備應該是讓你可以忽略下雨這個事實(他們把天氣抽象化了),不過看吧,你還是得擔心天雨路滑,有時候雨甚至會大到你看不遠,所以在只好慢慢地開,因為天氣永遠不能完全被抽象化,因為抽象滲漏法則。

而唯一能適當處理漏洞的方法,就是弄懂該抽象原理以及所隱藏的東西。所以抽象機制雖然替我們節省了工作的時間,不過學習的時間是省不掉的。而這一切都似非而是地表示,即使我們擁有愈來愈高階的程式設計工具,抽象化也做得愈來愈好,要成為一個純熟的程式師卻是愈來愈難了。”

這一篇真是悲觀呀… ^^||

27. “有漏洞的抽象表示我們面對一個直線上升的學習曲線:你可以用一星期學到每天工作所需知識的90%。不過其他10%可能得要好幾年才能補齊。有些人會說:「不管你要我做什麼,我都可以拿本書來就學會了。」真正有經驗的程式師超越這種人的地方就在這裡。如果你正在建立一個團隊,當然可以找一堆經驗較少的程式師用抽象工具製作出一大堆程式碼,不過如果少了經驗老到的人去做真正困難的事情,這個團隊是做不起來的。”

“只認識一個世界的人是很討人厭的。他們每次聽到其他世界的複雜狀況時,就會覺得自己的世界沒那麼複雜。” 作者用來諷刺有些 unix 程式設計師老是喜歡嘲笑 windows 世界的複雜。

28.上有政策下有對策,如果你想根據什麼測量指標來獎勵員工,那有人一定心裡只想著那個測量系統,完全不顧工作的實際價值或品質。更何況連測量績效本身都有困難。

我覺得按照作者的想法豈不是任何獎賞都沒有作用??這好像有違一般常理 ^^|| 我覺得是有點因噎廢食,不能因為少數員工會鑽漏洞,而讓大多數的人拿不到獎勵,重點應該要放在如何讓獎勵機制公正吧。

Joel on software (16~18章)

16. writing code 不是生產,而是 design ,某方面看則像 craftsmanship。craftsmanship 讓你會花500%的努力在1%的地方(修某個UI之類的)。完美的 craftsmanship 是非常昂貴的,只有大量的使用者能夠分攤成本。這也提供了其他公司更多的競爭點。

17.糾正三個CS觀念 : a.搜尋的重點不是找到夠多的資料,而是將這些資料排序。b.不要濫用 Antialiased Text (平滑字?)的顯示效果,因為其實不適合閱讀。c.小心”網路軟體應該要讓資源如同本機資源一樣”的論點,畢竟還是有 availability,latency,reliability 的差異。作者舉個例,在網路上傳檔案,是用FTP,而不是用copy file function,因為copy太簡單了無法應付網路太慢的情況。所以下次有人跟你推銷這個,請想想看如果是網路很慢的情況會怎樣。

18.文化差異 : Unix的核心價值是製作有助於其他程式師的東西,而Windows則把製作有助於老百姓的事視作核心價值。造成文化差異的原因出自各自歷史與背景因素的不同,而 unix 程式師有時弱勢的傲慢嘲笑 windows,但是事實是 windows 的世界比較實務… :p

— 

發現有中文翻譯了…. XD

local.joelonsoftware.com/mediawiki/index.php/%E9%A6%96%E9%A0%81

www.csie.ntu.edu.tw/~p92005/Joel/index.html