
在娛樂圈,哦不,是在程式員這個吃青春飯的行業,有一個人人聞之色變的話題,曰:「年老色衰」。隻要是個程式員,心裡都會惴惴不安的想:「我老了以後賣不動色相,哦不,寫不動代碼了,我還能幹啥呢?」。今天咱們來談談這個禁忌話題。
在我還是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歲以後,要接受一個不完美的自己,知道怎樣揚長避短,最大化個人價值。能夠做到這一步的程式員,人到中年完全不是程式員生涯的終結,反而會走向個人事業的巅峰。
一些後話
在這篇文章當中,我沒有提到很多具體的技術人員選擇發展道路的問題,例如:
- 成長為核心業務的核心骨幹
- 成長為技術管理層
- 轉型業務專家,轉型做業務咨詢顧問
- 轉型産品經理,産品總監,走産品線
這些都可以,都是一些具體的職業發展道路的選擇問題。然而無論選擇,隻要你始終保持開放的學習心态,不斷積累知識和經驗,建構個人的知識體系,磨練自己的思考能力,并且時常自省,中年對你來說完全不是危機,而是巅峰。
注:如果對我在文中提到的技術點感興趣的朋友,可以關注一下我,并且上述提到的源碼閱讀、分布式架構、微服務、性能優化、阿裡項目實戰、Devops、并發程式設計等内容都已經分享在我的裙867924282中,并且每晚我都會在群内直播講解這些架構技術的底層實作原理,感興趣的程式員們可以加群找管理者擷取。
版權聲明:本文為CSDN部落客「weixin_34005042」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34005042/article/details/92417562