這次去深圳的時候,抽空參加了一個深圳本地的線下沙龍,去的時候這個活動已經進行開始,剛坐下來不久,就聽一個新程序員問一個老程序員的一個問題,引起了大家的熱議。

年輕的程序員的問題是這樣子的,他說現在新技術更新太頻繁了,過個兩三年就會出現一個新的框架,比如早些年非常流行的 Struts 說淘汰就淘汰了,好不容易掌握了 Spring ,現在又出現了 Spring Boot、Spring Cloud 框架,根本就學不過來。

那麼作爲一名老程序員和一名新程序員在面對新技術的時候是站在一個水平線上的,但明顯剛入行的程序員精力更旺盛一些,學習熱情又強,那麼老程序員的優勢體現在哪裏呢?

感受了一下,這不就是新程序員要把老程序員拍到沙灘上嗎?

估計前端開發人員看到這個問題硬是要吐出一口老血了,前端框架的更替那叫一個火箭速度呀。今天還在 AngularJS ,明天突然就出現個 React,當 React 快要掌握的時候,市場上 Vue 大火,並且經常出現最新版本不能往後兼容,坑X呀。要想精通所有框架,對每個程序員來講,那真的是臣妾做不到呀。

那如果真按照新程序員說的那樣,那老程序員不是早被淘汰了,爲什麼市面上老程序員的工資比新程序員高好幾倍呢?難道 Hr 都是腦癱。

其實呢不是這樣子的。

就拿招聘來講吧,我們經常看到的面試條件會寫到2/3年以上開發經驗,某某行業背景的優先。就說這面試總要求多年以上的開發經驗,這到底是要求什麼樣的能力?可以很負責任的講,這種能力就是解決問題的能力。

老程序解決問題的能力比新程序員要強 N 倍。新程序員開發過程中,突然遇到一個問題卡住了,有可能就這個問題就卡一兩天,當他拿着這個問題去問老程序員的時候,可能老程序員就抽了一眼,說怎樣怎樣試一把,問題就解決了。

老程序員的學習能力其實是更強的,因爲前面有了積累很容易掌握類似的技術,比如當你精通了 Java ,我相信經過很少時間的刻意學習,你就會學會 Python 開發。語言和技術只是一種工具,它的本質是爲了解決問題,當你腦中有了解決方案後,其實僅僅剩下語法實現了而已。

至於具體怎麼實現用什麼語言,那只是一種技巧而已。

特別是生產出現問題的時候,一個牛逼的程序員要頂 N 個程序員,解決生產問題的程序員要面對,超強壓力,超複雜情況,快速定位問題的能力,這些能力都不是一朝一夕能夠積累出來的,都是從一個坑一個坑裏面爬出來後所積累的。

程序員畢竟還是一個比較燒腦的行業,沒有幾年的積累,很難成爲一個老練成熟的開發工程師。

這裏說的是普遍努力的老程序員,不排除有些老程序員,工作了一天,重複了三年的這種情況,也不包括很多剛畢業就很兇猛的年輕程序員們,這裏講的都是廣大的普通程序員的對比。

我對程序員們的一些建議:

在剛畢業三年內的時候,優先全面提高自己的技術,快速響應完成工作的能力。積極主動的工作,每次工作完成後主動彙報,向領導要求更具有挑戰一些的工作,工作擔子越重,成長越快。

畢業三年後的程序員最好確定一個行業方向沉澱下來,一個優秀的架構師,必須同時精通業務和技術,所有行業內才經常會有業務架構和系統架構兩個說法,只有同時精通通業務和技術,才能貼合公司業務設計出高效、可擴展、穩定的、適合公司發展的技術架構。

畢業三年左右的程序員重點是,找一個自己喜歡的行業沉澱下來,找一塊自己喜歡的技術,挖精挖透。

畢業六年後,如果你畢業六年中到處換行業,並且技術上沒有太多的沉澱,那六年後你的競爭力會越來越小。剛畢業的六年內,也就是大多數人的30歲以內,你的職場生涯是急劇上升的,前幾年每年工資翻一倍都是很正常的現象。

但是到了6年後,也就是30歲以後,由於各種原因你的精力肯定被有所分散,同時熬夜需要恢復的時間也越來越長,如果沒有建立起自己的競爭力,那麼未來職場生涯並不好走。

所以不論是老程序員還是新程序員都有自己的優勢,年輕程序員有時間有精力,老程序員有行業和技術積累。有了老程序的指引,新程序的成長會更快速;沒有新成員的加入,哪有中國 IT人的明天。

最後,歡迎新程序員們把我們拍在沙灘上,這樣中國 IT 才更有希望。

相關文章