當前位置:工程項目OA系統(tǒng) > 領域應用 > 文檔管理軟件 > 電子文檔管理系統(tǒng)
[推薦]寂寞不歸路 軟件高手是這樣練成的
中國人大都喜歡用武俠小說來比較軟件開發(fā),但是在實戰(zhàn)武功中,只有葵花寶典才是最厲害的,也只有掌握了葵花寶典,才能稱為“不敗”。
但什么才是軟件開發(fā)的葵花寶典?
讓我們先從一些現(xiàn)象出發(fā)。我們的前提是,軟件開發(fā)是一項智力密集型勞動。對于智力密集型勞動,我們觀察到的現(xiàn)象是,個體的表現(xiàn)差異很大,團隊的表現(xiàn)差異很大,組織的表現(xiàn)差異很大,國家的表現(xiàn)差異很大。這不象體力占主要的勞動,象百米王跑百米的速度也僅比我快50%。但在棋類運動中,一個高手可以車輪戰(zhàn)數(shù)位低手,而且毫無例外地將他們一一擊敗!
這些智力運動員表現(xiàn)出的特點是,計算精確而且速度快。其行為很象東方不敗。雖然關于葵花寶典的傳說很多,但最準確的描述只有一個字“快”。東方不敗已經快到了嚇人的地步。就象卡斯帕羅夫已快到了深藍的地步。
有一則關于物理學家玻爾的軼事,有一次玻爾在普林斯頓大學聽兩個年青教授演講他們的工作成果。期間玻爾突然發(fā)言說,如果照你們的研究算下去,會得到一個很有意思的推論。結果兩個年青教授回去計算了兩天,果然得出了同樣的結論。玻爾是如何做到這樣快的?
在軟件開發(fā)中,我們同樣注意到這樣一種高手,他們可以每天寫出一千行左右的高品質代碼。他們可以運用已有的一些軟件包,迅速完成一個新的產品。他們可以在很短的時間內,學會一項新的程序語言或是新技術。他們表現(xiàn)出一種神奇的速度。
在武俠小說中,所有的高手都有一些凡人不能企及的表現(xiàn)。象張無忌學太極,用龍爪手擊敗龍爪手名家;喬峰用太祖長拳擊敗天下英雄;姑蘇慕容以其人之道還治其人之身,令狐沖一劍剌瞎十幾雙眼睛等等。我認為,之所以他們能做到這樣,關鍵是在于他們快。
快并不意味著不準或品質差??炫c品質并不矛盾。
高手的快,其實包含著很高的品質在其中。如果你因為高手的快,就質疑其品質,那就相當于在問:東方不敗出手那么快,會不會刺不準?東方不敗并不滿足于刺死對手,他會在對手身上刺朵花。他把殺人變成了藝術。準確來說,他真正的興趣不在殺人,而在于藝術。
退一步說,就算東方不敗第一擊有點偏差,他稍作修正后,馬上跟上的第二第三擊,也會擊中他想擊中的地方。在武功差的對手劍還沒撥出來的時候,他已殺死對方并刺上了一朵花。
所以真正的軟件高手,他并不滿足于他的代碼能有效地工作了,他認為編程是藝術,并醉心于其中。在低手能寫出一個版本的時間里,他已經寫出了第十版。其品質當然不可同日而語。就象一個九段棋手,在給定的時間里,他能計算十種可能,并將每種可能計算到100手之后,從中選擇一種最有利的下法。低手豈有茍全的機會?
高手寫軟件總是不停地在重構(refactoring)。高手喜歡迭代式開發(fā)。高手說,增量就是打補丁,迭代就是推倒重來。對于軟件這種東西,寫一遍它可能ok(做到這一點也不容易),寫十遍就是一個偉大的產品,再多寫一遍它就更偉大些。
高手快的訣竅在于他很熟悉各種東西。高手看書很快,因為每一本新書里,值得他好好看的新技術只有一兩章的內容。他能迅速看完,并準確領會這本書的中心思想和價值。而對于一個新手,每句話都是新的,他都需要去理解,每一段例子,他都需要去試。
很少看到一種100%全新的技術或理論。就象java language specification里說的,java沒有使用任何新技術,用的都是業(yè)界久經考驗的技術。對于高手來說,那些技術都是他所熟悉的。自然,很快他就從一個c++高手變成了java高手。如果一個編程新手學java,學兩年也不如一個高手學兩個月的。高手學新東西快。
高手寫代碼速度快。統(tǒng)計結果說,人均每人月的有效代碼速度大概是300至400行。但那是業(yè)界平均生產效率。對于高手來說,這個數(shù)字太低了。每天寫300至400行是完全有可能的。因為在寫代碼時,所有知識都已具備,已經沒有任何需要他多花時間的事情了。他甚至很少需要debug。
高手重用代碼的能力很強,熟悉新的api的速度很快。這也是因為,他曾經使用過很多的api,重用過很多的代碼。他知道哪些是可用的,哪些有缺陷。他既過用qt,也用過gtk+,也用過windows api & mfc,也用過awt & swing。新的api對他來說,也是老熟人。
高手喜歡用輕量級的工具,象vi,notepad,最多到ultraedit這樣復雜的。高手用這種工具寫出很多的東西。這些工具就象東方不敗的針。那根針已具有神奇的魔力,有時候它可以當激光槍來用。
對于一些重量級的工具,高手雖不常用,但一經使出也威力大于常人。如果讓東方不敗用劍,最厲害的劍術名家也會敗得很難看。高手其實用過很多的重量級工具,而且深知其優(yōu)缺點。所以使出來,就會把威力發(fā)揮到最大,而把缺陷減少到最小。而低手則不然,總是把缺陷加以大大的發(fā)揚而渾不知其精髓何在。就象很多人學用uml、rup、xp、design pattern那樣。
高手所學博雜且融會貫通。高手做什么都快,當?shù)褪诌€在一愁莫展的時候,高手已經圓滿解決問題,去干別的事去了。
相信你有一點點想成為高手了。但是有一個問題亟等解決,那就是“欲練神功,必先自宮”的問題。這一點其實是有比喻意義的。就是說,你必需拋棄一些世俗的人們很看重的東西。有詩為證:
世人都曉高手好,只是寂寞受不了
世人都曉高手好, 只有名利忘不了
世人都曉高手好, 只有金錢一定要
世人都曉高手好, 天下美女都要抱
世人都曉高手好, 不寫代碼最最好
高手的武功不是一朝一夕練成的。還記得玻爾那件軼事嗎,玻爾回答說,他年青時也計算過很多的問題。在很多計算的基礎上,高手能培養(yǎng)起一種感覺。高手不寫代碼就能做設計是因為他以前寫了很多的代碼。而且他們會保持寫代碼,以保證自已的水平不下降。想一想九段高手是如何練成的。最難做到的是能忍受十年磨一劍的寂寞。別人在父母那里撒嬌時,他們在一旁用功。十年磨一劍,劍就成了東方不敗的針。
在你下定決心要做高手之后,也就是下定決心拋棄那些世俗的追求之后,也就是你下決心忍受那些來自于庸俗的人的白眼、攻擊和謾罵之后,你就具備了練成神功的必要條件。
事實上其實你不必一開始就練神功,一開始大家可能是為了錢,房子,汽車,美女才編程序的,然而后來藝術就從中產生了。那時高手就不再關注那些東西了。卓別林曾說過,他開始進入那個圈子也是為了錢,后來藝術就從中產生了。當然,也有人一開始是為了藝術,后來變成為了錢。
所謂三十而立,就是說到了三十,你找到了你的真愛,值得用一生去追求的那種。比如說有的人到了三十認為這一輩子應該賺盡可能多的錢,這也沒什么不好,也可以把賺錢本身變成一種藝術,所謂資本運作是也。所以在三十以前,有些私心雜念沒什么。三十以后還這樣是可恥的。而我,想做一個程序員。
每個人做自己最喜歡的事。這個世界需要程序員,也需要資本運作。所有真正的程序員,他最喜歡的事是編程和他自已。如果他后來去做ceo去了,不再編程,只說明他本來不是一個真正的程序員。
在成為高手的路上,要有熱情,要循序漸進,要持之以恒。
要靠自己,書要快快地看。要試圖迅速理解其主旨。其實你快快看所接受的信息量,與慢慢看接受的差不多。能明白多少很大程度上取決于你的功底。以后用到再回過頭來看。一本對你來說新東西太多的書,不要指望看一次就全理解吸收。就象很多功力不夠的人看design patterns那本書一樣。慢慢看還不如找到多種 信息來源,都快快看一遍。對于一個完全陌生的領域,只看一本書很遠遠不夠的。
要靠自已,事要快快做。有一個朋友,幾年前我介紹他去玩玩linux,他也表示想玩,但他現(xiàn)在還沒碰過。他失去了很多機會。
平時要有意識提高自己寫代碼的速度,其實你一天寫15行有效代碼,與你寫50行有效代碼,其品質是差不多的。你應該把那些業(yè)界平均水平拋諸腦后,把超越自己做為唯一目標。等到你寫了很多各式各樣的代碼,你的水平就不一般了。一個老師曾向我介紹他的學英語的決竅,他說你去啃原版小說,啃到50本,就和一般人有很大距離了。就是這個理。如果你寫得太慢,怎么能寫得多?水平怎么能提高?
要靠自己,學很多別人怕學的東西。低手總會說:這么多東西怎么學得過來啊。于是就少學或不學。這樣就成不了高手了。高手有非常廣的知識面,有很豐富的經驗。知道很多低手不知道的事。玩過很多低手聽都沒聽過的東西。
要靠自己,努力滿足客戶的各種需求。個人技能是在滿足客戶的各種需求的過程中提高的。比如你喜歡用delphi,客戶說一定要用vb,那你就答應他,然后把自己培養(yǎng)成為vb的高手。用戶的需求看似**,但對你是一個機會。
怎樣才能做到看書快,寫代碼快,學新東西快,一個顯而易見的途徑就是將工作并行化。你在一臺機器上make時,同時可以在看別的文檔和聊天。對于計算機是這樣,對人也是這樣。如果你只能串行地處理問題,你的速度將提高有限。你的大腦有很大潛力可挖,它應該是一個多任務分時系統(tǒng)。努力減少它idle的時間。搞經濟的samuelson被人稱為human brain main frame,可見他的大腦有多快。
讓你的思維快起來,你就會區(qū)別于那些反應遲鈍的人。如果你不能讓人生的道路變長,就讓它變寬。這世界變化快,需要你變得比它快才行。
這樣加快并不會讓你短命,相反,你有更多的時間來享受生活和鍛煉身體。你的生活將更有品質,更豐富,更有意義。面對變化,你將立于不敗之地。我們都是和自己賽跑的人,需要跑得比昨天的自己更快。
- 1企業(yè)文檔管理系統(tǒng)
- 2文檔管理系統(tǒng)破解版
- 3免費文檔管理系統(tǒng)
- 4文檔管理軟件下載
- 5電子文檔管理軟件下載
- 6文檔下載
- 7文檔管理
- 8文檔中心
- 9文檔管理
- 10文檔列表
- 11已辦公文
- 12文檔中心
- 1學習型組織和電子文檔管理系統(tǒng)的概念以及特點
- 2價值管理與電子文檔管理系統(tǒng)
- 3將電子文檔管理系統(tǒng)融入企業(yè)管理體系中去
- 4標桿帶動行業(yè) 中小企業(yè)更需要電子文檔管理系統(tǒng)
- 5傾力打造開放的企業(yè)文化----中冶連鑄人力資源管理實踐案例(滕首詩)
- 6電子文檔管理系統(tǒng)專題之成功道
- 7[原創(chuàng)]我看電子文檔管理系統(tǒng)之農業(yè)產業(yè)化建立
- 8知識生產管理的本質是管理“組織的才干”
- 9求一個好的免費文檔管理軟件!
- 10IBM:競爭新法則(沈建民 趙皎云)
- 11電子文檔管理系統(tǒng)系統(tǒng)的生命周期
- 12維娜·艾莉:e-Learning不是電子文檔管理系統(tǒng)
- 13電子文檔管理系統(tǒng)專題之領導力
- 14攜KM走過的2005(二)
- 15電子文檔管理系統(tǒng)系統(tǒng)的分析與辨別
- 16文檔管理的市場現(xiàn)狀
- 17[原創(chuàng)]一手抓信息安全,一手抓知識共享,兩手都要抓,兩手都要硬
- 18知識分享與藏私--引自于博弈論中的囚徒困境
- 19新一代電子文檔管理系統(tǒng)
- 20哪個文檔管理系統(tǒng)提供全文檢索功能的?
- 21e-Learning不是電子文檔管理系統(tǒng)
- 22以知識化為靈魂的信息化
- 23電子文檔管理系統(tǒng)VS優(yōu)秀企業(yè)
- 24“群”眾生活,都市新時尚
- 25[暢享網]IT組織管理的核心——電子文檔管理系統(tǒng)
- 26對前微軟首席財務官的訪談紀要(一)(AMT研究院 郎蒙 編譯)
- 27[原創(chuàng)]關于管理者的考核
- 28核心員工流失企業(yè)受損 構建電子文檔管理系統(tǒng)體系是上策
- 29電郵歸檔的重要性
- 30【原創(chuàng)】電子文檔管理系統(tǒng)六大失敗案例剖析
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