程序员能干多少年?大多数程序员都认为做程序员是一份年轻的工作,30岁才可能会编程,最多35岁。经常听到这样的话,感觉挺无语的。。。今天,我们又来聊聊这个老话题。。。先来看一篇论文《Is Programming Knowledge Related to Age?》(英文版),这篇论文是两个部门的两个人北卡罗来纳州立大学计算机科学博士对StackOverflow.com上的用户进行了一些数据挖掘。(StackOverflow.com上的数据是公开的,任何人都可以利用它来进行分析和计算,所以本文的真实性不成问题。)数据采样和清洗条件如下:(总数据为1694981用户,平均年龄30.3岁)我们来看看他们的年龄分布图:我们可以看到程序员年龄的正态分布(高点在25岁左右,中点在29岁左右)能力和年龄然后,计算每个人每月的Reputation,这样就可以找到这个用户的真实活跃时间,方便计算这个程序员的真实能力。(总声望/活跃时间),你可以得到他平均每个月获得的声望。我们来看看程序员能力和年龄段的分布情况:从上图我们可以看到,程序员的能力从25岁左右开始上升,到50岁才开始下降。所以,程序员吃的不是青春饭。只有码农,靠蛮力,用体力而不用脑力的程序员,才是吃青春饭的人。年长的人是否跟不上新技术论文作者使用了近5年流行的技术Tag,然后用一套更谨慎的算法来检验那些所谓的“老程序员”是否跟上withnewtechnologies跟不上,所谓跟不上,就是这些老程序员对这些新技术的回答不积极。所谓老是指37岁以上的程序员。我得到了下表:可以看出,老程序员和年轻程序员在学习一些新技能方面是差不多的,有些项目甚至超过了年轻程序员。结论:论文的结论是:1.程序员的能力提升可以达到50、60岁。2.老程序员掌握新技能的能力并不比年轻程序员差。结语从上面的数据可以看出,因为现在很多年轻的程序员太没有耐心了,都说30岁是程序员的巅峰。事实上,对于大多数人来说,如果到了30岁还没有编程,是无法成为一个“合格”的程序员的。所以,不是30岁编程就结束了,而是30岁才开始编程。
