分享

程序员越老越博学吗?

 weijianian 2016-08-07


最近一个基于Stack Overflow数据的研究尝试去解答以下问题:编程知识是否与年龄有关,程序员是否越老就越博学以及他们是否能够掌握新的知识技能等。


美国北卡罗来纳州立大学计算机科学系的博士生PatrickMorrison和助理教授EmersonMurphy-Hill最近发布了《编程知识是否和年龄有关?Stack Overflow探秘》(PDF),研究了编程知识和年龄之间的关系。


这项研究的对象是Stack Overflow的用户数据库(20132月),包含1694981名程序员,平均年龄为30.3岁。在这些用户中,超过300000名用户明确提供了具体年龄,这些数据均用于本项研究。在该用户群中,作者筛选出曾在2012年回答过问题并且其威望值在11000000之间的用户,总样本数为84284个,平均年龄为29.02岁。作者认为,在该调查中回答问题比提问更具代表性,因为很可能问一个好问题却无法回答,但不大可能有难以理解或错误的答案获得高分,并且回答编程问题的能力在程序员面试中更重要。


作者在其调查中着重提出了三个问题,主要是关于编程知识方面,而不是编程能力方面:


年龄对编程知识起到积极作用吗?

在该调查中,编程知识是用Stack Overflow(SO)的威望值来衡量的,结果显示年龄在1050岁之间,威望值大致呈线性增长,意味着年龄和SO威望值间正相关,如下图所示:

程序员越老其技术和技能就越多样化?

作者通过选用Stack Overflow标签的方式,来衡量调查对象的知识领域,比如JavaC#JavascriptC等。结果数据(如下图)显示平均每个程序员所拥有的标签数量随着年龄增长都会有所下降,在30岁左右触底,然后在4050岁之间反弹,而在60岁左右呈分散状。这么来看,程序员越老似乎就拥有越多的技能集。

大龄程序员学习新的技术能达到什么程度?

为了衡量大龄程序员是否依然能掌握新的知识,作者将调查对象的标签限定在一些新的技术——clojuredjangogitiosjquerylinqmongodbruby-on-railssilverlightwindows-phone-7-,并结合答案的分数:


我们推测,他们在新技术领域获取的知识,可以通过答案的分数来衡量。每个答案的分数基于支持和反对的数量。如果越老程序员学习越新的技术,我们期望跟他们在回答这些技术的问题时,能够获得和年轻程序员一样甚至更高的分数。

结果数据在下表中列出:

作者总结道:


“iOS”“windows-phone-7”这两个标签,显著偏离了统计学中的零假设。这可能表明即使技术的年代久远,但其知识依然有用武之地,比如“iOS”20年历史的Objective-C为基础,就给大龄程序员带来了优势。年龄和所选新技术之间的关联性相对较弱,我们还没有强有力的证据证明大龄程序员无法掌握新技术。这样看来,大龄程序员的确能掌握新的技术。


作者承认,Stack Overflow可能不是最好的样本去衡量编程知识和年龄的关系,因为美国对程序员就业的调查数据显示,与SO的用户分布相比,专业程序员的年龄分布倾向大龄化,并且也许是年轻的程序员把加入【SO】看作理所当然的事,而大龄程序员如果知道自己在某方面特别在行也会加入SO他们也不确信RQ3【第三个研究问题】所采取的调查手段是公平的,但是我们到目前为止也没有找到更好的方法。


原文来源:InfoQ

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多