那些70後的程序員都消失了嗎?


在娛樂圈,哦不,是在程序員這個吃青春飯的行業,有一個人人聞之色變的話題,曰:「年老色衰」。只要是個程序員,心裏都會惴惴不安的想:「我老了以後賣不動色相,哦不,寫不動代碼了,我還能幹啥呢?」。今天咱們來談談這個禁忌話題。

在我還是25歲的時候,我和很多程序員一樣,其實有同樣的擔心,老了以後怎麼辦?寫代碼難道還能寫到30歲?

當我30歲的時候,我發現自己創業去了,雖然非常苦逼,但是苦中作樂,還挺有挑戰的。當然創業是沒有退路的,創業要是失敗了,估計更加沒人要了。所以還是先想創業的事吧,35歲的大齡程序員問題還是5年以後再說。

一晃我就35歲了,創業公司賣了,我在新東家當CTO了。話說這個CTO其實也很苦逼,操心的事太多,每天各種雜事,壓根沒空想中年危機的話題。

然後我馬上就40歲了,不算有錢,但養活自己完全沒問題,想着趁自己還能蹦躂幾年,再做點什麼吧,就跳槽去了另一家公司。

現在回想25歲的時候,當初的擔憂真的是杞人憂天了。我現在寫代碼也完全沒問題,偶爾也會寫點代碼練練手,自娛自樂一下。但是從2010年我34歲開始,工作上我已經不適合寫代碼了。不是我不願意親自寫代碼,我反而覺得寫代碼很有成就感,而是我不寫代碼對公司的價值更大,我需要把時間和精力放在規劃產品方向、決策技術架構、培養團隊,提升公司戰鬥力上。

那些70後的程序員都消失了嗎?

如果你現在去一家互聯網公司看看,你會發現程序員的主力都是90後了,80後都很少,至於70後幾乎絕跡。那麼一個有趣的話題是:「70後的程序員都消失了嗎?」

其實沒有消失,而是70後的程序員已經成爲各個互聯網公司,各個IT公司的高層了。那麼你會問:「一個公司就幾個高層職位,哪有那麼多職位給70後呢?」

答案是:「20年前根本就沒有多少IT公司,70後的程序員也沒有現在動輒幾百萬的規模」。這20年來,整個IT和互聯網行業擴大了100倍都不止,創造了海量的就業機會,無論是高層還是一線崗位。

那麼還有70後程序員奮戰在coding第一線的嗎?當然有!比我還大一歲的高春輝,中國互聯網的活化石啊。老高身爲一家公司的老闆,仍然不肯放下coding的樂趣,至今堅持親自寫代碼。

所以看起來,到了40歲,無論自己寫不寫代碼,似乎都不至於年老色衰,程序員這個職業的保鮮期似乎沒有娛樂圈短。作爲一個年輕程序員的你來說,應該怎樣延長自己的保鮮期呢?

20-27歲:技術積累階段

假設本科22歲畢業,那麼工作的前5年對你來說是打基礎的階段。在這5年時間裏面,你要積累足夠的代碼量,打磨自己的技術實力,成爲某一個技術細分領域的牛人。

而我自己當年在這個階段的努力程度是如飢似渴的,春節都不回家,蹲在出租房裏面啃技術文檔。剛參加工作的時候,曾經連續一個月在公司打地鋪睡覺。

因此,在前期的技術積累階段是非常苦逼的,所以我在這裏給有想法的程序員們提供一份進階路線圖,主要針對2到5年及以上工作經驗的Java開發人員,從廣度到深度來說還算比較全面的,裏面的技術包涵了Java高併發、分佈式、微服務、源碼分析、高性能等技術,這些也是目前互聯網企業比較常用的技術。(圖片可以保存)

一:常見模式與工具

學習Java技術體系,設計模式,流行的框架與組件:

  • 常見的設計模式,編碼必備

  • Spring5,做應用必不可少的最新框架

  • MyBatis,玩數據庫必不可少的組件



