1. 程式人生 > >作為程式設計師,你“怕老”嗎?

作為程式設計師,你“怕老”嗎?

行文之前,先問大家幾個問題:

1,你開始逐漸擔憂自己的年紀?

2,你開始覺得加班熬不過小年輕?

3,你開始因未知新興技術而慌張?

4,你開始跳不動槽?

如果以上的回答都“是”,那麼你確實陷入“怕老”行列了。

“青春飯”這個詞,程式設計師肯定不陌生,因為上了幾年班,做到一定年紀,再想突破就會明顯發現力不從心,開始陷入“怕老”的焦慮。

這種焦慮無關你的年紀,剛進入行業兩三年,如果水平還和剛入職場差不多,那你肯定也會怕老,因為不確定哪一天你是否會被更年輕的新人所取代;這種焦慮也無關你是在大公司或小公司,這是程式設計行業通病總的來說,原因有如下三點:

  • 大公司丨縱向發展強,橫向發展弱

在大公司,往往都是一個蘿蔔一個坑,對於各個程式設計崗位分工明確。比如很多大公司的前端開發直接細分了CSS和JavaScript兩個部分,這樣細分所導致的結果是,你大部分工作時間只能接觸自己職責所在部分,而對於其他領域不太瞭解。

可是做程式設計師最怕的,就是在一個領域鑽研太過,因程式設計技術飛速迭代,新技術層出不窮,各種語言,框架每年都會更新,如果你只專注單一領域,假若市場萎縮,你就處境尷尬了...... 10幾年前做MFC或贏的程式設計師不就是實實在在的例子嗎,包括這幾年的C / C ++,Linux的市場空間也在逐漸減小,而熱門領域幾乎已是年輕人的天下,而此時你再想轉,就再也殺不動年輕一代了。

  • 小公司丨技術面廣,但沉澱不深

反過來,在小公司往往更強調的是花更少的錢,請更少的人,實現更高效率。因此在多數時候,一個程式設計師要兼顧多角色,前端和後臺混合著寫是經常的事兒,甚至還可以一個人包攬了整個業務模組的開發工作(就是傳說中的全棧開發),更別提還要偶爾幫公司修修電腦,整整網路了。

這樣的結果就是,你的青春熬沒了,雖什麼都會一點,但都不太精,如果真要你操刀一個大專案就有點心虛了。

筆者是做的Java架構師的,身邊有一個工作8年多的同行朋友,之前一直在小公司摸爬滾打,大部分工作都是用Java的從事集中式業務系統開發(網路),對於微服務和分散式系統的業務一般是淺嘗輒止。可目前網際網路公司的產品,隨著流量的不斷增長,大多都會用到分散式相關的技術來完善業務系統,所以當他跳槽去大型網際網路公司面試被問到分散式這一塊時,明顯感覺心有餘而力不足,最終導致跳槽失敗,高不成低不就。

  • 寒冬風向丨企業偏愛高階人才,競爭愈發激烈

加之,近兩年資本寒冬,BAT,TMD以及一些大型網際網路公司對於程式設計師校招明顯放緩,遠不如前幾年的鼎盛輝煌,與之相對的是對高階技術人才招聘的需求愈發旺盛,甚至願意給出高出市場薪資水平的30-50%來挖人。

  • 原因之一在於網際網路企業野蠻生長期已近尾聲,無需再野蠻擴張人員規模;
  • 其次在於基礎型人才已趨於飽和,而對於能幫助公司繼續引領風騷的高階人才求賢若渴;
  • 最後是人工智慧的崛起,導致很多研發崗位都有可能被更高效的程式所代替。

從大環境來講,BAT等巨頭企業的動作一般是行業風向所在,不難看出,他們對人員調整的節奏基本是一致的,即縮減普通崗位,吸引頂尖人才。可見,在人才需求趨於平穩狀態下,程式設計師之間的競爭只會越來越激烈,尤其是基礎型程式設計師。

由此可見,無論你處於何種年紀,如若不夠強,都要面臨著“未來我該何去何從”的職場焦慮。

只不過,我並不贊同“青春飯”一說,各行各業都有,說白了就是營造“大齡恐懼症”,源於這個時代變化太快,誰也不知道下一場取代網際網路的變革何時會來,但這並不是死結。

年輕程式設計師的優勢在於年輕和激情,年長程式設計師的優勢在於閱歷和經驗,各有千秋。而一般被時代拋棄的是原地踏步的人,只要時刻保持最佳的核心競爭力及學習力,行業想淘汰你都難。

那麼,如何讓自己競爭力時刻處於上游呢?

  1. 確定職業規劃,把握職場節奏

程式設計師想要延長自己的職業生命週期,首先要根據個人愛好來做好職業規劃。總的來說,有4條軌跡可以挑戰。以JAVA為例,如果想走技術管理,可以走“CTO”方向;喜歡做產品,可以走全能型的“產品經理”之路;想鑽研技術理論,可以考慮“技術專家”方向;想無盡的探索程式設計的奧祕,可以走“資深架構師”路線。

其次是基礎知識很重要。繼續以Java的為例,你想走得更遠,就必須把Java的基礎知識掌握牢固,比如最入門的Java的程式如何執行,很多人只是會單純通過IDE去執行的Java程式,但是底層IDE又是如何執行呢?再比如基礎的資料結構與演算法,不要連二分查詢,排序,二叉樹遍歷,連結串列,棧之類的都不熟悉,就說不過去了。

另外一個關鍵是把握好職場節奏,按部就班的進階。可以根據下圖,看你目前的節奏都對了嗎?

  1. 跳出舒適圈,拓寬橫向技能

舒不舒適,從你跳槽面試時就能試出來。

我目前服務網際網路金融公司,在面試一些大齡Java程式設計師時,明顯發現他們慣常使用的框架和技術偏舊老舊,而對較新技術(例如Spring Boot,SmallSQL,MyBatis等)雖然瞭解但涉足不深,源於他們平時長時間只投入一類技術的研發,而忽略了橫向技能的拓寬,這自然不匹配目前網際網路企業高速發展的人才需求。

下圖是我總結的目前比較主流的<爪哇架構師橫向擴充套件技術學習的大致框架圖>,你們可以看看是否都駕輕就熟。由於版面有限,無法放出全部學習專題,有興趣者可找我私聊或者加。

是不是發現自己還有進步空間?所以啊,不要被當前從事的領域所束縛,要多去學習不同領域的實現技術,你可以通過堅持自學來加深認知,也可以選擇跳槽新公司跟大牛一起實戰進階。

小結:

別怕老,真的,寫程式碼沒有年齡限制,學到老寫到老,畢竟世界是公平的,咱們都憑實力說話。

剛說到圈子,我做Java架構算起來也10年有餘,帶過一些人,也認識許多行業朋友,其中不乏BAT大牛,如果你正好對Java架構技術感興趣,歡迎來我的Java學習群:725219329,談不上指導,但咱們可以一起玩笑吐槽,一起上下求索。

群裡會隨時更新一些免費共享的熱門原始碼,學習視訊等資料,希望真正能幫到大家走出迷茫。下掃描碼方二維點選或者閱讀原文也是一樣可以加入進來的。

關注我的公眾號:Java的架構師學習,可以獲取更多程式設計師技術乾貨哦!