“這篇文章,給大家聊聊Java工程師的職業(yè)發(fā)展規(guī)劃的一些思考,同時也給不少20多歲、30多歲,但是對自己的職業(yè)未來很迷茫的同學(xué)一些建議。
希望通過此文,幫大家梳理一下程序員的職業(yè)發(fā)展方向,讓大家知道自己從20多歲的初出茅廬,到40歲的大齡碼農(nóng),應(yīng)該如何規(guī)劃屬于咱們程序員的半生。
首先,咱們通過倒推的方式,看看在一個程序員在30多40歲時,憑什么東西來捍衛(wèi)自己的核心競爭力?
那如果要搞清楚這個問題,又得從一個反面來看看,大部分的程序員在職業(yè)發(fā)展過程中犯了哪些錯誤,結(jié)果導(dǎo)致在職業(yè)生涯中后期沒有競爭力了呢?
一、回首往事:自己竟沒有任何核心優(yōu)勢!
尷尬的事情,莫過于一個程序員在10多年,甚至20年的從業(yè)經(jīng)歷中,一直沒好好考慮過如何構(gòu)建自己的核心競爭力。
如果長年如此,會導(dǎo)致他就跟著公司慢吞吞的走著,就像溫水煮青蛙,直到30多、40歲的時候,突然發(fā)現(xiàn)自己幾乎一無所長。
舉個例子,比如從技術(shù)角度而言,這些朋友可能發(fā)現(xiàn)自己并不是什么技術(shù)專家,也不是架構(gòu)師,沒有任何一個技術(shù)領(lǐng)域有足夠的深度。
甚至可能都沒好好讀過什么技術(shù)的源碼,很多新的技術(shù),比如大數(shù)據(jù)、人工智能、微服務(wù)、互聯(lián)網(wǎng),等等,都沒跟上。
而這些朋友10多年來,一直做的事情可能就是重復(fù)以下:帶著幾個小弟,做傳統(tǒng)的軟件系統(tǒng),然后整天就是研究各種軟件的需求,設(shè)計(jì)一些簡單的架構(gòu)。
然后使用的技術(shù)都是比較過時的,一直是一些增刪改查的事情,可能涉及到一些其他的技術(shù),但是那些技術(shù)很多都是非主流的,或者是不流行的。
后,你發(fā)現(xiàn)自己10多年工作下來,跟小年輕相比,唯一的優(yōu)勢好像就是做的那種CRUD的項(xiàng)目比較多,經(jīng)驗(yàn)豐富一些罷了。
沒錯,我見過相當(dāng)多的兄弟,在30多歲,乃至40歲的時候,就是上述那種情況,唯一的優(yōu)勢就是難度不高的項(xiàng)目經(jīng)驗(yàn)比較多,帶過幾個人,僅此而已。
甚至有些兄弟雖然是一些中小公司的 “架構(gòu)師” 、 “技術(shù)總監(jiān)” 的title,但是其實(shí)本質(zhì)做的事兒也跟上面是差不多的。
但是呢,這些朋友薪資未必就很低,因?yàn)殡S著在公司呆的久了,很多公司雖然知道你也許沒特別大的技術(shù)能力,但是老板也認(rèn)可你其實(shí)對公司的業(yè)務(wù)還算蠻熟悉的。
而且你做過的項(xiàng)目比較多,年齡較大,有資歷,做事穩(wěn)重,能帶幾個小弟,可以給公司撐起來一片天空。
此時,公司還是會給你不錯的薪資。類似上面情況的兄弟,30多歲時,可能薪資也會有30多k~40k那樣子。
但是也有很多的兄弟,沒得到公司老板那么大的認(rèn)可,自己可能也一直沒想太多,所以在30多歲的時候,可能公司就給你28k,30k的薪資,認(rèn)可你是一個資深的骨干。
而這個時候,對大齡程序員來說,學(xué)習(xí)很多新的技術(shù)也有點(diǎn)有心無力,畢竟家里老婆孩子都在炕頭上。
你說加班加點(diǎn)吧,也有點(diǎn)加不動了,畢竟年齡上去了,各種慢性病一大把,精力不如往日,主要就是利用自己的一點(diǎn)經(jīng)驗(yàn)把控公司的項(xiàng)目。
因此上述那個場景,就是很多大齡程序員的情況。
二、公司遇到危機(jī)時,大齡程序員會怎么樣?
現(xiàn)在咱們換個角度,從一些中小公司的老板的角度來考慮一下這些大齡程序員
假如說公司業(yè)務(wù)還算穩(wěn)定,營收還算正常,利潤也算穩(wěn)定,那么這些大齡程序員對老板來說是有價(jià)值的。
原因上面已經(jīng)說過了,你畢竟工作了這么多年,業(yè)務(wù)還算熟悉,做過很多項(xiàng)目
從需求分析到系統(tǒng)設(shè)計(jì),再到帶小弟開發(fā)、測試和部署上線,這條流程你門兒清,那其實(shí)還是可以給你個30k薪資用你干活兒的。
但是假如公司現(xiàn)在遇到了一些危機(jī),比如因?yàn)樾袠I(yè)環(huán)境等原因,公司經(jīng)營不善了,業(yè)務(wù)開始萎縮,利潤開始下降,這個時候你說老板會怎么辦?
其實(shí)很簡單,站在老板的角度,假如手里有10個大齡程序員作為骨干,此時完全可以拿掉其中的8個。
老板這時就留下2個大齡程序員,讓他們?yōu)榱吮W★埻耄影嗉狱c(diǎn)給公司撐住剩下的業(yè)務(wù)。
大齡程序員的工資可是公司里高的那一批人,把他們拿掉8個,是不是一下子節(jié)省了很大的成本?
如果公司還有業(yè)務(wù)需要支撐,完全可以找?guī)讉€工資才10k的小年輕程序員進(jìn)來把活兒頂著,跟著2個大齡程序員繼續(xù)做就行了。大家想想,是不是這么回事?
換句話說,在遇到困難的時候,工資高、年齡大、加不動班的大齡程序員,很有可能就會率先“被”犧牲掉,用來節(jié)約公司成本。
然后呢,換上幾個薪資低、年齡小、可以天天加班到凌晨、還有充足的精力學(xué)習(xí)各種新技術(shù)的程序員,給公司頂上。
那么接下來,這8個大齡程序員兄弟出去找工作,會遇到哪些問題呢?
很簡單,這些兄弟本身技術(shù)并沒有什么特長,項(xiàng)目也沒什么難度,而且很多新的技術(shù)還沒跟上沒學(xué)習(xí)。
此外,這些兄弟年齡也大了,上有老下有小,還加不動班,而且你要的薪資還不低。其他公司一看,有什么理由用30多k的薪資來聘用你呢?
你的技術(shù)、精力都不行,所謂的項(xiàng)目經(jīng)驗(yàn),僅僅是上一家公司的一些項(xiàng)目的經(jīng)驗(yàn),對別的公司可能沒什么太大的作用。
如果你是另外一家公司的老板,你會不會聘用這樣的人?我想說到這里,大家都明白這里的問題所在了。
三、適合大齡程序員的幾條職業(yè)發(fā)展路線
看完上面的內(nèi)容,大家都知道問題所在了,那么接下來我們來探討一下:
什么樣的大齡程序員,可以在30多歲,甚至40歲的時候,還得到各種公司的青睞呢?
(1)成為技術(shù)大牛,掌握公司的核心技術(shù)
第一種方式,就是掌握自己行業(yè)里的各種技術(shù),哪怕走出了這個公司,也是其他公司瘋搶的對象。
給大家舉個例子,比如你一直在互聯(lián)網(wǎng)行業(yè)工作,且一直在各種知名大公司,前后負(fù)責(zé)和經(jīng)歷過多家大型互聯(lián)網(wǎng)公司的核心系統(tǒng)架構(gòu)設(shè)計(jì)。
對于一個互聯(lián)網(wǎng)系統(tǒng),如果要支撐1億用戶,有哪些技術(shù)挑戰(zhàn),需要怎么來設(shè)計(jì),你都經(jīng)歷過這些過程。
每秒支撐10萬量級并發(fā)請求該怎么做,系統(tǒng)要能夠支撐百億級的數(shù)據(jù)存儲又該怎么設(shè)計(jì)。類似這些東西,你都了然于胸。
那么這個時候,你就是擁有了核心技術(shù)。
哪怕你現(xiàn)在的公司不要你了,你完全會被其他公司給爭搶過去,因?yàn)楹芏喙径夹枰@種有過大規(guī)模系統(tǒng)、高并發(fā)經(jīng)驗(yàn)、海量數(shù)據(jù)經(jīng)驗(yàn)的架構(gòu)師。
千軍易得、一將難求。招聘很多薪資二三十 K的高級工程師,負(fù)責(zé)把一個模塊做好,很容易。但是你要招一個能夠把控全局,hold住你公司一個復(fù)雜大系統(tǒng)全場的高級架構(gòu)師,很不好招,這樣的人很值錢,很多公司都需要。
這個時候你雖然三十多歲,但是人家認(rèn)可你,因?yàn)槟阌泻诵牡募夹g(shù)能力,核心的架構(gòu)能力,你是公司技術(shù)的后一道防線,很多崗位非你不可。
再看個例子,比如大數(shù)據(jù)領(lǐng)域,現(xiàn)在你工作10多年,技術(shù)功底極為深厚,你完全可以對大數(shù)據(jù)領(lǐng)域的各種系統(tǒng),比如hadoop、spark、hbase、kylin、elasticsearch等等,做非常底層的優(yōu)化。
遇到任何問題,你都可以從源碼級別來推斷解決,而且可以修改開源項(xiàng)目源碼,進(jìn)行二次開發(fā)。
那么這時,你就是擁有核心技術(shù)的。未來大數(shù)據(jù)必然會發(fā)展的越來越好,因?yàn)楦鱾€行業(yè)都有大量的數(shù)據(jù),很多公司都需要有好的專家來解決自己公司的大數(shù)據(jù)問題。
因此,即使你40歲了,但是你有多年積累的核心技術(shù)能力,任何公司都需要你這樣的頂尖大牛坐鎮(zhèn),解決各種技術(shù)問題。
所以如果要往這個方向去走,建議大家一定要從20多歲開始,好好規(guī)劃自己的技術(shù)學(xué)習(xí)和職業(yè)發(fā)展。
大家一定要想好,自己要學(xué)什么技術(shù),要往多深了學(xué),要在什么樣的公司里積累經(jīng)驗(yàn),踏踏實(shí)實(shí)走好每一步。
到30多40歲的時候,雖然大齡,但是你積累了足夠的技術(shù)能力,你的核心技術(shù)會像 “九陽神功” 一樣為你護(hù)體,讓你依舊馳騁職場、炙手可熱。
(2)深挖業(yè)務(wù),成為業(yè)務(wù)領(lǐng)域?qū)<壹壢宋?/h3>
第二種路線,你可以考慮成為某個業(yè)務(wù)領(lǐng)域的專家級人物。
你可以在一些業(yè)務(wù)有絕對難度和深度,業(yè)務(wù)極度復(fù)雜,而且行業(yè)持續(xù)發(fā)展,業(yè)務(wù)領(lǐng)域的知識持續(xù)保持價(jià)值的領(lǐng)域,一直深挖。
比如說電信、金融、銀行、保險(xiǎn)、財(cái)務(wù)、ERP,等等,諸如此類。
在這些領(lǐng)域的公司里面,你可以在不停的做技術(shù)類工作的同時,也注意積累這個領(lǐng)域的業(yè)務(wù)知識。
像一個電信系統(tǒng)、ERP系統(tǒng),往大了做,業(yè)務(wù)都是極度復(fù)雜的,包含了大量的東西。
如果你能持之以恒,對各種業(yè)務(wù)知識、業(yè)務(wù)系統(tǒng)都深入挖掘,那么后變成這個領(lǐng)域的業(yè)務(wù)專家,也是很有價(jià)值的。
為什么這么說呢?因?yàn)閷τ诤芏嗵囟ㄐ袠I(yè),可能做一個系統(tǒng)不需要那么高大上的技術(shù),但是絕對需要好的業(yè)務(wù)專家來進(jìn)行把控,才能設(shè)計(jì)出那種對應(yīng)于某一個特定行業(yè),且業(yè)務(wù)極其復(fù)雜的系統(tǒng)。
所以很多同學(xué),假如是走傳統(tǒng)行業(yè)的系統(tǒng)開發(fā)方向,可以考慮注重更多的業(yè)務(wù)積累,未來成為頂尖的業(yè)務(wù)專家。
這樣,哪怕你40歲的時候,這個行業(yè)也需要你這樣的 “老專家” 在公司里繼續(xù)支撐著業(yè)務(wù)發(fā)展。
(3)帶領(lǐng)團(tuán)隊(duì):走上技術(shù)管理之路
另外一條路,就是走技術(shù)管理的道路,這個相信大家都理解。
作為任何公司的老板而言,都需要技術(shù)管理人員,他需要懂技術(shù),但是不一定特別的精通,但是一定要有極強(qiáng)的團(tuán)隊(duì)管理的能力。
作為團(tuán)隊(duì)管理者,你需要有能力把控公司大的技術(shù)方向,還需要有足夠的行業(yè)人脈和資源,招聘搭建合適的技術(shù)團(tuán)隊(duì)。
此外,你還要能夠制定技術(shù)團(tuán)隊(duì)的工作流程和規(guī)范,進(jìn)行團(tuán)隊(duì)之間職責(zé)的定義和分配,讓各個團(tuán)隊(duì)有效協(xié)作運(yùn)行,后成功的支撐公司的業(yè)務(wù)發(fā)展。
這個管理,說起來就兩個字,但其實(shí)背后的學(xué)問極大,要把幾十個甚至幾百個不同的人擰成一股繩,保持強(qiáng)大的戰(zhàn)斗力,為公司做好支撐工作,其實(shí)這里難度很高,非??简?yàn)一個管理人員的水平。
如果你能從帶幾個人的小主管開始,到帶幾十人的技術(shù)leader,再到帶幾百人的高級技術(shù)管理人員。
假如你能往這個方向去發(fā)展,那么其實(shí)在你40歲的時候,你也有對應(yīng)的競爭力,因?yàn)楹芏嗬习宥夹枰阖S富的技術(shù)管理經(jīng)驗(yàn)來把控好公司的技術(shù)團(tuán)隊(duì)。
當(dāng)然說實(shí)話,能真的做技術(shù)管理做的好的人,很少。尤其是咱們技術(shù)出身的同學(xué),一般來說都比較內(nèi)向靦腆,不太善于交際。
所以對大多數(shù)的普通工程師而言,個人還是比較建議上面的技術(shù)專家或者業(yè)務(wù)專家路線,這里面機(jī)會更多,而且對大多數(shù)人都更加的適合。
(4)轉(zhuǎn)型其他職位或者行業(yè)
如果有人說,我對技術(shù)沒那么大熱情要成為專家,我也很討厭整天搗鼓業(yè)務(wù),我更沒天賦成為技術(shù)管理人員,那怎么辦呢?
那你可以考慮寫代碼寫到30多歲的時候,搞點(diǎn)別的。
比如說考慮轉(zhuǎn)型做產(chǎn)品經(jīng)理?考慮做互聯(lián)網(wǎng)運(yùn)營?或者考慮做軟件銷售?
也就是說,你可以考慮帶著一定的技術(shù)背景,往技術(shù)行業(yè)里的其他崗位去轉(zhuǎn)型,在其他崗位上積累經(jīng)驗(yàn),成為不可或缺的人物,這個也可以。
更有甚者,在北上廣干了10年技術(shù),積累了一定的資金之后,在老家買好房子,然后回老家去做生意,比如開個餐飲店什么的。
這個也是一條路子,但這種就是因人而異了,畢竟每個人的人脈資源都不同。
四、后的寄語
后一句話總結(jié):不管你選擇哪條路,首先想清楚,你要成為什么樣的人
你需要仔細(xì)想想,在你10多年的工作經(jīng)驗(yàn)的時候,將會積累了哪些核心競爭優(yōu)勢。
然后再仔細(xì)琢磨琢磨,這些優(yōu)勢是否是那種剛畢業(yè)的小伙子絕對無法替代的,其他公司的資深崗位是不是必須要有你這樣的人。
考慮清楚了這些,剩下的就是朝著自己的目標(biāo),堅(jiān)持不懈的走下去。這中間你可能會迷茫,甚至?xí)岩僧?dāng)初的決定。但還是那句話:相信自己、勿忘初心,自己選的路,含著淚也要走完!
不希望看到的一種情況,就是30多歲了,還僅僅會“用”各種技術(shù),十幾種二十多種技術(shù),什么都會用。但就是沒什么技術(shù)深度,沒什么競爭力,就一些使用經(jīng)驗(yàn)比較多了而已。
如果是這樣,那人家剛畢業(yè)的小年輕,可能1到2年時間就學(xué)會了這些技術(shù)怎么用,也許就可以在關(guān)鍵時刻替代你。
這些小伙子無非就是經(jīng)驗(yàn)不足罷了,但是人家可以拼命加班彌補(bǔ),并且人家要求的薪資比你低多了。
希望每個程序員兄弟都有一個好的未來和人生,程序員這條路充滿艱難險(xiǎn)阻,各種挑戰(zhàn)。但也充滿機(jī)會,需要不停的學(xué)習(xí)進(jìn)步。
后,引用前段時間很火的電影《哪吒之魔童降世》的臺詞結(jié)束全文:我命由我不由天!