编程能力与编程年龄
程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《程序员技术练级攻略》这篇文章很多人回复到这种玩法会玩死人的一样。我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。因为,大多数程序员都认为,编程这个事只能干到30岁,最多35岁吧。每每我听到这样的言论,都让我感到相当的无语,大家都希望能像《21天速成C++》那样速成,好多时候超级有想和他们争论的冲动,但后来想想算了,因为你无法帮助那些只想呆在井底思维封闭而且想走捷径速成的人。
今天,我们又来谈这个老话题,因为我看到一篇论文,但是也一定会有很多人都会找出各种理由来论证这篇论文的是错的,无所谓了,我把这篇文章送给那些和我一样准备为技术和编程执着和坚持的人。
目录
论文
首先,我们先来看一篇论文《Is Programming Knowledge Related to Age?》(PDF链接),这篇论文是两个北卡罗莱纳州立大学计算机科学系的两个人Patrick Morrison 和 Emerson Murphy-Hill 对StackOverflow.com上的用户做了相关的数据挖掘得出来的一些数据。(我们知道StackOverflow.com上的数据是公开的,任何人都可以用来分析和统计,所以这篇论文的真实性是有的)
数据采样和清洗条件如下:(数据全量是1694981用户,平均年龄30.3岁)
- 15-70岁之间的用户(这年龄段的用户被称做“Working age”),当然,有很多用户没有输入年龄,这些用户都被过滤了。
- 用户在2012年内都回答过问题。因为StackOverflow在2012年对问题和答案的质量要求得比以前高了一倍,所以更能反映程序员的真实水平。
- Reputation声望在2-100K之间。(注:StackOverflow的用户Reputation是得到社会认可的,在面试和招聘中是硬通货币。比大学的学分更有价值)
上述的条件一共过滤出84,248名程序员,平均年龄:29.02岁,平均Reputaion在1073.9分。
年龄分布图
下面我们来看一下他们的年龄分布图:我们可以看到程序员年纪的正态分布(高点在25岁左右,但是中点在29岁左右)
能力和年龄分布图
然后,计算每个人每个月的Reputation,这样可以找到这个用户的真正的活跃时间,这样便于计算这个程序员的真实能力。(总声望 / 活跃时间),可以得到他平均每个月得来的Reputation。
我们来看看程序员的能力和年龄段的分布图:(你可能会大吃一惊)
上图中我们可以看到,程序员的能力在从25岁左右开始上升,一直到50岁后才会开始下降。所以说,程序员吃的不是青春饭。只有码农,靠蛮力,用体力而不是用脑力的程序员才是吃青春饭的人。
年纪大的人是否跟不上新技术
论文的作者分析了Tag,用了最近5年内比较流行的技术Tag,然后用了一套比较严谨的算法来查看那些所谓的“老程序员”是否在新技术上跟上不了,所谓跟不上,也就是这些老的程序员在回答这些新技术上并不活跃。所谓老,就是37岁以上的程序员(就是我现在的年纪)。
得到了下表:可以看到,老程序员和年轻的程序员对于一些新技术的学习来说也是差不多的,甚至有些项还超过了年轻的程序员。
结论
论文的结论是:
1)程序员技术能力上升是可以到50岁或60岁的。
2)老程序员在获取新技术上的能力并不比年轻的程序员差。
我的一些感受
最后,我说一说我的一些感受:
- 这些年来的对于外企和国内感受—— 国外牛B的IT公司的工程能力并不见得比国内的要强多少,但是国外那些NB的IT公司的架构和设计能力远远超过国内的公司,最可怕的是,那些有超强架构和设计能力的“老程序员们”还战斗在一线,这些战斗在一线的老鸟的能力绝对超过100个普能的新手。
- 对年轻程序员的感受——国内新一代的程序员们太浮燥了。老实说,对于大多数人来说,如果你没有编程到30岁,你还不能成为一个“合格”的程序员。所以,并不是编程编到30岁就玩完了,而是编程编到30岁才刚刚入门。这些不合格的程序,整天BS这个不好,那个不好的,而且喜欢速成,好大喜功。
- 我是一个奔四的人了,编程就像登山一样,越往上爬人越少,所以,在我这个年纪还有想法,对编程还有热情的人不多了,基本上都是转Manager了。其实,什么职位,Title都是虚的,公司没了什么都没了,只有技术才是硬通货。而且,越是这个年纪还在玩编程玩技术的人,其实其经验和能力都是比较强的,都是中坚力量,如果还有其它这个年纪和我一样的人,求交往。
(全文完)
(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)
《编程能力与编程年龄》的相关评论
程序员的确30多开始发迹,个人追求了,有的人30岁开始创业了。
在中国这个社会背景下,真的不能允许那么多了。各种泡沫压力
赞!有个小问题:为什么“能力和年龄段分布图”是个S形,十几岁的小孩儿反而比二十几岁的高?
个人很赞同这种说法,很喜欢专注的想问题,写程序….
但是像楼上的兄弟说的一样,各种泡沫压力压的人喘不过气来,在这种环境中能沉下心做技术的人,让我敬仰!
@扯淡
说你浮躁都是抬举你,文章都不仔细看完
始终战斗在开发一线的34岁C程序员,求交往!
我是90后,求交往,嘿嘿
赞一个,当别人说程序员是吃青春饭的时候我就特别歧视,更讨厌那些不喜欢编程 还想着干几年进入管理层之类想法的人
我觉得一个人如果不热爱技术 热爱这个行业怎么可能得到大家的认可呢,这种想法简直就是痴人说梦啊
讲的不错,鼓励一个。
认同
UP,严重同意,我也是38岁的程序员了。喜爱编程,喜爱思考。看到你,就不觉得独行了。
Cool!
说的很有共鸣感。其实同龄的一线坚持的程序员也有不少,主要还看你在的氛围,有没有太多你的同类。37岁能依然做技术,第一自己有意愿,热爱有自我激励,第二有能力,客观看老板同事觉得你还行也会给你机会做。不然早就自己或被别人转型了。往往来了最难的骨头都是给老码工啃。37岁还年轻!
@mark 新人路过,正在接受洗礼
虽然我是女生,但也喜欢编程,会一直编下去的。
这篇调查中的老程序员实际是指:坚持到现在的老程序员。如果他们比现在的程序员差,估计生存不到现在。
所以,如果能最终到老程序们同时代的人到底在做什么,可能会更有说服力。或者可以跟一下,现在活跃的这批中青年程序员,到底有几个能坚持成为老程序员。那些选择退出的,有多少是因为年龄问题,或者是因为有更好的发展道路。那些坚持到老的,又有多少是主动选择的,有多少是被动选择的。
我还是觉得,很多人的这种认识,国内的这种现象跟文化很有关系,中国人向来就是官本位,现在虽然好点了,但官本位的思想仍然很重,简单的说就是喜欢当官,做管理,心底里有点鄙视搞技术,正所谓学而优则仕,正所谓士农工商,士排第一,做官就是比下面干活好,历史传统,没办法
我觉得这种现象不是官本位,而是钱本位。国内生活压力大,只有更多的钱才能缓解这种焦虑,痴迷于技术短期不能产出更多的直接利益
一直从事设计和编码工作,今年第三个本命年,正在从一个电信软件公司转到游戏公司。根据现在了解的情况,对转变很有信心。
说的很有道理,很多浅尝辄止的程序员是因为对自己的定位有问题,缺少兴趣,所以很快就离开了这个岗位
顶!!我经理已经30岁,带着我们仨撑起咱们的物业电商,挺佩服他的,一直都喜欢你的文章,谢谢!
交往~~~~
最后一个,我是感同身受~
呵呵,也是大龄青年,由重操旧业。编码,做一个合格的程序员。。继续自己的梦想。
同顶啊,好
说得好,技术才是最根本的,没有一批技术专家,技术难题以后靠谁解决。希望国内越来越多的公司重视技术专家,给于相应的待遇与尊重。也希望技术专家们敢于去研究与挑战一些更底层的技术与问题。为中国的IT技术做出些贡献。
希望程序员成为一个让人可以工作一生的职业。
我也快奔40了,可是身体不太好,受伤了,干体力活干不了了,只能呆在家,想靠网络挣点钱养家,现在在拼命的学网络知识,后悔没早点加入这个网络大家庭,不知现在还能不能学成点什么。。。从最简单的html和PHP学起,只能算是伪编程吧我,不知道能否交往一下,和您取取经,能学个一技之长就行了,也算有一个谋生的手段吧,挣钱养家是我的动力,所以我坚持的决心和执行的执着是不会少的,求交往!
这篇文章给了我希望,我以为我这么大的 人应该没有学习编程的资本了,呵呵
都是一厢情愿的看法, 算算中国的第一批程序员也还没到40岁, 所以那些说只能干到30的很多是逃避的说法而已
不能再同意了,只有不喜欢的人才会说 这件事情有个尽头。说的自己编程很不情愿一样,好大喜功,热爱装逼
丘索维金娜都还在拼命比赛,享受比赛,程序员怕个什么
我29岁转行进入web开发的大门,主要用的编程语言是php,英语阅读还是有些问题,有什么好方法吗
24岁毕业,5年公务员,29岁转行移动编程, 今年三十, android上线app一个,ios上线 app 2个, 目前从事cos2dx开发,没发现年龄大了思考不动,
1,看到年轻的码农们不断重复自己年轻时的错误。
2,程序总是被过度的设计。
@Karen
我也是女生 嘻嘻 马上步入编码的行列
”程序员是个吃青春饭的职业“
1. 真正热爱编程的人一定不会这么说。
2. 这么说的人,心思根本就不在编程上。
顶!lz不孤独!
喜欢博主博客
我出去面试,大家总会问职业规划,但说实话,我就是想搞计算机而已啊。。。有个毛规划,干到30就转型,好可怕啊。。。inner peace.keep coding!
33+了,热爱技术10余年了,求交往。
82年的程序员飘过。。。。。 12年从业经验,发现自己对技术越来越热爱,只有技术才是硬通货!!!!激情永存,求交往。
看到你的这篇文章,真是满心的欢喜,我80年的JAVA,岁数越大越喜欢,今年才意识到数据结构和算法的重要性,拿起来重新学起,谢谢你的文章,让我知道不是自己一个人在前行
同 82 年的老码农一个,从来没放弃技术,一直在视频算法积累,求交往!!
我觉得做技术主要的静得下心,对技术有热情,爱专研,如果缺少这些 技术就没有上升空间了
好文章果然时时新啊,过了这么久还是有人回复,我第一次(或许是第二次)回复酷壳的文章,想说的是。那些干几年之后转管理的人,简直就是坑新人的主力啊,一共没干过几年,还总挂嘴边以前怎么样怎么样,这个那个都会的样子,虽然我不算新人了,表示曾经被坑过。
90后 菜鸟程序员,但是喜欢程序,很喜欢新的技术,很佩服那些技术大牛,想自己也可以一直做技术,坚持下去,求交往
非常受振奋!同意作者后面批注的每一个字。一个没有上过高中大学,工地上修铁路的转到了这个圈子,打算一直干到退休。快35了,就想写代码,或者读代码。最近遇到点小挫折,有点小动摇,谢谢同路人的鼓励!You’ll never walk alone。愿交往!
一看叔叔写的风格就知道叔叔是个程序员,看了叔叔的文章很受鼓舞啊,叔叔应该就是传说中的写核心代码的高级程序员!!鉴于程序员的前进之路充满了艰辛,小妹还是觉得换一个方向,不过坚守IT大本营。特别佩服高级程序员的热情对写代码的痴迷精神 ~~
这文章,让我看到了希望,也让我知道不是一个人在路上。