編程能力與編程年齡

程序員這個職業究竟可以干多少年,在中國這片神奇的土地上,很多人都說只能干到30歲,然后就需要轉型,就像《程序員技術練級攻略》這篇文章很多人回復到這種玩法會玩死人的一樣。我在很多面試中,問到應聘者未來的規劃都能聽到好些應聘都說程序員是個青春飯。因為,大多數程序員都認為,編程這個事只能干到30歲,最多35歲吧。每每我聽到這樣的言論,都讓我感到相當的無語,大家都希望能像《21天速成C++》那樣速成,好多時候超級有想和他們爭論的沖動,但后來想想算了,因為你無法幫助那些只想呆在井底思維封閉而且想走捷徑速成的人。

今天,我們又來談這個老話題,因為我看到一篇論文,但是也一定會有很多人都會找出各種理由來論證這篇論文的是錯的,無所謂了,我把這篇文章送給那些和我一樣準備為技術和編程執著和堅持的人。

論文

首先,我們先來看一篇論文《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歲左右)

7.jpg

能力和年齡分布圖

然后,計算每個人每個月的Reputation,這樣可以找到這個用戶的真正的活躍時間,這樣便于計算這個程序員的真實能力。(總聲望 / 活躍時間),可以得到他平均每個月得來的Reputation。

我們來看看程序員的能力和年齡段的分布圖:(你可能會大吃一驚)

8.jpg

上圖中我們可以看到,程序員的能力在從25歲左右開始上升,一直到50歲后才會開始下降。所以說,程序員吃的不是青春飯。只有碼農,靠蠻力,用體力而不是用腦力的程序員才是吃青春飯的人。

年紀大的人是否跟不上新技術

論文的作者分析了Tag,用了最近5年內比較流行的技術Tag,然后用了一套比較嚴謹的算法來查看那些所謂的“老程序員”是否在新技術上跟上不了,所謂跟不上,也就是這些老的程序員在回答這些新技術上并不活躍。所謂老,就是37歲以上的程序員(就是我現在的年紀)。

得到了下表:可以看到,老程序員和年輕的程序員對于一些新技術的學習來說也是差不多的,甚至有些項還超過了年輕的程序員。

9.jpg

結論

論文的結論是:

1)程序員技術能力上升是可以到50歲或60歲的。

2)老程序員在獲取新技術上的能力并不比年輕的程序員差。

我的一些感受

最后,我說一說我的一些感受:

  • 這些年來的對于外企和國內感受—— 國外牛B的IT公司的工程能力并不見得比國內的要強多少,但是國外那些NB的IT公司的架構和設計能力遠遠超過國內的公司,最可怕的是,那些有超強架構和設計能力的“老程序員們”還戰斗在一線,這些戰斗在一線的老鳥的能力絕對超過100個普能的新手。

  • 對年輕程序員的感受——國內新一代的程序員們太浮燥了。老實說,對于大多數人來說,如果你沒有編程到30歲,你還不能成為一個“合格”的程序員所以,并不是編程編到30歲就玩完了,而是編程編到30歲才剛剛入門。這些不合格的程序,整天BS這個不好,那個不好的,而且喜歡速成,好大喜功。

  • 我是一個奔四的人了,編程就像登山一樣,越往上爬人越少,所以,在我這個年紀還有想法,對編程還有熱情的人不多了,基本上都是轉Manager了。其實,什么職位,Title都是虛的,公司沒了什么都沒了,只有技術才是硬通貨。而且,越是這個年紀還在玩編程玩技術的人,其實其經驗和能力都是比較強的,都是中堅力量,如果還有其它這個年紀和我一樣的人,求交往。

轉自:http://coolshell.cn/articles/10688.html

原創文章,作者:s19930811,如若轉載,請注明出處:http://www.www58058.com/2127

(0)
s19930811s19930811
上一篇 2016-08-15 12:10
下一篇 2016-08-15 12:11

相關推薦

  • 軟件包管理和磁盤管理

    軟件運行和編譯 ABI :Application Binary Interface 應用程序二進制接口     Windows和Linux不兼容      PE格式   ELF格式 庫級別的虛擬化:       Linu…

    2017-04-24
  • 20160802課堂作業

    作業: 在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 #groupadd g1 #groupadd g2 #groupadd g3 #useradd -G g2 alice #useradd -G…

    Linux干貨 2016-08-04
  • 在VMware Workstation上安裝CentOS 7

    1.新建虛擬機設備設置 2.開啟此虛擬機,進行安裝設置    需設置4處  時間,SOFTWARE SELECTION,分區,NETWORK & HOST NAME    (1) 首先 時間設置,選中上海時間,設置現在的Windows時間,設置好后,點擊Done退出。(下面同意Done保存退…

    2017-07-15
  • 搜索引擎-處理查詢

     我們從用戶的角度來看,用戶不關心什么索引結構是倒排還是簽名文件,也不需要知道相關排序算法。用戶提交了查詢,就需要獲取滿意的搜索結果。這個搜索結果就是搜索引擎是否提供有效的服務。 1.查詢流程 查詢流程圖: 1)用戶提交查詢 2)分析查詢      查詢預處理:    …

    Linux干貨 2015-12-10
  • NET25-第11周作業

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 第一步:他們需要實現協商好對稱加密算法,單向加密算法,公鑰加密算法,交換公鑰等。 第二步:B用戶想要將數據傳給A,首先需要使用單向加密算法取出數據的特征碼,并用自己的私鑰對這段特征碼進行加密(數字簽名),B用戶生成臨時對稱密鑰,并用對稱密鑰加密整段數據,B用戶使用 A用戶的公鑰加密一次性對稱密鑰,附加在整段數據…

    Linux干貨 2017-05-15
  • N25第二周視頻作業:用戶、組與權限管理詳解

    此篇博客是根據視頻要求寫的,因為馬哥在視頻中說了,用戶組、權限在linux運維過程中比較重要,所以一定要深入學習 首先,先介紹一下用戶、組與權限是什么:     用戶:用戶時指你在服務器上的標識,通過不同類型的用戶,你享受到不同的待遇,而待遇就是權限的大小。每個用戶在服務器上都有唯一的id標識,即使你將此用戶刪除,再建…

    Linux干貨 2016-11-26
欧美性久久久久