古人云:「活到老,學到老。」網際網路算是最辛苦的行業之一,「加班」對工程師來說已是「家常便飯」,同時網際網路技術又日新月異,很多工程師都疲於應付,叫苦不堪。以至於長期以來流傳一個很廣的誤解:35歲是程式設計師工作的終點。
如何在繁忙的工作中做好技術積累,構建個人核心競爭力,相信是很多工程師同行都在思考的問題。本文是我自己的一些總結,試圖從三個方面來解答:
我們該如何學習呢?下面是我自己總結的一些經驗,希望能幫助到一些同仁。(文末復最近整理的PDF檔案資料。)
在繁忙的工作中,持之以恆、不斷學習和進步是一件艱鉅的任務,需要堅強的毅力和堅定的決心。如果方法不得當,更是事倍功半。幸好我們的古人和現在哲人已經總結了很多優秀的學習方法論,這裡彙總了一些重要原則。遵循這些方法必會對大家的工作學習大有裨益。
有報道指出,過去幾十年的知識量超過之前人類幾千年的知識量總和。而計算機領域絕對是當代知識更新最快的領域之一,因此,工程師必須要接受這樣一個現實,現在所掌握的深厚知識體系很快就會被淘汰。要想在計算機領域持續做優秀架構師,就必須不停的學習,掌握最新技術。總之,學不可以已。
所謂「冰凍三尺,非一日之寒,水滴石穿,非一日之功」,通往架構師的道路漫長而又艱鉅,輕易放棄,則所有付出瞬間付之東流。要想成為優秀的架構師,貴在堅持!
雖然知識更新很快,但是基礎理論的變化卻非常緩慢。這就是「道」和「象」關係,縱是世間萬象,道卻萬變不離其宗。對於那些非常基礎的理論知識,我們需要經常複習,也就是「學而時習之」。
古人云:「紙上得來終覺淺,絕知此事要躬行。」 學習領域有所謂721模型:個人的成長70%來自於崗位實踐,20%來自向他人學習,10%來自於培訓。雖然這種理論存在爭議,但對於工程師們來說,按照實踐、學習和培訓的方式進行重要性排序,大致是不錯的。所以重視實踐,在實踐中成長是最重要的學習原則。
人類的認知有兩種:感性認知和理性認知。這兩種認知互相不可替代性。實踐很大程度來自於感性學習,看書更像是理性學習。以學開汽車做例子,很難想象什麼人能夠僅僅通過學習書本知識就會開汽車。
書本知識主要是傳道——講述抽象原型,而對其具體應用場景的講述往往含糊其辭,對抽象原型之間的關係也是淺嘗輒止。採用同樣精確的語言去描述應用場景和關聯關係將會失去重點,讓人摸不著頭腦。所以,僅僅通過看書來獲得成長就像是用一條腿走路。
重視實踐,充分運用感性認知潛能,在專案中磨鍊自己,才是正確的學習之道。在實踐中,在某些關鍵動作上刻意練習,也會取得事半功倍的效果。
牛頓說:「如果說我看得比別人遠一些,那是因為我站在巨人的肩膀上。」我們需要從別人身上學習。從老師、領導、同事、下屬甚至對手身上學習,是快速成長的重要手段。
向老師和領導學習已經是人們生活習慣的一部分了。但是從同事甚至對手那裡學習也很重要,因為這些人和我們自身更相似。所以要多多觀察,取其所長,棄其所短。對於團隊的小兄弟和下屬,也要「不恥下問」。
此外,在專案中積极參與具體方案討論也非常重要。參與者先驗感知了相關背景,並且討論的觀點和建議也是綜合了發言者多種知識和技能。所以,討論讓參與者能夠非常全面,立體地理解書本知識。同時,和高手討論,他們的觀點就會像修剪機剪樹枝一樣,快速的剪掉自己知識領域裡面的疑惑點。
工程師在實踐中會掌握大量細節,但是,即使掌握了所有細節,卻沒有深刻的總結和思考,也會陷入到「學而不思則罔」的境地。成長的「量變」來自於對細節的逐漸深入地把控,而真正的「質變」來自於對「道」的更深層次的理解。
將經驗輸出,接受別人的檢驗是高層次的總結。這種輸出不僅幫助了別人,對自身更是大有裨益。總結的方式有很多,包括組織分享,撰寫技術文章等等。當然「日三省吾身」也是不錯的總結方式。總之,多多總結,多多分享,善莫大焉!
解答別人的問題也是個人成長的重要手段。有時候,某個問題自己本來不太懂,但是在給別人講解的時候卻豁然開朗。所以,「誨人不倦」利人惠己。
凡事預則立,不預則廢。對於漫長的學習生涯而言,好的計劃是成功的一半。
長期規劃的實施需要毅力和決心,但是做正確的長期規劃還需要高瞻遠矚的眼界、超級敏感的神經和中大獎的運氣。對於大部分人來說,長期規劃定主要是「定方向」。但遵循如下原則能夠減少犯方向性錯誤的概率:
良好的短期規劃應該在生活、成長、績效和晉升之間取得平衡。大部分公司都會制定一個考核週期——少則一個月,多則一年。所以不妨以考核週期作為短期學習規劃週期。本質上,規劃是一個多目標優化問題,它有一系列的理論方案,這裡不一一細說。基於相關理論,我給出一個簡單易行的方案:
對於該方案,要注意以下幾點:
此外,短期規劃還可以從如下幾個方面進行優化:
本文就如何學習根據自身的一些經歷總結了以上的一些方式方法。如果你看完覺得有收穫,那麼就開始行動起來吧,早行動一天,離成功就進一天。
以下的2份Java體系檔案免費獲取方式:點選筆記,即可領取免費獲取方式!
最近我整理了一份複習用的面試題及面試高頻的考點題及技術點梳理成一份「Java工程師高頻面試體系.pdf和一份網上搜集的「Java核心知識點體系檔案.pdf」(實際上比預期多花了不少精力),包含集合,JVM,並行程式設計、Spring,MyBatis,微服務,Redis,Dubbo,設計模式,資料結構,分散式等!,由於篇幅有限,為了方便大家觀看,這裡以圖片的形式給大家展示每部分的目錄和答案截圖!
這份Java面試體系檔案非常適合:
相信它會給大家帶來很多收穫。
Java集合
JVM
並行程式設計
Spring
微服務
Dubbo
網路
Zookeeper
Redis
更多就不做展示了,這份Java高頻面試體系檔案是免費分享的,整理不易,有需要的朋友點選筆記即可領取免費獲取方式!
以上的2份Java體系檔案免費獲取方式:點選筆記