很多技術(shù)人都很迷茫,覺得自己做的項目沒有技術(shù)含量,成天就是賣苦力。技術(shù)的東西,日新月異,有些人總在忙于追求熱點新技術(shù),東學(xué)學(xué)、西學(xué)學(xué),平時泛泛地看技術(shù)書籍、技術(shù)文章,但始終根本抓不住技術(shù)的本質(zhì),干了三五年之后,感覺并沒有積累到什么東西,跟剛畢業(yè)的大學(xué)生能力差不多,因此深深的感到焦慮。
實際上,本質(zhì)的原因,還是我們沒有掌握到,做為程序員,我們該積累什么東西?是各種知識、技術(shù)本身嗎?我覺得不是,我覺得最應(yīng)該積累的是“能力”。
能力就像是內(nèi)功,而知識就像是招式。知識會過時,而能力永遠都不會過時。初級程序員才比招式,高級程序員只看內(nèi)功。
對于一個程序員來說,如何修煉內(nèi)功呢?首要是打好基本功,比如掌握操作系統(tǒng)、編譯原理、數(shù)據(jù)庫理論等,但最基礎(chǔ)的應(yīng)該就是扎實的掌握數(shù)據(jù)結(jié)構(gòu)和算法了。
又快到校招季節(jié)了,群里的小伙伴最近問的最高頻的問題就是算法相關(guān)的,并且問有沒有一些好的學(xué)習(xí)資料。這件事情上,小灰是有發(fā)言權(quán)的,為了畫好漫畫,小灰基本上幾乎研讀了市面上所有的算法教程。
盡管有很多資料講得的通俗易懂,也有很多書籍全面、經(jīng)典,但是大部分都偏理論,書中的例子也大多脫離真實的軟件開發(fā)??赐陼螅芏嗳酥皇撬烙浻脖沉艘恍┲R點而已。這樣填鴨式的學(xué)習(xí),對于鍛煉思維、開拓眼界并沒有太多作用。而且,從基礎(chǔ)理論到應(yīng)用實踐,有一個非常大的鴻溝要跨越,這是大學(xué)教育的普遍不足之處,這也是為什么我們常常覺得大學(xué)里學(xué)過的很多知識都沒用。