你應該知道

你應該知道

 

來自:http://www.cnblogs.com/JerryKai/archive/2011/04/18/2020086.html

 

(說明:本文轉自公司知識庫的一篇原創文章,作者:李瑞寬)

      想象你是一個初出茅廬的小菜鳥,上頭交代你做任務,你對其中的一項任務有那麼一小點疑問,你怯生生地問:“我覺得這項任務說得不是很清楚,那樣做行嗎?爲什麼呢?我覺得應該這樣做更好。”項目很緊,上頭頭大着呢,他很不耐煩地對你說:“不要問那麼多!我都考慮清楚了,只要照着做就行!”你應該怎麼辦呢?你是就這樣屁顛屁顛地去做了,還是還是覺得你應該知道爲什麼要按照他說的做,而不是按照你說的做嗎? 你應該知道。而且你要一直堅持“我應該知道”這種想法,因爲這種想法,會帶領你走進一片新天地。你可能還意識不到,你現在的是否堅持和你後續的發展休慼相關。堅持了,你會向着更深的層次邁進;放棄了,你就一直呆在原地,沒有辦法進步。

      依我看來,技術人員的發展,不外乎往深度發展或者往廣度發展。

      什麼是深度呢?就是你對技術的掌握程度,你一套扎進去,對技術有自己越來越深的理解,你從不會到會,從會到精,你會顯著感覺到自己能力的提升,等到精通了技術之後,使用這項技術自然是揮灑自如,易如反掌。

      什麼是廣度呢?就是十八般武藝,刀槍劍戟棍,.NET JAVA Silverlight,逮着什麼就是什麼,都去參上那麼一腿,這個就是廣度。你學習了N多技術,每次見到一種新技術新語言你就兩眼放光四肢冒汗,你都要根據它們的入門指南操作那麼一次,好吧你是很踏實的人,所以你多操作了那麼兩次,之後你就能夠很NB地在簡歷上面吹牛逼:“本人精通C#、C++、JAVA、PHP、HTML、C、彙編、Python 不拉不拉不拉,神馬技術神馬語言對於我都是浮雲!”說出去唬的別人一愣一愣的,當然,他們並不知道,你只寫過這一堆語言的Hello world。

      深度很奧妙,廣度很有趣,你應該怎麼選?

      如果是二選一,毋庸置疑,你應該選擇深度!爲啥呢?深度是一個技術人員的核心競爭力。在這個IT從業人員多如過江之鯽的今天,IT民工、碼農到處都是;本科如狗,碩士滿街走,只有博士還能抖一抖;街邊隨便哪個修鑰匙檔上面都貼着廣告“200天企業建站!立等可取!”技術人員如何安身立命?

這個時候,你應該靠你的深度,你也只能靠你的深度了。道理很簡單,技術人員靠什麼吃飯?靠自己的腦子。從你人生到現在的經歷中,你早早就依靠腦子跟別人競爭了。從小學到初中到高中到大學,哪一次升學考試你不是靠自己的腦子將別人PK下去?你知識掌握的越牢固,學得越深入,對那一堆公式定理理解的越深刻,你就越能夠在競爭中佔據有勢,最終贏得求學階段的勝利。不管現在學校擴招多厲害,名牌大學還是高質量的金字招牌,在普羅大衆的眼中熠熠生輝,阿彌陀佛。進入了社會,這樣的競爭其實還是很類似的,只要你比人功夫深,你就比人香噴噴。

      深度就是你的內功,它帶來效率,它能夠讓你非常穩健地向前進。我們來看看倚天屠龍記裏面對乾坤大挪移的描述:“正如要一個七八歲的小孩去揮舞百斤重的大鐵錘,錘法越是精微奧妙,越會將他自己打得頭破血流,腦漿迸裂,但若舞錘者是個大力士,那便得其所哉了”。你的深度,就是你自己的力量,你要使用的技術,就一把大鐵錘,你要掌控好這把鐵錘,沒有深度,就等着自己被砸傷吧!深刻地掌握一樣東西,不單明白了它什麼時候非常適合使用,什麼時候能夠使用,也能明白它什麼時候最好不用。在平時的生活中你是否經常聽到這樣的話:“微軟/Java/etc的XXX技術太難用了!我想要XXX它XXX就是搞不定!”很顯然,你碰到了大鐵錘的受害者。不排除微軟的確是有難用的東西,臭名昭著的就有MSN,但依據我粗淺的技術眼光,至少在開發技術這塊,微軟還是相當有想法的,而且構建的東西只要摸清它的底,用起來還是頗爲暢快的。

      說到深度,就要提到境界。從你選擇了深度這條路開始,你已經開始踏入了境界之旅。