二:工程化與工具

工慾善其事必先利其器,不管是小白,還是資深開發,玩Java技術體系,選擇好的工具,提升開發效率和團隊協作效率,是必不可少的:

  • Maven,項目管理

  • Jenkins,持續集成

  • Sonar,代碼質量管理

  • Git,版本管理



三:分佈式架構

高併發,高可用,海量數據,沒有分佈式的架構知識肯定是玩不轉的:

  • 分佈式架構原理

  • 分佈式架構策略

  • 分佈式中間件

  • 分佈式架構實戰



四:微服務架構

業務越來越複雜,服務分層,微服務架構是架構升級的必由之路,Java技術體系,和微服務相關的技術有哪些呢?

  • 微服務框架

  • Spring Cloud

  • Docker與虛擬化

  • 微服務架構



五:性能優化

任何脫離細節的ppt架構師都是耍流氓,向上能運籌帷幄,向下能解決一線性能問題,Java技術體系,需要了解:

  • 性能指標體系

  • JVM調優

  • Web調優

  • DB調優



28-35歲:形成思維方法論和知識體系的階段

當你積累足夠的代碼量,例如超過10萬行代碼以後,你應該形成了自己的思維方法論和自己獨立的學習技巧,任何新的技術在你眼中都能迅速的看到技術的本質,快速吸收成爲你的知識體系的一部分。

到了這個階段,你會發現你所完全不瞭解的新技術新知識是非常少的,新技術對你來說也不過是幾天時間就把玩的很好的玩具,學習越來越輕鬆,掌握的知識儲備越來越多。

你開始逐漸的不再滿足於純技術領域的探索,而是思考更多的問題:如何將技術轉化爲生產力;什麼技術在什麼樣的場合能夠發揮最大的價值;技術團隊應該怎樣構建;在一家公司裏面,我怎樣才能將自己的技術能力最大化的發揮出來?

在這個階段,積累技術對你來說簡直是小菜一碟,你更需要磨練的是思考能力,形成自己的思維方法和知識體系,這將是你幫助你一生的武器。

35歲以後:瞭解自己,把自己變現的階段

毋須諱言的是,35歲以後你的一線coding能力一定是下降的,你寫代碼絕對不如25歲的程序員快,效率高。但是這不重要,因爲編程只是你整個武器庫當中相對最不重要的了,你的經驗,你的視野,你的架構能力,你的管理能力,你分析和解決問題的能力已經遠遠不侷限於技術這個領域。

30-35歲這個階段,最關鍵的是瞭解自己。知道自己擅長什麼,自己的優勢在哪裏,怎樣才能夠最大化自己的價值,同時也知道自己有什麼缺陷,怎樣避開做自己不擅長的事情,不勉強自己,不讓自己處於對自己不利的環境,這是人生的智慧。

一個人能夠客觀的認識自己是非常困難的,很多人終其一生都沒有活明白,既不知道怎樣發揮自己的天賦,也拒絕承認自己的缺陷。在35歲以後,要接受一個不完美的自己,知道怎樣揚長避短,最大化個人價值。能夠做到這一步的程序員,人到中年完全不是程序員生涯的終結,反而會走向個人事業的巔峯。

一些後話

在這篇文章當中,我沒有提到很多具體的技術人員選擇發展道路的問題,例如:

  • 成長爲核心業務的核心骨幹

  • 成長爲技術管理層

  • 轉型業務專家,轉型做業務諮詢顧問

  • 轉型產品經理,產品總監,走產品線

這些都可以,都是一些具體的職業發展道路的選擇問題。然而無論選擇,只要你始終保持開放的學習心態,不斷積累知識和經驗,構建個人的知識體系,磨練自己的思考能力,並且時常自省,中年對你來說完全不是危機,而是巔峯。

注:如果對我在文中提到的技術點感興趣的朋友,可以關注我,然後在後臺私信我“架構”即可獲取整理好的架構資料。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章