此次去深圳的時候,抽空參加了一個深圳本地的線下沙龍,去的時候這個活動已經進行開始,剛坐下來不久,就聽一個新程序員問一個老程序員的一個問題,引發了你們的熱議。前端
年輕的程序員的問題是這樣子的,他說如今新技術更新太頻繁了,過個兩三年就會出現一個新的框架,好比早些年很是流行的 Struts 說淘汰就淘汰了,好不容易掌握了 Spring ,如今又出現了 Spring Boot、Spring Cloud 框架,根本就學不過來。程序員
那麼做爲一名老程序員和一名新程序員在面對新技術的時候是站在一個水平線上的,但明顯剛入行的程序員精力更旺盛一些,學習熱情又強,那麼老程序員的優點體如今哪裏呢?面試
感覺了一下,這不就是新程序員要把老程序員拍到沙灘上嗎?前端框架
估計前端開發人員看到這個問題硬是要吐出一口老血了,前端框架的更替那叫一個火箭速度呀。今天還在 AngularJS ,明天忽然就出現個 React,當 React 快要掌握的時候,市場上 Vue 大火,而且常常出現最新版本不能日後兼容,坑X呀。要想精通全部框架,對每一個程序員來說,那真的是臣妾作不到呀。架構
那若是真按照新程序員說的那樣,那老程序員不是早被淘汰了,爲何市面上老程序員的工資比新程序員高好幾倍呢?難道 Hr 都是腦癱。框架
其實呢不是這樣子的。工具
就拿招聘來說吧,咱們常常看到的面試條件會寫到2/3年以上開發經驗,某某行業背景的優先。就說這面試總要求多年以上的開發經驗,這究竟是要求什麼樣的能力?能夠很負責任的講,這種能力就是解決問題的能力。學習
老程序解決問題的能力比新程序員要強 N 倍。新程序員開發過程當中,忽然遇到一個問題卡住了,有可能就這個問題就卡一兩天,當他拿着這個問題去問老程序員的時候,可能老程序員就抽了一眼,說怎樣怎樣試一把,問題就解決了。設計
老程序員的學習能力實際上是更強的,由於前面有了積累很容易掌握相似的技術,好比當你精通了 Java ,我相信通過不多時間的刻意學習,你就會學會 Python 開發。語言和技術只是一種工具,它的本質是爲了解決問題,當你腦中有了解決方案後,其實僅僅剩下語法實現了而已。cdn
至於具體怎麼實現用什麼語言,那只是一種技巧而已。
特別是生產出現問題的時候,一個牛逼的程序員要頂 N 個程序員,解決生產問題的程序員要面對,超強壓力,超複雜狀況,快速定位問題的能力,這些能力都不是一朝一夕可以積累出來的,都是從一個坑一個坑裏面爬出來後所積累的。
程序員畢竟仍是一個比較燒腦的行業,沒有幾年的積累,很難成爲一個老練成熟的開發工程師。
這裏說的是廣泛努力的老程序員,不排除有些老程序員,工做了一天,重複了三年的這種狀況,也不包括不少剛畢業就很兇猛的年輕程序員們,這裏講的都是廣大的普通程序員的對比。
我對程序員們的一些建議:
在剛畢業三年內的時候,優先全面提升本身的技術,快速響應完成工做的能力。積極主動的工做,每次工做完成後主動彙報,向領導要求更具備挑戰一些的工做,工做擔子越重,成長越快。
畢業三年後的程序員最好肯定一個行業方向沉澱下來,一個優秀的架構師,必須同時精通業務和技術,全部行業內才常常會有業務架構和系統架構兩個說法,只有同時精統統業務和技術,才能貼合公司業務設計出高效、可擴展、穩定的、適合公司發展的技術架構。
畢業三年左右的程序員重點是,找一個本身喜歡的行業沉澱下來,找一塊本身喜歡的技術,挖精挖透。
畢業六年後,若是你畢業六年中處處換行業,而且技術上沒有太多的沉澱,那六年後你的競爭力會愈來愈小。剛畢業的六年內,也就是大多數人的30歲之內,你的職場生涯是急劇上升的,前幾年每一年工資翻一倍都是很正常的現象。
可是到了6年後,也就是30歲之後,因爲各類緣由你的精力確定被有所分散,同時熬夜須要恢復的時間也愈來愈長,若是沒有創建起本身的競爭力,那麼將來職場生涯並很差走。
因此不管是老程序員仍是新程序員都有本身的優點,年輕程序員有時間有精力,老程序員有行業和技術積累。有了老程序的指引,新程序的成長會更快速;沒有新成員的加入,哪有中國 IT人的明天。
文章來自