做者丨酷殼/陳皓, html
http://coolshell.cn/articles/...程序員
程序員這個職業究竟能夠幹多少年,在中國這片神奇的土地上,不少人都說只能幹到30歲,而後就須要轉型,就像《程序員技術練級攻略》這篇文章不少人回覆到這種玩法會玩死人的同樣。我在不少面試中,問到應聘者將來的規劃都能聽到好些應聘都說程序員是個青春飯。由於,大多數程序員都認爲,編程這個事只能幹到30歲,最多35歲吧。往往我聽到這樣的言論,都讓我感到至關的無語,你們都但願能像《21天速成C++》那樣速成,好多時候超級有想和他們爭論的衝動,但後來想一想算了,由於你沒法幫助那些只想呆在井底思惟封閉並且想走捷徑速成的人。面試
今天,咱們又來談這個老話題,由於我看到一篇論文,可是也必定會有不少人都會找出各類理由來論證這篇論文的是錯的,無所謂了,我把這篇文章送給那些和我同樣準備爲技術和編程執着和堅持的人。算法
論文shell
首先,咱們先來看一篇論文《Is Programming Knowledge Related to Age?》(PDF連接),這篇論文是兩個北卡羅萊納州立大學計算機科學系的兩我的Patrick Morrison 和 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這個很差,那個很差的,並且喜歡速成,好大喜功。
我是一個奔四的人了,編程就像爬山同樣,越往上爬人越少,因此,在我這個年紀還有想法,對編程還有熱情的人很少了,基本上都是轉Manager了。其實,什麼職位,Title都是虛的,公司沒了什麼都沒了,只有技術纔是硬通貨。並且,越是這個年紀還在玩編程玩技術的人,其實其經驗和能力都是比較強的,都是中堅力量,若是還有其它這個年紀和我同樣的人,求交往。
(全文完)
本文內容版權屬於原做者全部,若有侵權,請聯繫刪除
推薦閱讀:
一份新鮮出爐的騰訊後端面經
喜歡本文的話,就點一下「在看」吧