程序員越老,就越博學嗎?

jopen 11年前發布 | 5K 次閱讀 程序員

        最近一個基于 Stack Overflow 數據的研究嘗試去解答以下問題:編程知識是否與年齡有關,程序員是否越老就越博學以及他們是否能夠掌握新的知識技能等。

        美國北卡羅來納州立大學計算機科學系的博士生 Patrick Morrison 和助理教授 Emerson Murphy-Hill 最近發布了《編程知識是否和年齡有關?Stack Overflow 探秘》(PDF),研究了編程知識和年齡之間的關系。

        這項研究的對象是 Stack Overflow 的用戶數據庫(2013 年 2 月),包含 1 694 981 名程序員,平均年齡為 30.3 歲。在這些用戶中,超過 300 000 名用戶明確提供了具體年齡,這些數據均用于本項研究。在該用戶群中,作者篩選出曾在 2012 年回答過問題并且其威望值在 1 到 1 000 000 之間的用戶,總樣本數為 84 284 個,平均年齡為 29.02 歲。作者認為,在該調查中回答問題比提問更具代表性,因為“很可能問一個好問題卻無法回答,但不大可能有難以理解或錯誤的答案獲得高分”,并且“回答編程 問題的能力在程序員面試中更重要。”

        作者在其調查中著重提出了三個問題,主要是關于編程知識方面,而不是編程能力方面:

        年齡對編程知識起到積極作用嗎?

        在該調查中,編程知識是用 Stack Overflow (SO)的威望值來衡量的,結果顯示年齡在 10 到 50 歲之間,威望值大致呈線性增長,意味著“年齡和 SO 威望值間正相關”,如下圖所示:

程序員越老,就越博學嗎?

        程序員越老其技術和技能就越多樣化?

        作者通過選用 Stack Overflow 標簽的方式,來衡量調查對象的知識領域,比如 Java、C#、Javascript、C等。結果數據(如下圖)顯示“平均每個程序員所擁有的標簽數量隨著年齡增長都會有所下降,在 30 歲左右觸底,然后在 40 到 50 歲之間反彈,而在 60 歲左右呈分散狀。”這么來看,程序員越老似乎就擁有越多的技能集。

程序員越老,就越博學嗎?

        大齡程序員學習新的技術能達到什么程度?

        為了衡量大齡程序員是否依然能掌握新的知識,作者將調查對象的標簽限定在一些新的技術——clojure、 django、 git、 ios、 jquery、 linq、 mongodb、ruby-on-rails、 silverlight 和 windows-phone-7-,并結合答案的分數:

        我們推測,他們在新技術領域獲取的知識,可以通過答案的分數來衡量。每個答案的分數基于支持和反對的數量。如果越老程序員學習越新的技術,我們期望跟他們在回答這些技術的問題時,能夠獲得和年輕程序員一樣甚至更高的分數。

        結果數據在下表中列出:

程序員越老,就越博學嗎?

        作者總結道:

“iOS”和“windows-phone-7”這兩個標簽,顯著偏離了統計學中的零假設。這可能表明即使技術的年代久遠,但其知識依然有用武之 地,比如“iOS”以 20 年歷史的 Objective-C 為基礎,就給大齡程序員帶來了優勢。年齡和所選新技術之間的關聯性相對較弱,我們還沒有強有力的證據證明大齡程序員無法掌握新技術。這樣看來,大齡程序員 的確能掌握新的技術。

</blockquote>

        作者承認,Stack Overflow 可能不是最好的樣本去衡量編程知識和年齡的關系,因為“美國對程序員就業的調查數據顯示,與 SO 的用戶分布相比,專業程序員的年齡分布傾向大齡化”,并且“也許是年輕的程序員把加入【SO】看作理所當然的事,而大齡程序員如果知道自己在某方面特別在 行也會加入 SO。”他們也“不確信 RQ3【第三個研究問題】所采取的調查手段是公平的,但是我們到目前為止也沒有找到更好的方法。”

來自: InfoQ
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!