我从事编程十五年了,有一些不同的看法可以和作者讨论:
两个数据,一个显示程序员的平均年龄是29岁,另一个显示程序员能力的平均高值是50岁。
根据正态分布规律,50岁的程序员数量应该远远少于29岁的程序员。 从我了解的数据来看,预计在1:10左右,国外最多是1:5。
那么从另一种可能来看,应该是随着时间的推移,大部分程序员都被淘汰或者转行了。 能留下来继续工作到50岁的,一定是适合这个行业、能力强的精英。 这也很正常,因为他们在29岁时也是第十之一。 这与年龄无关。 这并不意味着他们50岁时比30岁时要好得多。
我个人的结论:
编程能力与编程年龄没有正相关关系。 程序员这个职业和其他所有职业一样,没有特殊性。适合的可以干到老,不适合的迟早会被淘汰
程序员能工作几年? 在中国这片神奇的土地上,很多人说你只能工作到30岁,然后你需要转型。 就像《程序员技术练级指南》这篇文章一样,很多人回复说你这样玩就跟装死一样。 在很多面试中,当我询问应聘者未来的计划时,我听到很多应聘者都说程序员是年轻的粉丝。 因为大多数程序员认为编程只能干到30岁,最多35岁。 每次听到这样的言论,我都觉得很无语。 每个人都希望能像“21 Days to C++”一样快。 很多时候我都有跟他们争论的冲动,但转念一想,因为你无法帮助那些只想留在井底走捷径的人。
今天,我们又来聊这个老话题了,因为我看到了一篇论文,但是肯定有很多人会找出各种理由来证明这篇论文是错误的。 没关系,我会把这篇文章发给那些和我一样,准备对技术和编程执着和执着的人。
目录
纸
首先我们看一篇论文《编程知识与年龄有关吗?》 (PDF链接),这篇论文是来自北卡罗来纳州立大学计算机科学系的两个人Patrick Morrison和Emerson Murphy-Hill。 一些数据是用户做过相关数据挖掘后得到的。 (我们知道网上的数据是公开的,任何人都可以利用它进行分析统计,所以这篇论文的真实性是有的)
数据采样及清洗情况如下:(全量数据1,694,981用户,平均年龄30.3岁)
以上条件共筛选出84248名程序员,平均年龄29.02岁,平均Reputaion为1073.9。
年龄分布图
我们看一下他们的年龄分布图:我们可以看到程序员年龄呈正态分布(高点在25岁左右,中点在29岁左右)
能力与年龄分布图
然后,计算每个人每月的Reputation,这样就可以找到用户的真实活跃时间,方便计算程序员的真实能力。 (总声望/活跃时间),你可以得到他每个月获得的平均声望。
我们来看看程序员的能力和年龄分布:(你可能会感到惊讶)
上图中我们可以看到,程序员的能力从25岁左右开始上升,直到50岁才开始下降。所以,程序员不吃青春饭。 只有程序员,靠蛮力,用体力代替脑力的程序员,才是吃青春的人。
老年人是否跟不上新技术的发展?
论文作者分析了Tag,使用了近5年流行的技术Tag,然后用一套更严格的算法来检查那些所谓的“老程序员”是否跟不上新技术。 ,就是这些老程序员对于这些新技术的应对并不积极。 所谓老,是指37岁以上的程序员(也就是我现在的年龄)。
得到下表: 可以看出,老程序员和年轻程序员在学习一些新技术方面是相似的,有些项目甚至超过了年轻程序员。
综上所述
论文的结论是:
1)程序员可以提高自己的技术能力,直到50岁或60岁。
2)老程序员获取新技术的能力并不比年轻程序员差。
我的一些感受
最后,分享一下我的一些感受:
(全文)
程序员能工作几年? 在中国这片神奇的土地上,很多人都说自己只能工作到30岁,然后就需要转型。 就像《程序员技能练级攻略》那篇文章一样,很多人反应如果这样玩那就跟装死一样。 在很多面试中,当我询问应聘者未来的计划时,我听到很多应聘者都说程序员是年轻的粉丝。 因为大多数程序员认为编程只能干到30岁,最多35岁。 每次听到这样的言论,我都觉得很无语。 每个人都希望能像《21天的C++》一样快,很多时候我都有跟他们争论的冲动,但转念一想,因为你无法帮助那些只想停留在底层的人。好吧,走捷径。
今天,我们再来说一下这个老话题,因为我看到了一篇论文,但是肯定有很多人会找到各种理由来论证这篇论文是错误的,没关系,我把这篇文章发给那些,像我一样,准备好为技术和编程奉献和坚持。
目录
纸
首先我们看一篇论文《编程知识与年龄有关吗?》 (PDF链接),这篇论文是来自北卡罗来纳州立大学计算机科学系的两个人Patrick Morrison和Emerson Murphy-Hill。 一些数据是用户做过相关数据挖掘后得到的。 (我们知道,以上数据是公开的,任何人都可以用来分析统计,因此本文的真实性是确定的)
数据采样及清洗情况如下:(总数据量1,694,981用户,平均年龄30.3岁)
以上条件共筛选出84248名程序员,平均年龄29.02岁,平均Reputaion为1073.9点。
年龄分布图
我们看一下他们的年龄分布图:我们可以看到程序员年龄呈正态分布(高点在25岁左右,中点在29岁左右)
能力与年龄分布图
然后,计算每个人每月的Reputation,这样就可以找到用户的真实活跃时间,方便计算程序员的真实能力。 (总声望/活跃时间),你可以得到他每月的平均声望。
我们来看一下程序员能力和年龄层的分布图:(你可能会感到惊讶)
从上图我们可以看出,程序员的能力从25岁左右开始上升,直到50岁才开始下降。所以,程序员不吃青春饭。 只有码农、靠蛮力、用体力而不是脑力的程序员,才是享受青春的人。
老年人是否跟不上新技术的发展?
论文作者分析了Tag,使用了近5年流行的技术Tag,然后用一套更严格的算法来检查那些所谓的“老程序员”是否跟不上新技术。 ,就是这些老程序员对于这些新技术的应对并不积极。 所谓老,是指37岁以上的程序员(也就是我现在的年龄)。
得到下表: 可以看出,老程序员和年轻程序员在学习一些新技术方面是相似的,有些项目甚至超过了年轻程序员。
综上所述
论文的结论是:
1)程序员的技术能力可以提高到50、60岁。
2)老程序员在掌握新技术方面并不比年轻程序员差。
我的一些感受
最后,分享一下我的一些感受:
(全文)