境界是分層次的,學拳的說“招熟,懂勁,神明”,孔子說“三十而立,四十不惑,五十知天命,六十耳順,七十爲所欲爲不守規矩!哦,是從心所欲不逾矩”。這兩家說的都是不同的境界層次。你在開始境界之旅中的某一個時刻,將會處在某一個特定的境界層次中。不同的境界的認識是不同的,同樣的話,境界低的人會看不到什麼東西,境界高的人就能一眼看到其中的道理。即使大家都能看到其中有東西,看到的東西本身往往是不一樣的。你平時有沒有試過在一個問題上面困擾很久,旁邊一個人過來一句話就將它解決了?這是因爲他的境界比你高出一層不止。

      站在地上往下看,能看見直徑1m的範圍,有螞蟻、落葉和浮土;站在4層樓頂上往下看,能看見直徑100m的範圍,有汽車、馬路和綠化帶;站在50層樓頂上往下看,能看見直徑10000m的範圍,有成片的樓羣,飄過的直升機和綿延的山嶺。境界不同,看到的東西就不同。

境界不同,有時候交流起來是比較困難的,同樣的概念,大家的理解是不一樣的,雖然可能在不同的境界中他們都正確。好多東西你覺得很新奇很給力,在更上一層的人看來,那不過是常識罷了。有人說人民日報是最真的媒體,從上面獲益良多;有些老闆什麼電視都不看,天天就看新聞聯播;而這些在憤青眼中,只不過是黨欺騙P民的謊言,令人作嘔。你說誰纔是對的?老闆看完了,能夠摸到政策的動向,賺到實實在在的money;而在同樣的憤青羣體眼中,他們就會覺得這位受到喉舌毒害的憤青是正確的,就應該嘔吐,唾棄它們,鄙視這些五毛黨!慈禧年間,有個農婦和別人吹水:“老佛爺吃的煎餅,那可真不得了啊!至少一定得有鍋蓋那麼大!”殊不知連低慈禧N個檔次的人,可能都已經不知道煎餅是何物了。這就是境界不同的緣故了。我現在回想起中學學習的思想政治課,開始覺得它們不再如當初的枯燥,變得非常有道理。

技術的境界和學拳的是非常類似的,一開始你只要學會怎麼用,用熟練就好,然後你開始好奇它內在是怎麼實現的,開始研究它實現的機制,等你學會了這些機制,你就懂得怎麼發力了,你能夠將這些機制用到其他地方,招招見血啊!再然後你通過不斷的思索總結,你窺到了其中的概念和原理,你悟到了它存在的理由,於是你就神明瞭,你悟到的這些道理,不單可以用到類似的應用場景中,還可以用到更深遠的地方,甚至日常生活之中。譬如事務這個玩意,一開始你只知道它是數據庫裏面的一個東西,你不知道它是啥,但是上頭就是要求你用它。後來你知道它怎麼用了,再然後你可以搞定死鎖,將它用得很帥。終於有一天,你悟到了它事務原來並不是只有一種實現,它是一個概念,是一個協議,它能夠達到概念和實現的分離,它可以通過二階段提交,也可以通過補償等方式實現,更要命的是它不單可以通過計算機搞,還可以通過手工來搞。事務協調器可以不單只是一段代碼,還可以是一封Email,一張貼在牆上的紙……那你才真正明白了事務這個玩意可以怎麼玩,然後再明白了怎麼去根據這種思路去探索其他的東西。想象你去超市買東西,你先給了錢給收銀的美女,然後你還沒有踏出大門,你就後悔了——TMD怎麼又買了這麼多用不着的東西?你對收銀MM說:“不好意思咱不買了,你退錢給我吧!”收銀MM又PP又通情達理,她在POS機裏面將你的消費記錄XX掉,將錢退回給你,順便還送給你一盒益達——是你的益達!這中間,就體現了一種事務的思想。你體會了這種思想,就可以一下子老了四五十歲,達到七十歲的境界,爲所欲爲。計算機相關的這些東西,集人類智慧之大成,研究這個而能有所感悟,真真正正能達到境界上的提高。

      境界到了最高妙之處,就會由實入虛,從術而道,這時你就悟到了如何將事物的本源跟事物的存在區分開來,你能夠看清楚什麼是本質,什麼是表象,什麼是要做到的目標,而什麼是具體的行爲。你從本質的角度看過去,你就具有了一雙慧眼,將這紛擾看得清清楚楚明明白白真真切切,這雙慧眼就是做洞察力。

