程序员是青春饭吗?30岁后的发展方向和突破
作者:丁儀
來源:https://chengxuzhixin.com/blog/post/30_sui_hou_de_fa_zhan_fang_xiang_he_tu_po.html
?
前些年,有人說程序員只能干到 30,后來大家把年齡提到 35,最近好像又有提到 40 的跡象。最近 Python 創(chuàng)始人 Guido 入職微軟了。Guido 在 1989 年創(chuàng)造了 Python,無論從哪個角度看,都是絕對的高齡程序員了。
?
程序員是青春飯嗎
很多人都說寫代碼最多到 35 歲,妥妥的青春飯,然而科學分析不這么認為。《Is Programming Knowledge Related to Age?》論文對 1694981 名 StackOverflow 用戶的研究發(fā)現,程序員的平均年齡是 30.3 歲,其中數據清洗后參與分析的用戶是 84248 名程序員,平均年齡 29.02 歲。
在年齡分布中,人數最多的是 25 歲,中位數是 29 歲。然而分析發(fā)現,程序員的能力從 25 歲左右開始上升,一直到 50 歲后才會開始下降。論文還研究了程序員對新技術的跟進,發(fā)現不同年齡的程序員對新技術的學習并沒有差太多。大齡程序員對某些新技術的學習甚至超過年輕程序員。所以論文得出的結論是,程序員的技術能力上升可以到 50 - 60 歲,并且大齡程序員跟進新技術的能力和年輕程序員相差不多。
從身邊的觀察發(fā)現,30 歲的程序員積累了大量經驗,可能才剛剛成為優(yōu)秀的人才,架構設計能力、領導力需要大量的實踐積累,不是能夠輕松掌握的。互聯網是一個新興行業(yè),大部分從業(yè)者都是后期加入的,平均年齡要低于其他行業(yè)。
?
30 歲后的職業(yè)規(guī)劃
一個程序員在 30 歲后,可能面臨技術專家、技術 Leader、架構師三個發(fā)展方向的選擇。
技術專家很好理解,在一個領域深耕,對業(yè)務和代碼都有很好深刻的理解,經驗豐富,能夠用技術解決公司遇到的實際問題。成為技術專家需要大量的實踐積累,正常發(fā)展情況下差不多都要到 30 歲左右。正常來說,技術專家是人才梯隊中非常重要的角色,對技術方案設計有很大影響。
前幾天看到有個公眾號轉載一篇高并發(fā)的文章,一個看起來一年內工作經驗的作者展示了漏洞百出的技術方案,還能發(fā)上線,可見技術專家對團隊的重要作用。沒有技術專家的團隊,人才梯隊很難建立起來,團隊內成員的成長可能也會受影響。
技術?Leader?會開始涉及技術管理方面的事務。注意這里是 Leader,不是 Manager。Manager 是管理者,而 Leader 更多是領導者。作為技術 Leader,需要重點保障核心業(yè)務、做技術建設、提升業(yè)務效果。為團隊設定合理的目標,做好排兵布陣,協調各個團隊和資源。所以業(yè)內往往稱為“技術管理”而不是“管理”。
技術 Leader 比團隊其他同學視野更開闊,對長遠的發(fā)展趨勢看的更準,有技術前瞻性。雖然已經成為團隊中最牛逼的程序員之一,但是也要逐漸學會借他人之手寫代碼,專注于寫代碼的時間比以前減少很多,而這一點正是優(yōu)秀程序員轉變?yōu)榧夹g?Leader?所面臨的最大挑戰(zhàn)之一。
架構師是一個非常出名的稱謂了,然而卻很少有專門的架構師崗位。阿里前幾年有架構師崗位,不過現在也回歸“技術專家”這樣的純技術崗位了。架構師必須是最出色的程序員,擁有技術深度和廣度,有系統性的認知和技術前瞻性。
架構師通常和技術?Leader 有部分重疊,尤其是在團隊規(guī)模比較小的時候,兩者往往是同一個人。隨著軟件規(guī)模的增大,架構師開始在比技術?Leader 更高的高度上看待問題,這時候架構師和技術 Leader 開始分化為不同的人。架構師也不一定是公司任命的權威領導者,但是在團隊內部通常有非權威領導力,是團隊內部非常信任的技術領導者。
這三個發(fā)展方向可能會有重疊,對個人來說,還是最好想清楚側重點是什么。
?
掌握軟件系統方法論
越是到職業(yè)發(fā)展的后期,越不能依靠代碼本身。所有人都使用著同樣的開發(fā)語言,掌握著同樣的語法和腳本。作為執(zhí)行者很難體現出優(yōu)勢,總不能說掌握的語法和二方包比別人多吧。優(yōu)秀的程序員能比別人寫出更好的代碼,主要還是在如何寫代碼,以及代碼背后的思考,也就是程序員的方法論。
方法論英文單詞是 methodology,也就是說它是關于方法(method)的學問,是關于人們認識世界、改造世界的方法的理論,是人們用什么樣的方式、方法來觀察事物和處理問題。簡單地說,方法論是成熟的思維方式。
成熟的方法論有很多。前面文章提到的黃金圈法則,是思考問題、分析問題的方法論。領域驅動設計是架構設計方面的方法論,能夠幫助解決復雜問題。金字塔原理,是思考問題、解決問題、寫作、PPT 演示方面的方法論。系統化思維,是對復雜系統如何觀察和分析的理論,也能指導設計復雜系統。
我們常說的“抓手”、“賦能”、“共建”、“打法”、“對焦”等看起來比較虛的東西,其實就出自于方法論,是方法論中對具體事物和行為背后的客觀規(guī)律的總結。脈脈上很多人對此嗤之以鼻,成為了大家吐槽的對象,但是這都是很成熟的概念。
如果長期停留在使用框架的層面,容易陷入工具誤區(qū),把使用框架當做技術,思維方式也被局限在框架里。會有一種技術很牛逼的錯覺,但是和其他人相比,卻沒有多少優(yōu)勢,容易被更年輕更有活力的后輩取代。
?
形成自己的方法論
方法論的形成需要長期的積累,可以借鑒學習圈理論。學習過程由具體經驗、反思觀察、抽象概括、主動實驗四個階段,并形成一個閉環(huán)。首先學習一個具體的東西,然后停下來對自己的經歷進行復盤和思考,再對學習的內容進行抽象,概括成為真正能理解、能吸收的知識,最后再把學習的概念和理論應用于實踐并解決現實的問題,如此往復循環(huán)。
?
定向鉆研一個技術方向,可以加深技術深度,有助于形成方法論。比如,可以定一個目標,讓需求上線的時間縮減一半或者同樣成本支撐的需求數量翻倍。接下來就需要思考什么樣的架構設計能夠支撐翻倍的效能,很多情況下都會走向配置化、提升復用、熱部署等,接下來你就可以總結出你的方法論了。
親自設計一個框架,也是一個不錯的選擇。既能在縱向深挖,又會有橫向拓展的機會。不過這樣的嘗試一定要以足夠的經驗積累為前提,否則可能走入誤區(qū)。跳出日常的習慣,拔高視野,很快就會有領悟,甚至推翻低層次的認知。
復盤和反思有助于改造認知,實現認知升級。推薦使用黑匣子思維,記錄下過程中的思考和問題,能夠幫助更好地復盤。關于復盤的方法,推薦閱讀《復盤:對過去的事情做思維演練》,書中講了很多復盤的方法和技巧,是關于復盤的方法論。
經過思考和訓練,你會得到很多經驗和認知,會形成自己的思維方式,能夠對一類問題形成體系化的深度思考,然后再總結出一些概念進行抽象,使經驗適用于更廣闊的共性問題,就實現了經驗到理論的升華。把自己的理論應用于實踐,觀察實際效果,對比之前的預期,再領悟新的經驗和思考,循環(huán)往復,就形成了方法論。
?
以上就是本文的全部內容了,與君共勉。
微.信.搜.一.搜.程序之心,每周一三五原創(chuàng)更新。
總結
以上是生活随笔為你收集整理的程序员是青春饭吗?30岁后的发展方向和突破的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Symbian手记【一】 —— Symb
- 下一篇: 可以删除电脑文件的c语言程序,Win7c