程序员越老,就越博学吗?

 

程序员越老,就越博学吗?

作者 Abel Avram ,译者 廖煜嵘 发布于 五月 08, 2013 | 9 评论

最近一个基于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为基础,就给大龄程序员带来了优势。年龄和所选新技术之间的关联性相对较弱,我们还没有强有力的 证据证明大龄程序员无法掌握新技术。这样看来,大龄程序员的确能掌握新的技术。

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

查看英文原文:Are Older Programmers More Knowledgeable?


感谢康锦龙对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

This entry was posted in Case. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s