什麼是本質呢?本質就是事物賴以存在的根本原因,若然沒有這個原因,這個事物就沒有存在的意義,就會消亡。所謂存在即合理,這個合理不是說的合乎情理,而是說存在都是具有它深層次的根本原因的,也就是都是有本質的。不知道你有沒有注意到,很多技術書籍第一章都是介紹技術出現的歷史的,之前我覺得這些羅裏囉嗦,都是廢話,直接翻過去直奔技術本身而去也,其實它是全書的總綱(天之道,損有餘而補不足,是故虛勝實,不足勝有餘……),它論述的是這種技術的存在理由,如果沒有這種理由,這種技術都沒必要存在了,我們還學它幹毛啊。

      我們來說一個普通的項目,它的本質是什麼?是它複雜糾結的需求嗎?是它深奧精妙的設計嗎?是它完全符合CMMI5滴水不漏的流程嗎?都不是,它存在的意義,就是爲了能爲客戶產生價值,真真正正消除客戶的痛處。本質和表象是很容易混雜的,要將東西亂七八糟混雜在一起很容易,要清清楚楚區分它們,將它們有條有理擺放得整整齊齊是很困難的,這裏快刀斬亂麻行不通,你得抽絲剝繭,一條條分得清清楚楚,不然你永遠達不到透徹的境界。

     本質是虛的,表象是實的。我們很難捉摸得到虛的東西,而實實在在的東西一直圍繞在我們周圍,所以我們很容易就能夠接受它們,然後我們很容易就被這些東西迷惑,看不到背後還存在深刻的東西。我們需要透過現象看到本質,找到它們。本質堅如磐石,相對不變,只要有存在的理由,它就一直都存在,而表象如行雲流水,花開花落,一直都在改變。就如用兵,目標是求勝,這是斷然不會改變的,而行軍就是兵無常勢,水無常形,因時制宜,隨機應變。倘若我們混淆了本質和表象,追求的是表象的東西,由於表象千變萬化,到頭來疲於奔命,卻又兩手空空,最後鬱悶得對天大罵:“TMD這技術變得太快了!老子跟不上不玩了!”。你應該知道,凡是覺得亂的,都是因爲沒有得到本質。當你具有了深邃的洞察力,你得到了本質,你就能夠不役於物,你就能看清變以不變,你就不會再去盲目追求具體的行爲。

當你做項目,你強調的不再是符合某個規範來做,你深深知道規範只是一種具體的行爲,你關注你的目標,你能夠帶給客戶的價值,你團隊的效率。當現在的規範不符合你的項目,你就大膽裁剪它,甚至拋棄它,而不是盲目將項目往規範上靠——只因爲它是CMMI的建議,你所作的一切,都是爲了你的這個目標而努力。

