程序員這個職業究竟可以干多少年,在中國這片神奇的土地上,很多人都說只能干到30歲,然后就需要轉型,就像《程序員技術練級攻略》這篇文章很多人回復到這種玩法會玩死人的一樣。我在很多面試中,問到應聘者未來的規劃都能聽到好些應聘都說程序員是個青春飯。因為,大多數程序員都認為,編程這個事只能干到30歲,最多35歲吧。每每我聽到這樣的言論,都讓我感到相當的無語,大家都希望能像《21天速成C++》那樣速成,好多時候超級有想和他們爭論的沖動,但后來想想算了,因為你無法幫助那些只想呆在井底思維封閉而且想走捷徑速成的人。 今天,我們又來談這個老話題,因為我看到一篇論文,但是也一定會有很多人都會找出各種理由來論證這篇論文的是錯的,無所謂了,我把這篇文章送給那些和我一樣準備為技術和編程執著和堅持的人。 論文 首先,我們先來看一篇論文《Is Programming KnowledgeRelated to Age?》,這篇論文是兩個北卡羅萊納州立大學計算機科學系的兩個人PatrickMorrison 和 Emerson Murphy-Hill 對StackOverflow.com上的用戶做了相關的數據挖掘得出來的一些數據。(我們知道StackOverflow.com上的數據是公開的,任何人都可以用來分析和統計,所以這篇論文的真實性是有的) 數據采樣和清洗條件如下:(數據全量是1694981用戶,平均年齡30.3歲) 15-70歲之間的用戶(這年齡段的用戶被稱做“Working age”),當然,有很多用戶沒有輸入年齡,這些用戶都被過濾了。 用戶在2012年內都回答過問題。因為StackOverflow在2012年對問題和答案的質量要求得比以前高了一倍,所以更能反映程序員的真實水平。 Reputation聲望在2-100K之間。(注:StackOverflow的用戶Reputation是得到社會認可的,在面試和招聘中是硬通貨幣。比大學的學分更有價值) 上述的條件一共過濾出84,248名程序員,平均年齡:29.02歲,平均Reputaion在1073.9分。 年齡分布圖 下面我們來看一下他們的年齡分布圖:我們可以看到程序員年紀的正態分布(高點在25歲左右,但是中點在29歲左右) 能力和年齡分布圖 然后,計算每個人每個月的Reputation,這樣可以找到這個用戶的真正的活躍時間,這樣便于計算這個程序員的真實能力。(總聲望 / 活躍時間),可以得到他平均每個月得來的Reputation。 我們來看看程序員的能力和年齡段的分布圖:(你可能會大吃一驚) ;上圖中我們可以看到,程序員的能力在從25歲左右開始上升,一直到50歲后才會開始下降。所以說,程序員吃的不是青春飯。只有碼農,靠蠻力,用體力而不是用腦力的程序員才是吃青春飯的人。 年紀大的人是否跟不上新技術 論文的作者分析了Tag,用了最近5年內比較流行的技術Tag,然后用了一套比較嚴謹的算法來查看那些所謂的“老程序員”是否在新技術上跟上不了,所謂跟不上,也就是這些老的程序員在回答這些新技術上并不活躍。所謂老,就是37歲以上的程序員(就是我現在的年紀)。 得到了下表:可以看到,老程序員和年輕的程序員對于一些新技術的學習來說也是差不多的,甚至有些項還超過了年輕的程序員。 結論 論文的結論是: 1)程序員技術能力上升是可以到50歲或60歲的。 2)老程序員在獲取新技術上的能力并不比年輕的程序員差。 我的一些感受 最后,我說一說我的一些感受: 這些年來的對于外企和國內感受—— 國外牛B的IT公司的工程能力并不見得比國內的要強多少,但是國外那些NB的IT公司的架構和設計能力遠遠超過國內的公司,最可怕的是,那些有超強架構和設計能力的“老程序員們”還戰斗在一線,這些戰斗在一線的老鳥的能力絕對超過100個普能的新手。 對年輕程序員的感受——國內新一代的程序員們太浮燥了。老實說,對于大多數人來說,如果你沒有編程到30歲,你還不能成為一個“合格”的程序員。所以,并不是編程編到30歲就玩完了,而是編程編到30歲才剛剛入門。這些不合格的程序,整天BS這個不好,那個不好的,而且喜歡速成,好大喜功。 聯璧港是一個集B2D,B2B和B2C服務于一體的綜合性開放平臺,以一站式、高質量且數據穩定的免費PaaS組件為基礎,運用多類運營推廣資源和多種SaaS應用發布渠道,提供各類SaaS資源,讓開發者、企業及個人輕松享用全方位、高品質、個性化的服務。
官網:http://lbp.lincomb.com/
|