1. 程式人生 > >30多歲的程式設計師如何考慮自己的未來?繼續當碼農還是成為架構師?

30多歲的程式設計師如何考慮自己的未來?繼續當碼農還是成為架構師?

作者:張恂老師

30 歲意味著什麼?

30 歲程式設計師,差不多已有了 8-10 年的程式設計工作經驗。8-10 年差不多是一個高階軟體架構師應該具有的基本工作年限。不少人在 30 歲時已經做到了高階架構師,帶著團隊;不少人雖然沒有獲得架構師這個頭銜,也沒做領導,但其實也具備了相當的水平;還有一些人可能有點失落,他們既沒有獲得這個頭銜,也沒有達到類似的高階專業水平。

30 歲確實是一個重要的關口。

一個人為什麼會迷茫?

其實每個人都會有迷茫的時候。迷茫,通常是因為沒有、失去了今後發展的目標(尤其中長期的目標),例如不知道 30 歲以後是否還應該做程式設計師,應該朝哪個方向走。

抉擇常常是困難的

程式設計師對現狀不滿常見的幾個原因:

待遇不好?

學不到東西?

沒有升遷機會?

。。。

  1. 很多在一線網際網路公司工作了6、7年的人卻一直還在幹著基層,加班到深夜,職業發展遇到瓶頸。跟朋友聊天的時候說著 “加班加不下去了,該挪挪地了”。

“加班加不下去了”,我支援這個挪地的理由。可以先考慮換個團隊或部門,找一個相對輕鬆的地方和更愛護員工的領導。如果你仍看好這家企業,不急著出走。

如果因為加班而搞垮了身體,顯然是不值得的。你現在賺得高薪,其實只是補貼了未來的醫藥費。每個人心裡都有一杆秤,應該先把這個帳算清楚。

大勢預判

我們的未來與這個行業、社會發展的未來有關,所以應該做個戰略預判。

跟歐美相比,中國優秀的程式設計師、擁有多年經驗的職業軟體工程師還是太少了。BAT、HZ 等國內一流龍頭企業這類程式設計師有不少,30+ 的也很多,但是國內這樣的一流企業太少了,容量不夠。歐美的高齡程式設計師是啥情況,也和中國類似麼?

美歐軟體界有很好的科學工程傳統。我們在國內看到大部分國外大師級程式設計師、軟體工程專家的著作、作品,他們大多 40-50 歲(有的甚至 60-70 歲),很少看到 20 幾歲程式設計師在江湖上出來混的。這種現象是合理、正常的。程式設計師這份職業最需要的是積累,而開發知識和經驗的積累最需要長時間的積澱,才有可能從量變到質變。至少有了 10 年以上的積累,你才好意思談什麼程式設計的藝術(the art of programming)吧?其實 30-50 歲才是一名職業程式設計師(軟體工程師)出(大)成果的黃金年齡段,30 歲以下只能算是程式設計師的學徒期。

在中國正好相反,做程式設計師似乎早已成了類似某些行業的“吃青春飯”,故江湖上早有 IT 民工、碼農之說,大家都感覺存在 30 歲現象,趁現在年輕體力好,要多吃苦、多加班、多掙點,而一旦過了 30 歲體力、技能似乎都吃不消了,要退役,改行了。

大家通常把原因主要歸結為人心的浮躁,受社會、江湖的大環境影響而造成的,例如暴發戶文化,竭澤而漁,撈快錢的價值觀等等。存在的(現象)未必就是合理的。我覺得這些現象正是由於中國的軟體行業、江湖發展不成熟造成的,不合理的通常也是不可持續的,將來一定會發生改變。

我預測,今後的三十年將是中國軟體開發、程式設計師的黃金三十年,今後中國的軟體業也將像美歐一樣發展得更成熟,更崇尚研發創新與科學工程的文化,鄙視各種忽悠、炒作的暴發戶和江湖文化的概率是比較高的。不知道我國江湖的 30 歲現象是否確切地存在,是否還會延續下去?也許最終大部分的 30+ 程式設計師仍然會選擇離開,然而如果我的預測是準確的話,那麼留下的 70 後、80 後程序員們將會成為未來黃金三十年的開發主力。

對策和建議

我的基本建議是,程式設計師不要輕易離開這個行業。除非你對這份職業確實已經心灰意冷(死了心),厭惡繼續學習。

如果要繼續留在這個行業,那麼就要持續不斷地提升自己的核心競爭力(Core Competences)。一個人的核心競爭力決定了你對企業、社會的價值,反過來也決定了你的薪資水平和投資回報。

1、不斷提高自己的開發能力與水平

程式設計師最強的核心競爭力自然就在於技術能力,相比其他方面這也是最容易提高的。從初級、中級、高階程式設計師再到架構師,是一條清晰的眾所周知的發展路徑。

江湖上很多人有個誤解,以為靠掌握一兩個技術可以吃到老。記住:不進則退,程式設計師其實是一個需要終身學習的職業。軟體行業技術的變化是非常快的,只要 3-5 年不學習更新,很快就落伍了,接近被淘汰的邊緣。

其實一個程式設計師只要技術好(加上做人正),不愁找不到要你的單位。

掌握開發方法論,建立自己的經驗與知識體系是成功的一個關鍵。

2、不斷提高自己的管理能力

對於大部分程式設計師來說,做管理是比做技術更難過的一道檻。在中國人的悠久文化中,做經理、帶團隊能做久做穩的,必然是“人精”才行。

3、選擇有好領導、專業研發文化的企業和團隊

如果現有團隊實在待不下去,自然應該用腳投票。

4、不斷培養、提升自己對程式設計這份工作的興趣和熱愛

不是發自內心地喜歡手頭的工作,而僅僅是為了掙點錢,而且到手的淨值越來越少,隨著體力下降工作也變得越來越乏味,這種狀態是有點令人煩惱的。

怎麼提升?

**1、具有1-5工作經驗的,面對目前流行的技術不知從何下手,  需要突破技術瓶頸的。  2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的。  3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,用設計思想,常用java開發框架掌握熟練的。  4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的。 5. 群號:高階架構群 697579751 備註好資訊!  6.阿里Java高階大牛直播講解知識點,分享知識,  多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!** 這裡寫圖片描述 這裡寫圖片描述 這裡寫圖片描述 這裡寫圖片描述 這裡寫圖片描述 這裡寫圖片描述