具有洞察力,通曉變與不變,你不但能看清現在的情形,你還能看清今後的趨勢,然後針對趨勢採取措施。我們可以清楚地看到,技術日新月異,但人們的思想變化卻不大,一部道德經,幾千年下來我們的思想仍然無法突破它論述的範疇,所以我們可以利用將來可能出現的新技術,結合人們不怎麼改變的思想需求,做一些東西出來——不要問我是什麼東西,我想到也不會告訴你。

      是不是覺得上面的這些東西都很虛很哲學?虛實只是相對的,當你達到這樣的境界,你自然就會明白我說的是什麼,當然,當你覺得已經知道我在說什麼了,我覺得你還是可以繼續再想想,後面再來看,感覺又不一樣。張三丰教張無忌太極劍的時候,連續兩次教招,卻無一式相同。張無忌“細細體會其中圓轉如意,綿綿無盡之意”,楊逍殷天正“粗略窺到這個層次”,而周顛則是“大爲擔心,兩遍都不一樣,咱們教主怎麼記得住?”道理不在於講,而是在於悟,否則講得再多也沒用,不深刻,沒效果。一陣風吹過,吹過鬆散的茅草屋,那就是一場災難;吹過石壁,最多也只能帶走幾顆細沙;吹過水麪,能蕩起了一圈圈的波浪;吹過風車,則產生了源源不斷的電力。蘋果掉到牛頓頭上,就誕生了萬有引力,掉到你我頭上,只能產生一個包和一顆蘋果核。好吧我們就不討論假如掉的不是蘋果而是椰子的事情了。上士聞道,勤而行之;中士聞道,若存若亡;下士聞道,大笑之,不笑,不足以爲道。鄧小平之所以喜歡看金庸的小說,稱呼金庸爲大師,他必然是看到了小說裏面的這些道理。

      虛到九天之上,還是得落地。讓我們看看一些稍微實際點的東西。你水平提高了,開始做設計了,開始寫設計文檔,你應該寫些什麼?在你記錄下你做出來的東西(你搞出了CDM、PDM)的時候,我覺得你還需要記錄下你這樣做的原因,因爲隨着時間推移,你設計的東西很可能不適用,但你的想法還是很有用很有參考意義的,你的想法是你CDM存在的原因。別人看你的設計文檔,不單能看到死的結果,還能看到活生生的你的思想,然後延續這種思想,讓設計具有生命力,能夠延續下去。平時我們做需求,也要很清楚地知道什麼纔是真正的需求。我們來研究一下手機鈴聲,它表示了一種什麼樣的需求呢?你寫下需求“我們的手機需要一種鈴聲”,於是,設計就產生了蜂鳴聲鈴聲、十六和絃鈴聲、MP3鈴聲,但這就是我們的需求嗎?不是的,其實你想說的是“我們需要一種提醒方式,這樣在短信、或者電話到來的時候就能提醒使用者注意了”,這樣就能設計出各種鈴聲,還有震動,還有鈴聲混合震動,在極端情況下,假如用戶處於一個高度緊張的環境之下,很難注意到這種提醒,我們還能設計出讓手機彈出一根刺,刺他一下的方式,一下不行?來多幾下。記得之前看到一個鬧鐘的笑話:推銷員對一個職員說,我們這種鬧鐘非常好用!它一開始放輕柔的音樂,如果還不醒,那它改放嘈雜的音樂,如果還不醒,它就往你頭上灑水,再不醒,它就開始刺你。如果這樣都還不醒,它就會打電話給你老闆,告訴他你生病了,請假一天。這個鬧鐘深刻把握了自己的本質啊。

      具有洞察力,我們就能根據行爲和目標的契合程度,評價行爲是否合理。作爲技術人員,我們身邊的爭論隨處可見,語言之爭,框架之爭,各種流派,各種山寨,比比皆是。“{”到底放在方法定義的最右邊,還是放在方法定義的下一行呢,這可不是一件小事,這是一件很嚴肅的大事情,關乎信仰!從我瞭解的歷史開始,我還沒有見到任何一方說服了另外一方。面對這這樣瘋狂的一個世界,你怎樣選擇加入哪一方呢?李開復說:“Follow your heart!”我說,你首先看看你的目標,你就知道選擇那一方了。譬如說開發語言,我們用它的目標是什麼?假如我們需要能夠很自然地去面對複雜的問題,而且開發過程中,我們需要能夠飛快地利用語言的特性,構建我們的軟件,那麼C#就是很好的選擇,用了彙編你就死翹翹,至少幹十年才能把一個增刪改查Web系統搞出來;假如我們需要進行很底層的開發,邏輯不復雜,但要做到精確的控制,性能是第一要義,那麼你要選擇彙編,甚至用刀子在硬盤上刻程序也在所不惜啊。語言之爭之混亂,在於大家將目標和選擇兩者混爲一談,從而成功地將它們搗成了一桶漿糊。框架也是如此,我們現在的目標是什麼?我們要自然,要快速開發,而且我們還需要能夠擴展,那麼我們評價框架的標準就很清楚了。你框架裏頭技術含量多麼深厚,都到地核了,你用了三層架構,你共使用了23種不同的模式,你使用了微軟到目前爲止出現的所有技術,這些都沒有意義。你做不到讓我用起來那種如臂使指的感覺,你甚至阻礙我整體流的思考方式,你就說服不了我,你的框架是適用的。

      到達了虛的境界之後,是不是實就沒有用了呢?不是的,年輕人,看問題不能那麼片面。虛和實,就相當於戰略和戰術,你看清楚了目標,只能說明你最高能去到什麼地方,這只是一種可能。而實實在在你能夠達到什麼高度,是由你的戰術來決定的。眼界只能決定你看到的高度,而實操才真正決定了你達到的高度。虛實到頭來要結合到一起,用虛指導實,用實來實現虛,相得益彰,互爲陰陽。

     這個世界規律是虛的,推動世界發展實實在在的力量是實的。我們想想電燈,電腦,抽水馬桶,哪一個不是實在的術創造出來的?我們看看下圖的這張凳子,它就是傳說中的“Aeron chair”,它具有出衆的外觀,具有領銜的人體工學設計,它能根據就座者不同的體重、姿勢和動作進行精準的調節,與你的身體自然貼合,讓你感受一整天不會疲倦的輕鬆自如,更有一小撮份子宣稱,由於坐起來太舒服了,他們經常不知不覺加了好多次班還不知道!(廣告!廣告!趕快Cut掉!)對比一下我們平時坐的電腦椅呢?這就是術的差距,術的力量!當然,也在於他們把握了椅子不單只是用來坐的,而是要用來坐得非常舒服的這個道有關係。

clip_image001

     說了那麼久深度,讓我們也來聊聊廣度。廣度也是人認識中很重要的一部分。你只有掌握了很多東西,你才能夠瞭解到什麼時候應該用什麼技術。有這麼一句話:“假如你是一把錘子,那麼所有東西在你眼中都是釘子”。假如你只會鐵錘這項技能,你只能打樁用錘,砍樹用錘,連吃飯你都用錘盛着吃。好吧,你錘子練到了最高境界,達到了剛極而柔的化境,你用來吃飯一點問題都沒有,可是,你真……沒覺得吃相有那麼一點難看麼?打樁用鐵錘,砍樹用斧頭,吃飯用筷子,耶!這樣就溫文爾雅得多了。

     對廣度的關注,也會促成轉化爲深度的思考,考慮不同東西的相同之處。對廣度的探尋,常常會引出創新的主意,將不同的東西混合起來解決問題,是一種創新的做法;綜合多種不同的思想,產生一種新的技術,就是創新的領域。近親繁殖多產生怪胎,相距越遠,就越能產生優良的品種。所以我們也要追求廣度,不過要留意要達到創新的地步的話,至少在深度上面是要達到一定境界的。

你看我扯了這麼多方外之言,內心在顫抖,這個行業水太深了!我是不是應該轉行?你這樣想。完全不必要,假如你朝着深度這條路走下去,你最終也能有這樣的感悟。而且即使是其他行業,也是要有深度的,我們最終走向的將會是同一條路。

      要往深度走下去,你應該怎麼做呢?假如你抓住我,讓我儘快提升你的境界,錘鍊你的深度,我是做不到的。要做到這件事,只能靠你自己的不斷思考,思考一切後面的原因。想象一個胖子需要減肥,有什麼萬試萬靈的方式嗎?假如他一天需要減十斤,我認爲是搞不定的,我們只能從他身上切下一塊肉,稱一下——十斤!真正有效的辦法是他自己運動起來,注意健康的飲食,然後長期下來,才能達到一個健康的體魄,纔能有真正的精氣神。

     所以你的思考,就是這麼一個過程,只有你自己不斷思考不斷突破,最終才能達到一個較高的境界。別人說的再多,你沒有經過思考消化吸收,最後也沒能轉化爲你的肌肉,提供給你力量,只會變成你的脂肪,增加你的負擔,阻礙你的行動,最後還影響你對其他營養的吸收。看書本怎麼說,看我怎麼說,然後教條主義去運用,是行不通的,你需要將這些東西真真正正變成你自己的東西。知難行易,你可能輕易就開始行動了,卻慘不透其中的道理;知易行難,知道了跑步有益身心,你卻很難去堅持它。這些都是你的障礙,只能靠你自己去突破。

     我們什麼時候會思考?就我自己而言,我通常在看書的時候思考,在和人討論的時候思考,在遇到困難的時候思考,在獨處的時候,有時候也會發呆思考。基本上,都是思想遇到衝擊的時候進行思考。所以,你如果要往更深的地方發展,要做的是從現在開始,珍惜看書的機會,珍惜和別人討論的機會,創造機會和別人討論(聽君一席話,勝讀十年書啊,八卦除外),去完成具有挑戰性的任務。平時也要注意一些你覺得有思想的文章的微言大義,琢磨一下,都是能夠對你思想進行衝擊的,比如我之前推薦的《火星人的耳機》、《一百年後人類怎麼編程》等貌似不着邊際的文章。普通的解決問題的文章,講究的是頭痛醫頭腳痛醫腳,違反中醫之道,通常是很難促進你體質的提高的。書要挑經典的書,否則它說不定將你帶進歧途深處,積重難返。眼中看着《金瓶梅》,腦中想着世界運轉的道理,人間色相,盡是脂粉骷髏,這種境界,小弟目前修煉尚淺,是萬萬達不到的。

    最重要的是你認識到這一點,從今天開始覺得,你應該知道。上頭再跟你說“你TMD不需要知道,你只需要做就行了”,你應該認識到他說這句話,他的意思其可能是:他很忙,沒空跟你說;他自己也不知道。而絕對不是你不需要知道的意思。黃總都還要開發佈會特地告訴你公司的決定和原因呢,他是更不應該不讓你知道的。你需要知道,從現在開始思考,開始尋找爲什麼吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章