程序員是一個需要終生學(xué)習(xí)的職業(yè)。我非常贊成終生學(xué)習(xí),你應(yīng)該這樣做。但是,在軟件開發(fā)領(lǐng)域,有如此多的新技術(shù),有如此多要學(xué)習(xí)的東西,我們在學(xué)習(xí)中會感覺被完全壓垮了。
你感覺你一直在扮演追趕的角色,但是一直都趕不上。就像是跑步機(jī)一直比你能跑的最快速度還要快幾步,你一直受挫,還有在最后關(guān)頭掉隊(duì)的危險。
試著學(xué)太多
問題就是嘗試學(xué)太多導(dǎo)致的。有100種不同的技術(shù),這些都是你必須或想要在工作中應(yīng)用的。你感覺為了能夠勝任,為了做到最好,你需要學(xué)習(xí)和精通所有的這些技術(shù)。然而問題是,你感覺你其實(shí)一個都不精通。
這是個非常輕視的感覺。回應(yīng)這種感覺——有時候證明這是騙子綜合癥——你拿起書,課程視頻,和所有你覺得需要精通的技術(shù)的各種資源。
你把晚上和周末的時間都用來讀書,進(jìn)行在線訓(xùn)練并且讀一些博客。
但是,這樣是真的有效,還是讓你承受了太大的壓力?
你能記得你讀的一半內(nèi)容嗎?
你會真的用到它嗎,或者你為未來的某天準(zhǔn)備——我可能會需要這個桶?
我的觀點(diǎn)并非是你們不應(yīng)該學(xué)習(xí),只是可能你承受了太大壓力想要學(xué)太多東西。
我這樣說是因?yàn)槲乙苍?jīng)是這樣。我這樣做過,我知道這是什么感覺。
我也知道這樣用強(qiáng)行的步驟學(xué)習(xí)不是很有效。我不能記起大部分我讀過的技術(shù)書,并且在工作中很少或者沒有應(yīng)用過。
我知道我學(xué)習(xí)的技術(shù)最好是能在實(shí)踐中應(yīng)用。事實(shí)上,我的一些最有用,并且保留下來的學(xué)習(xí)成果,是因?yàn)閷W(xué)習(xí)我當(dāng)時做的事情,但是我處理一個問題,無法解決,因而我必須尋找一個答案。
及時的學(xué)習(xí)
看起來可能會很奇怪 ,像我這樣合理分配軟件開發(fā)學(xué)習(xí)資料的人會告訴你,不要去學(xué)習(xí)太多東西。
可能更合理的情況是我跟你鼓勵要吸收所有你能接受的信息。你應(yīng)當(dāng)在你吃飯,睡覺的時候連續(xù)不斷的看我的課程資料,并且將其應(yīng)用于工作。
但事實(shí)是,我不認(rèn)為這是最有效的學(xué)習(xí)方式。我不認(rèn)為你不停地看我的課程就能學(xué)到很多東西。
我覺得改進(jìn)技能的最好方法就是學(xué)習(xí),你需要做的就是在你正需要這些知識的時候?qū)W習(xí),所謂的及時的學(xué)習(xí)。
這不意味著在了解一門技術(shù)前就開始相關(guān)的工作。如果你對要使用的技術(shù)一無所知,你會在開始階段就浪費(fèi)大量時間。但是,我發(fā)現(xiàn)只要先做了一下的三件事,你就能夠開始使用這門技術(shù)開始工作了。
如何起步
用這門技術(shù)能做什么
在你90%的時間里都會用到的東西
這并非巧合,我大部分的在線課程都是這樣的結(jié)構(gòu)。我試著告訴你如何起步,展示它能做的,并且告訴你一些基礎(chǔ)。我試著避免深入技術(shù)各個方面的細(xì)節(jié),因?yàn)檫@些東西最好是你需要它們的時候再去學(xué)習(xí)比較好。只要你知道了如何做,具體的細(xì)節(jié)可以以后再學(xué)習(xí)。
通常,學(xué)一門新技術(shù)最難的地方是學(xué)習(xí)它能實(shí)現(xiàn)什么。
我發(fā)現(xiàn),越快在實(shí)際中應(yīng)用一項(xiàng)技術(shù)并且解決實(shí)際的問題,越能夠有提高。只要你做到了以上我提到的三點(diǎn),能讓你的時間更好的花在用技術(shù)解決工作中的問題而不是僅僅學(xué)習(xí)技術(shù)本身。
盡管很難放棄和投入。我們的直覺告訴我們一直讀書,一直看視頻,在開始做事前一直的學(xué)習(xí)。
你可能會迫使自己在用一門技術(shù)前就精通它,但你必須學(xué)會忍受催促。你必須在犯錯和遇到阻礙的時候?qū)W習(xí)。真正的學(xué)習(xí)是發(fā)生在你需要它的時候,而不是在之前就獲得它。
如果你知道了通過一門技術(shù)能做什么,并且還了解了足夠的基礎(chǔ),那么在遇到實(shí)際中更多問題時,也完全沒有問題。及時的學(xué)習(xí)在長遠(yuǎn)來看是更加有效的,并且能夠讓你不用花費(fèi)大量時間去處理你消化不了的信息。
你不可能什么都知道
即使你有足夠的時間學(xué)習(xí),即使你使用及時的學(xué)習(xí),你仍然只會學(xué)到軟件開發(fā)領(lǐng)域的一點(diǎn)點(diǎn)。新技術(shù)每天都在出現(xiàn),現(xiàn)有的技術(shù)也在不斷發(fā)展。
意識到你不可能把所有的東西都學(xué)會是很重要的。你不可能全部學(xué)會,而你知道的可能只是現(xiàn)有技術(shù)的一小部分。
這是我談到專門鉆研某一方面的原因之一。你最好能選一門技術(shù),并且深入鉆研它而不是所有的技術(shù)都想要精通。
這不意味著你不應(yīng)該在不同的方向上擴(kuò)展你的技術(shù);你當(dāng)然應(yīng)該嘗試不同的東西。不要覺得你能在好幾個領(lǐng)域內(nèi)都能夠精通。試著讓你的學(xué)習(xí)集中與兩個主要的方面:
一個你要精通的特長
在軟件開發(fā)領(lǐng)域里通用的技術(shù)(《代碼大全》)
不要去讓自己的精力太分散。在你需要的時候根據(jù)自己的能力進(jìn)行學(xué)習(xí)。如果你基礎(chǔ)很好,依靠時間和經(jīng)驗(yàn),你能學(xué)會任何你需要用到的技術(shù)。
有時候,一些超級程序員看起來什么都知道,并且什么都能做,但這只是幻覺。這些超級程序員通常是在一兩個領(lǐng)域內(nèi)非常精通,并且了解大量在很多領(lǐng)域里通用的知識。
-
程序員
+關(guān)注
關(guān)注
4文章
951瀏覽量
29799
發(fā)布評論請先 登錄
相關(guān)推薦
評論