35歲是程式設計師工作的終點!?(一)
“35歲是程式設計師工作的終點。”這句話到底是什麼意思呢?
猜想一:淘汰
35歲的程式設計師因為計算機領域的知識快更新而被淘汰!
如何避免?
只有學習和規劃
在繁忙的工作中,持之以恆、不斷學習和進步是一件艱鉅的任務,需要堅強的毅力和堅定的決心。如果方法不得當,更是事倍功半。幸好我們的古人和現在哲人已經總結了很多優秀的學習方法論,這裡彙總了一些重要原則。遵循這些方法必會對大家的工作學習大有裨益。
貴在堅持
有報道指出,過去幾十年的知識量超過之前人類幾千年的知識量總和。而計算機領域絕對是當代知識更新最快的領域之一,因此,工程師必須要接受這樣一個現實,現在所掌握的深厚知識體系很快就會被淘汰。要想在計算機領域持續做優秀架構師,就必須不停的學習,掌握最新技術。總之,學不可以已。
所謂“冰凍三尺,非一日之寒,水滴石穿,非一日之功”,通往架構師的道路漫長而又艱鉅,輕易放棄,則所有付出瞬間付之東流。要想成為優秀的架構師,貴在堅持!
雖然知識更新很快,但是基礎理論的變化卻非常緩慢。這就是“道”和“象”關係,縱是世間永珍,道卻萬變不離其宗。對於那些非常基礎的理論知識,我們需要經常複習,也就是“學而時習之”。
Java企業級電商專案架構演進之路 Tomcat叢集與Redis分散式和Java深入微服務原理改造房產銷售平臺,需要完整Java全套資料可以掃下方微信碼免費領取
專案效果展示圖
重視實踐
古人云:“紙上得來終覺淺,絕知此事要躬行。” 學習領域有所謂721模型:個人的成長70%來自於崗位實踐,20%來自向他人學習,10%來自於培訓。雖然這種理論存在爭議,但對於工程師們來說,按照實踐、學習和培訓的方式進行重要性排序,大致是不錯的。所以重視實踐,在實踐中成長是最重要的學習原則。
人類的認知有兩種:感性認知和理性認知。這兩種認知互相不可替代性。實踐很大程度來自於感性學習,看書更像是理性學習。以學開汽車做例子,很難想象什麼人能夠僅僅通過學習書本知識就會開汽車。
書本知識主要是傳道——講述抽象原型,而對其具體應用場景的講述往往含糊其辭,對抽象原型之間的關係也是淺嘗輒止。採用同樣精確的語言去描述應用場景和關聯關係將會失去重點,讓人摸不著頭腦。所以,僅僅通過看書來獲得成長就像是用一條腿走路。
重視實踐,充分運用感性認知潛能,在專案中磨鍊自己,才是正確的學習之道。在實踐中,在某些關鍵動作上刻意練習,也會取得事半功倍的效果。
重視交流
牛頓說:“如果說我看得比別人遠一些,那是因為我站在巨人的肩膀上。”我們需要從別人身上學習。從老師、領導、同事、下屬甚至對手身上學習,是快速成長的重要手段。
向老師和領導學習已經是人們生活習慣的一部分了。但是從同事甚至對手那裡學習也很重要,因為這些人和我們自身更相似。所以要多多觀察,取其所長,棄其所短。對於團隊的小兄弟和下屬,也要“不恥下問”。
此外,在專案中積極參與具體方案討論也非常重要。參與者先驗感知了相關背景,並且討論的觀點和建議也是綜合了發言者多種知識和技能。所以,討論讓參與者能夠非常全面,立體地理解書本知識。同時,和高手討論,他們的觀點就會像修剪機剪樹枝一樣,快速的剪掉自己知識領域裡面的疑惑點。
重視總結和輸出
工程師在實踐中會掌握大量細節,但是,即使掌握了所有細節,卻沒有深刻的總結和思考,也會陷入到“學而不思則罔”的境地。成長的“量變”來自於對細節的逐漸深入地把控,而真正的“質變”來自於對“道”的更深層次的理解。
將經驗輸出,接受別人的檢驗是高層次的總結。這種輸出不僅幫助了別人,對自身更是大有裨益。總結的方式有很多,包括組織分享,撰寫技術文章等等。當然“日三省吾身”也是不錯的總結方式。總之,多多總結,多多分享,善莫大焉!
解答別人的問題也是個人成長的重要手段。有時候,某個問題自己本來不太懂,但是在給別人講解的時候卻豁然開朗。所以,“誨人不倦”利人惠己。
重視規劃
凡事預則立,不預則廢。對於漫長的學習生涯而言,好的計劃是成功的一半。
長期規劃
長期規劃的實施需要毅力和決心,但是做正確的長期規劃還需要高瞻遠矚的眼界、超級敏感的神經和中大獎的運氣。對於大部分人來說,長期規劃定主要是“定方向”。但遵循如下原則能夠減少犯方向性錯誤的概率:
1.遠離日暮西山的行業。
2.做自己感興趣的事情。
3.做有積累的事情。
一邊走一邊看,切勿一條道走到黑。
短期規劃
良好的短期規劃應該在生活、成長、績效和晉升之間取得平衡。大部分公司都會制定一個考核週期——少則一個月,多則一年。所以不妨以考核週期作為短期學習規劃週期。本質上,規劃是一個多目標優化問題,它有一系列的理論方案,這裡不一一細說。基於相關理論,我給出一個簡單易行的方案:
1.確定目標優先順序。比如:成長、生活、績效。
2.確定每個目標的下限。從優化理論的角度來看,這被稱為約束。比如績效必須在一般以上,之前已經規劃好的旅行不能更改,必須讀完《Effective Java》等等。
3.優先為下限目標分配足夠的資源。比如,事先規劃好的旅行需要10天,這10天就必須預算出去。
4.按照各主目標的順序依次分配資源。比如,最終分配給學習的時間是10天。
在給定的學習預算下,制定學習目標,要激進。然後給出執行方案。比如,學習目標是掌握基本的統計學知識,併成為Java專家。具體方案為:完成《Effective Java》、《Java Performance》、《Design Pattern》、《Head First Statistics》四本書的閱讀。
對規劃中的各學習任務按目標優先順序進行排序,並最先啟動優先順序最高的任務。比如,最高優先順序是掌握統計理論,那麼就要先看《Head First Statistics》。
Java同行願更進一步者,來者不拒資料免費放送