提高程序員學(xué)習(xí)能力三要點(diǎn)
IT技術(shù)的發(fā)展日新月異,新技術(shù)層出不窮,具有良好的學(xué)習(xí)能力,能及時(shí)獲取新知識(shí)、隨時(shí)補(bǔ)充和豐富自己,已成為程序員職業(yè)發(fā)展的核心競(jìng)爭(zhēng)力。本文中,作者結(jié)合多年的學(xué)習(xí)經(jīng)驗(yàn)總結(jié)出了提高程序員學(xué)習(xí)能力的三個(gè)要點(diǎn)。
眾所周知,現(xiàn)在是一個(gè)知識(shí)爆炸的時(shí)代,知識(shí)更新非???。據(jù)測(cè)算,一個(gè)大學(xué)畢業(yè)生所學(xué)到的知識(shí),在畢業(yè)之后2年內(nèi),有效的不過(guò)剩下5%。對(duì)于軟件行業(yè)而言,這種形勢(shì)更為明顯,我們賴(lài)以立足的,不在于我們現(xiàn)在掌握了多少知識(shí),而是我們有多強(qiáng)的學(xué)習(xí)能力。
學(xué)習(xí)人人都會(huì),但不同的人學(xué)習(xí)效果卻千差萬(wàn)別。一個(gè)善于學(xué)習(xí)的人,首先應(yīng)該是一個(gè)善于讀書(shū)的人,懂得如何高效地學(xué)習(xí),并且擁有良好的心態(tài)。唯有如此,才能成為一個(gè)卓有成效的學(xué)習(xí)者,成就卓越的程序人生。
要善于讀書(shū)
買(mǎi)書(shū)是最劃算的投資
古人云:“書(shū)中自有黃金屋,書(shū)中自有顏如玉。”這說(shuō)明先賢們?cè)缯J(rèn)識(shí)到,買(mǎi)書(shū)是最劃算的投資。
我剛出道時(shí),拿著非常微薄的工資。有一次向主管抱怨道:“現(xiàn)在的書(shū)真貴啊,這點(diǎn)工資連飯都吃不起,更別說(shuō)買(mǎi)書(shū)了!”主管對(duì)我說(shuō):“不要吝惜買(mǎi)書(shū)的錢(qián),寧可忍著不吃飯,也不要忍著不買(mǎi)書(shū),因?yàn)橘I(mǎi)書(shū)是回報(bào)率最高的投資?!?/p>
主管的話讓我非常震動(dòng)。后來(lái),我看到喜歡的書(shū)時(shí),再也沒(méi)有手軟過(guò)。通過(guò)不斷學(xué)習(xí),我的開(kāi)發(fā)能力不斷提高,工資水平也大幅提高。一年后,我一個(gè)月工資的漲幅,就足夠買(mǎi)兩年的書(shū)了。你說(shuō),還有比這更劃算的投資嗎?
一本書(shū),哪怕只有一頁(yè)紙是有用的,它所將產(chǎn)生的潛在價(jià)值,也會(huì)遠(yuǎn)遠(yuǎn)超過(guò)書(shū)本身的價(jià)格。當(dāng)然,書(shū)不在多,踏踏實(shí)實(shí)消化掉一本好書(shū),比泛泛而讀10本普通書(shū),要有價(jià)值得多。
多讀經(jīng)典書(shū)
現(xiàn)在市面上給程序員讀的書(shū)種類(lèi)非常豐富。人生有涯,我們只能有選擇性地看,要多看好書(shū)、多看經(jīng)典書(shū)。
軟件開(kāi)發(fā)方面的圖書(shū)大致分為三類(lèi)。
1. 淺顯的入門(mén)類(lèi)圖書(shū)。這類(lèi)書(shū)的標(biāo)題往往是《XX天精通XXX》、《XXX從入門(mén)到精通》、《XX開(kāi)發(fā)實(shí)戰(zhàn)》等,通常從軟件的安裝講起。有人批評(píng)這類(lèi)書(shū)為爛 書(shū)、毫無(wú)價(jià)值,這并不公平。至少我曾經(jīng)從這些書(shū)中學(xué)到了一些東西。即使是21天系列書(shū),也有適合看的人群。只不過(guò),它一般也就只能看21天而已,過(guò)后就可 以扔到廢紙堆。這類(lèi)書(shū)只適于還沒(méi)有入門(mén)的初學(xué)者,從中學(xué)到一些入門(mén)招式。在剛起步時(shí)一般買(mǎi)一本就夠了。如果你善于使用搜索引擎,那幾乎沒(méi)有買(mǎi)這類(lèi)書(shū)的必 要。
2. 國(guó)內(nèi)外高手寫(xiě)的實(shí)戰(zhàn)類(lèi)圖書(shū)。這類(lèi)書(shū)實(shí)戰(zhàn)性很強(qiáng),將技術(shù)及原理講得很透徹。比如《Windows環(huán)境下32位匯編語(yǔ)言程序設(shè)計(jì)》、《深入解析MFC》、 《Delphi深度探索》、《深入淺出WPF》、《深入剖析ASP .NET組件設(shè)計(jì)》等。以前這類(lèi)書(shū)都是從國(guó)外翻譯或從臺(tái)灣引進(jìn)的,現(xiàn)在國(guó)內(nèi)高手越來(lái)越多,出自國(guó)內(nèi)作者的圖書(shū)也越來(lái)越多。如果能在學(xué)習(xí)的每個(gè)方向看兩三本 這類(lèi)圖書(shū),并通過(guò)實(shí)踐消化掉,那么毫無(wú)疑問(wèn),你會(huì)成為一名優(yōu)秀的程序員。
3. 國(guó)外大牛寫(xiě)的揭露本質(zhì)、有豐富思想的書(shū)。這類(lèi)書(shū)就是所謂的經(jīng)典書(shū),例如《代碼大全》、《編程珠璣》、《設(shè)計(jì)模式》、《重構(gòu)》、《代碼整潔之道》等。經(jīng)典書(shū) 就像一個(gè)有深度、有思想的朋友,能給你啟發(fā),每次閱讀都會(huì)有新的收獲,這類(lèi)書(shū)具有真正的收藏價(jià)值??唇?jīng)典書(shū)永遠(yuǎn)是正確的選擇,它絕不會(huì)浪費(fèi)你的時(shí)間,因?yàn)?經(jīng)典書(shū)是無(wú)數(shù)人沙里淘金、幫你挑選出的結(jié)果。
然而,閱讀這類(lèi)書(shū)并不是一件容易的事情。讀者需要有豐富的開(kāi)發(fā)經(jīng)驗(yàn),才能與作者產(chǎn)生共鳴。如果一本經(jīng)典書(shū)你看得很辛苦,那么很有可能是因?yàn)槟愎αξ磯?,這種情況下不要著急,慢點(diǎn)來(lái),不妨先將其束之高閣,多看看實(shí)戰(zhàn)類(lèi)圖書(shū)。過(guò)一段時(shí)間再回頭來(lái)看,也許你會(huì)有新的驚喜。
不要在上班時(shí)間看書(shū)
一個(gè)善于學(xué)習(xí)的人,首先要善于利用一切時(shí)間來(lái)學(xué)習(xí)。雷鋒曾說(shuō)過(guò):“時(shí)間就像海綿里的水,只要愿意擠,總還是有的。”然而,當(dāng)我們從上班時(shí)間中擠時(shí)間學(xué)習(xí)時(shí),就千萬(wàn)要注意了,不要在上班時(shí)間看書(shū)!
上班時(shí)間看書(shū),不但是一件很敏感的事情,而且非常吸引眼球,很快就會(huì)引起周遭的不爽。首先老板心里不爽:“我給你錢(qián)是讓你來(lái)工作的,不是來(lái)學(xué)習(xí)的”;其次同事們也不爽:“我們工作都做不完,瞧,這小子真閑啊”。用不了多久,你就會(huì)成為被眾人排斥的異類(lèi),這最終會(huì)讓你自己“很受傷”。
要高效學(xué)習(xí)
只學(xué)習(xí)與工作相關(guān)的東西
我曾發(fā)現(xiàn)不少程序員在學(xué)習(xí)方面找不到方向,一會(huì)兒學(xué)學(xué)C#,一會(huì)兒學(xué)學(xué)Java,看了最新的編程語(yǔ)言排行榜,又覺(jué)得該學(xué)C++。這樣左抓抓,右撓撓,只會(huì)讓你覺(jué)得更癢。
學(xué)習(xí)最忌三心二意。俗話說(shuō):“傷其十指不如斷其一指”,每門(mén)都學(xué)一點(diǎn),還不如專(zhuān)心學(xué)好一個(gè)方向。這個(gè)道理誰(shuí)都懂,可是又該學(xué)哪個(gè)方向呢?難道只能跟著感覺(jué)走嗎?不!最實(shí)際的方向,應(yīng)該跟著工作走,工作需要什么,我們就學(xué)什么,把工作需要的技能熟練掌握,有很多好處。
首先,可以集中精力,在某一方面鉆研得更加深入。所謂“百招會(huì)不如一招絕”,有了絕招,你還怕不能在“武林”立足嗎?《天龍八部》中的慕容復(fù)武功博學(xué)無(wú)比,最后還不是被只會(huì)一招六脈神劍的段譽(yù)打得落花流水?
其次,可以學(xué)得更快、更深入,因?yàn)閷W(xué)習(xí)更具有針對(duì)性,而且可以立即在工作中運(yùn)用,可以馬上檢驗(yàn)出學(xué)習(xí)的效果。對(duì)存在的問(wèn)題進(jìn)行深入研究,掌握的知識(shí)也會(huì)更加牢固。
再次,學(xué)習(xí)與工作結(jié)合在一起,工作時(shí)間也就成了學(xué)習(xí)時(shí)間,這樣就突破了三個(gè)8小時(shí)的限制:有人說(shuō),我們每天所擁有的時(shí)間可以分為三個(gè)8小時(shí),工作8小時(shí),睡覺(jué)8小時(shí),另外還有8小時(shí)可以自己自由支配。工作和睡覺(jué)的兩個(gè)8小時(shí)大家都一樣,決定人生高度的是另外這個(gè)8小時(shí)。當(dāng)我們把學(xué)習(xí)的焦點(diǎn)放到與工作相關(guān)的知識(shí)上時(shí),工作時(shí)間中的很大一部分,同時(shí)也就成了寶貴的學(xué)習(xí)時(shí)間,這真是一舉兩得的美事啊。
問(wèn)題是最好的學(xué)習(xí)機(jī)會(huì)
日本經(jīng)營(yíng)之神松下幸之助曾說(shuō)過(guò):“工作就是不斷發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、最終解決問(wèn)題的過(guò)程,晉升之門(mén)將永遠(yuǎn)為那些隨時(shí)解決問(wèn)題的人敞開(kāi)著。”可見(jiàn),工作過(guò)程中有問(wèn)題是正常,沒(méi)有問(wèn)題才是真正的問(wèn)題。在發(fā)生問(wèn)題時(shí),能勇于面對(duì)問(wèn)題、解決問(wèn)題的人,才是公司真正的骨干。
現(xiàn)實(shí)中,很多人總是千方百計(jì)回避問(wèn)題。當(dāng)上司安排一項(xiàng)艱巨的任務(wù)時(shí),也想盡辦法推托。殊不知,對(duì)于個(gè)人而言,問(wèn)題其實(shí)是最好的學(xué)習(xí)機(jī)會(huì)。往往那些愿意接受困難工作的人,能力會(huì)越來(lái)越強(qiáng),那就是因?yàn)樗麄冊(cè)诳朔щy的過(guò)程中取得了巨大的進(jìn)步。
織網(wǎng)式學(xué)習(xí)
知識(shí)的廣度和深度都很重要。作為一名程序員,能深入把握技術(shù)細(xì)節(jié),是寫(xiě)出優(yōu)質(zhì)代碼的保證。但對(duì)于一名項(xiàng)目經(jīng)理而言,知識(shí)的廣度更顯重要。項(xiàng)目中碰到的問(wèn)題往 往具有綜合性,只有具備廣博的知識(shí),才能快速對(duì)問(wèn)題進(jìn)行分析和定位。在程序員成長(zhǎng)的道路上,我們必須有意識(shí)地?cái)U(kuò)大自己的知識(shí)面,形成更完善的知識(shí)體系。
我曾經(jīng)編寫(xiě)過(guò)一個(gè)網(wǎng)絡(luò)信息采集軟件,這個(gè)軟件可以從具有列表頁(yè)的網(wǎng)站中按字段設(shè)置采集信息,支持自定義字段、頁(yè)面多級(jí)關(guān)聯(lián)、下載附件、支持多種數(shù)據(jù)庫(kù)、可視 化定義等特性。剛開(kāi)始,我認(rèn)為這個(gè)軟件只是一個(gè)比較大的功能點(diǎn)而已,后來(lái)發(fā)現(xiàn)這個(gè)不起眼的功能關(guān)聯(lián)著大量的知識(shí)點(diǎn)(如圖1所示)。
經(jīng)常思考總結(jié)
子曰:“學(xué)而不思則罔”。人只學(xué)習(xí)不思考,就會(huì)迷惑,難以把握事情的本質(zhì)。這就好比一個(gè)學(xué)武之人,只習(xí)得其形,而未得其神,難以成為真正的高手。
從入門(mén)到成為高手的過(guò)程中,程序員往往要經(jīng)過(guò)幾次頓悟。記得有一次,我領(lǐng)悟到了一個(gè)很簡(jiǎn)單的結(jié)論:“原來(lái)高級(jí)編程語(yǔ)言中的類(lèi)庫(kù)是封裝了Windows API來(lái)實(shí)現(xiàn)的。”后來(lái)碰到一些自帶類(lèi)庫(kù)無(wú)法實(shí)現(xiàn)的功能時(shí),我就會(huì)想到,其實(shí)可以通過(guò)調(diào)用Windows API來(lái)實(shí)現(xiàn)。利用這個(gè)思路,我解決了一些看起來(lái)很難的問(wèn)題,得到老板的賞識(shí),從而很快獲得提升。
頓悟非??少F,然而它不是隨便發(fā)生的,而是經(jīng)過(guò)一次次苦苦思索之后、靈光閃現(xiàn)的結(jié)果。思考的過(guò)程,其實(shí)就是將外在知識(shí)內(nèi)化為自己的知識(shí)的過(guò)程。而頓悟,則批量實(shí)現(xiàn)這種內(nèi)化,將無(wú)數(shù)個(gè)知識(shí)點(diǎn)連接在一起,達(dá)到融會(huì)貫通的境界。
克服“高原現(xiàn)象”
愛(ài)學(xué)習(xí)的人都會(huì)有這樣的經(jīng)歷:學(xué)習(xí)持續(xù)了一段時(shí)間之后,往往會(huì)有一個(gè)瓶頸期,長(zhǎng)時(shí)間似乎都沒(méi)有什么進(jìn)步,于是內(nèi)心非常著急。
這種情況,實(shí)際上是由人的學(xué)習(xí)規(guī)律決定的一種“高原現(xiàn)象”。據(jù)研究,學(xué)習(xí)者在剛開(kāi)始進(jìn)步快,隨后有一個(gè)明顯的或長(zhǎng)或短的進(jìn)步停頓期,后期進(jìn)步慢,中間的停頓期叫高原期(如圖2所示)。
處于高原期時(shí),還可以換一個(gè)相關(guān)的方向來(lái)學(xué)習(xí)。例如,編程語(yǔ)言學(xué)不下去了,可以學(xué)習(xí)一下設(shè)計(jì)模式,設(shè)計(jì)模式也學(xué)不下去了,再換成數(shù)據(jù)庫(kù)。通過(guò)學(xué)習(xí)這些相關(guān)的知識(shí),不但補(bǔ)齊了知識(shí)體系中的短板,而且各個(gè)知識(shí)點(diǎn)之間可以互相啟發(fā),幫助你實(shí)現(xiàn)頓悟,跨過(guò)高原期。
要有好心態(tài)
學(xué)習(xí)要靜心
急于求成是學(xué)習(xí)過(guò)程中普遍存在的一種心態(tài),這可以理解。畢竟作為一名程序員,要學(xué)的東西實(shí)在太多,而社會(huì)又是那樣的浮躁,讓人覺(jué)得一切都是那樣的不安全、不確定,似乎只有學(xué)得快一點(diǎn),才能跟上社會(huì)的腳步。
可是“欲速則不達(dá)”,想快快地學(xué),往往會(huì)形成東一榔頭、西一棒槌的學(xué)習(xí)方式,每一個(gè)點(diǎn)都沒(méi)有吃透。心沉不下去,知識(shí)也會(huì)沉不下去。要想成為真正的高手,只能靜下心,一步一個(gè)腳印慢慢來(lái)。
學(xué)習(xí)是持續(xù)一生的過(guò)程
人生,就是一個(gè)自我完善過(guò)程。
子曰:“吾十有五而志于學(xué),三十而立,四十而不惑,五十而知天命,六十而耳順,七十而從心所欲,不逾矩?!笨梢?jiàn)孔子也不是天生的圣人,也在不停地學(xué)習(xí)、進(jìn)步,從“志于學(xué)”到“從心所欲,不逾矩”,孔子一共花了55年的時(shí)間。
作為一名程序員,更需要不斷豐富自己的知識(shí)庫(kù)。我們所知道的東西,就像一個(gè)白色的圓圈,圈外則是黑暗的未知的世界。當(dāng)圓圈越大,所接觸到的黑暗部分就越多。我們只有不停地學(xué)習(xí),才能打破更多的黑暗,找到更多光明。
保持饑餓,保持愚蠢
我非常喜歡喬布斯的一句話:“求知若饑,虛心若愚”(Stay Hungry,Stay Foolish)。其實(shí)我更喜歡它更原生態(tài)的翻譯“保持饑餓,保持愚蠢”。我們只有認(rèn)識(shí)到自己還很饑餓和愚蠢,才會(huì)像沒(méi)吃飽一樣,由衷地需要學(xué)習(xí)、愛(ài)上學(xué)習(xí)。
VIA:尹華山
- 目前還沒(méi)評(píng)論,等你發(fā)揮!