程序員到底須要學習多少東西??

程序員是一個須要終生學習的職業。我很是同意終生學習,你應該這樣作。可是,在軟件開發領域,有如此多的新技術,有如此多要學習的東西,咱們在學習中會感受被徹底壓垮了。程序員

你感受你一直在扮演追趕的角色,可是一直都趕不上。就像是跑步機一直比你能跑的最快速度還要快幾步,你一直受挫,還有在最後關頭掉隊的危險。學習

 


 

試着學太多spa

問題就是嘗試學太多致使的。有100種不一樣的技術,這些都是你必須或想要在工做中應用的。你感受爲了可以勝任,爲了作到最好,你須要學習和精通全部的這些技術。然而問題是,你感受你其實一個都不精通。視頻

這是個很是輕視的感受。迴應這種感受——有時候證實這是騙子綜合症——你拿起書,課程視頻,和全部你以爲須要精通的技術的各類資源。資源

你把晚上和週末的時間都用來讀書,進行在線訓練而且讀一些博客。開發

可是,這樣是真的有效,仍是讓你承受了太大的壓力?博客

你能記得你讀的一半內容嗎?io

你會真的用到它嗎,或者你爲將來的某天準備——我可能會須要這個桶?學習資料

 

個人觀點並不是是大家不該該學習,只是可能你承受了太大壓力想要學太多東西。class

我這樣說是由於我也曾經是這樣。我這樣作過,我知道這是什麼感受。

我也知道這樣用強行的步驟學習不是頗有效。我不能記起大部分我讀過的技術書,而且在工做中不多或者沒有應用過。

我知道我學習的技術最好是能在實踐中應用。事實上,個人一些最有用,而且保留下來的學習成果,是由於學習我當時作的事情,可是我處理一個問題,沒法解決,於是我必須尋找一個答案。

 


 

及時的學習

看起來可能會很奇怪 ,像我這樣合理分配軟件開發學習資料的人會告訴你,不要去學習太多東西。

可能更合理的狀況是我跟你鼓勵要吸取全部你能接受的信息。你應當在你吃飯,睡覺的時候接二連三的看個人課程資料,而且將其應用於工做。

但事實是,我不認爲這是最有效的學習方式。我不認爲你不停地看個人課程就能學到不少東西。

我以爲改進技能的最好方法就是學習,你須要作的就是在你正須要這些知識的時候學習,所謂的及時的學習。

這不意味着在瞭解一門技術前就開始相關的工做。若是你對要使用的技術一無所知,你會在開始階段就浪費大量時間。可是,我發現只要先作了一下的三件事,你就可以開始使用這門技術開始工做了。

  1. 如何起步

  2. 用這門技術能作什麼

  3. 在你90%的時間裏都會用到的東西

這並不是巧合,我大部分的在線課程都是這樣的結構。我試着告訴你如何起步,展現它能作的,而且告訴你一些基礎。我試着避免深刻技術各個方面的細節,由於這些東西最好是你須要它們的時候再去學習比較好。只要你知道了如何作,具體的細節能夠之後再學習。

一般,學一門新技術最難的地方是學習它能實現什麼。

我發現,越快在實際中應用一項技術而且解決實際的問題,越可以有提升。只要你作到了以上我提到的三點,能讓你的時間更好的花在用技術解決工做中的問題而不是僅僅學習技術自己。

儘管很難放棄和投入。咱們的直覺告訴咱們一直讀書,一直看視頻,在開始作事前一直的學習。

你可能會迫使本身在用一門技術前就精通它,但你必須學會忍受催促。你必須在犯錯和遇到阻礙的時候學習。真正的學習是發生在你須要它的時候,而不是在以前就得到它。

若是你知道了經過一門技術能作什麼,而且還了解了足夠的基礎,那麼在遇到實際中更多問題時,也徹底沒有問題。及時的學習在長遠來看是更加有效的,而且可以讓你不用花費大量時間去處理你消化不了的信息。

 


 

你不可能什麼都知道

即便你有足夠的時間學習,即便你使用及時的學習,你仍然只會學到軟件開發領域的一點點。新技術天天都在出現,現有的技術也在不斷髮展。

意識到你不可能把全部的東西都學會是很重要的。你不可能所有學會,而你知道的可能只是現有技術的一小部分。

這是我談到專門鑽研某一方面的緣由之一。你最好能選一門技術,而且深刻鑽研它而不是全部的技術都想要精通。

這不意味着你不該該在不一樣的方向上擴展你的技術;你固然應該嘗試不一樣的東西。不要以爲你能在好幾個領域內都可以精通。試着讓你的學習集中與兩個主要的方面:

  1. 一個你要精通的特長

  2. 在軟件開發領域裏通用的技術(《代碼大全》)

不要去讓本身的精力太分散。在你須要的時候根據本身的能力進行學習。若是你基礎很好,依靠時間和經驗,你能學會任何你須要用到的技術。

有時候,一些超級程序員看起來什麼都知道,而且什麼都能作,但這只是幻覺。這些超級程序員一般是在一兩個領域內很是精通,而且瞭解大量在不少領域裏通用的知識。

 


相關文章
相關標籤/搜索