编程能力与编程年龄

编程能力与编程年龄

程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到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 ,请勿用于任何商业用途)

好烂啊有点差凑合看看还不错很精彩 (213 人打了分,平均分: 4.77 )
Loading...

编程能力与编程年龄》的相关评论

  1. 皓哥,如果热爱编程,是一种兴趣不会在乎年龄的。
    没有坚持下来的应该是心态变了…

  2.   皮克斯最近的一个新技术(Universal Scene Description,http://graphics.pixar.com/usd/)展示,看了几段视频,发现洛伦·卡彭特(在皮克斯是首席科学家一级的人物,https://zh.wikipedia.org/zh-cn/洛伦·卡彭特)都还在为制作部门写工具,太佩服了。先前在果壳网看到的《讲一个老年人学编程的故事》(http://www.guokr.com/post/445253/),也是挺有意义的。

  3. 再多说一句,虽然我在加入目前的公司前就带过团队,但我加入目前的公司时应聘的就是纯技术的架构师职位。公司提供纯技术的发展道路很重要。从这点上说,小公司确实有欠缺。

    但回过来想,我现在又有点带团队的欲望。毕竟,重要的是能做一点事情。好的经理,可能可以在公司里发挥更大的作用。

  4. @Tom
    这样的说法,才是压垮35岁程序员的最后的稻草!
    这么多搞技术的,能做到经理的有几个,能被大公司高薪挖的能有几个,其他人呢?

    虽然我也40多,也还在写代码,但是。。。。

  5. 最后一段说对了,30岁才刚入门,而且自己技术不过关,当mgr也没法干。我参加面试总会被问到未来计划,我只说还要学技术,其实我想的也很简单,技术在这个行业里就是个可能性,干什么都离不开,就算当mgr,你要分task吧,要考核member的工作吧,不懂技术,不理解每个人工作的难度,你的评价不可能公正客观,手下人不服,客观上也就导致了那些人的浮躁,那些“整天BS这个不好,那个不好的,而且喜欢速成,好大喜功”的年青人就是这么来的。我也30+,而且最近两年爆发出了前所未有的编程欲望,当然客观上也是因为工作上让我上一线写code的机会越来越少了

  6. 在解决温饱,或者不为物质生活所扰的情况下,大多数人都会保持自己的爱好,但时下国家社会氛围倾向物质太多,物价飞涨,在北京能买起5环左右房子的人都是几百万的富翁了,我是哈尔滨的,这边房价也直逼2万而去,让吾等草民如何淡定,不做房奴很难,所以有了物质的保证,精神才会自由。

  7. Eric :@linustd 不得不为.net正个名,本人.net开发,今年30,目前月薪24000,一个月后跳槽月薪35000,如果说我是少数的,但是我朋友里做.net拿15000的基本是基数,不知道这个数据怎么得出来的。当然可能和地区也有关系,本人是在上海工作,著名投行。希望对各位做.net的有参考价值。

    那是行业原因,金融IT行业,本来就报酬高。与语言的关系不大。
    所以,男怕入错行

  8. 这个事,说到底是因为三个字:官本位。或者说,就是价值观。
    学而优则仕,对于国人,想说服他在程序员这样一线的岗位干一辈子,太难太难。

  9. 无论选择做什么,其实都一样是在生活,如果你把程序员干的事情当成是生活,你会发现,它也是丰富多彩的!

  10. 很难得今天看文章笑了一下。
    以前和国外五十多岁的程序员一起工作过,水平没得说,比那时的我强太多。
    现在我也四十多了,一直以写程序为乐趣,只能说乱七八糟的知道不少,做事情通常不怎么返工而已,所以可以按时上下班。
    也许和年轻人有代沟了???觉得大多数情况下都比较浮躁,不愿深入。我也能理解,毕竟我刚上班的时候不会因为房子背什么债务,钱不多,但是够生活,心态好一点。

  11. 看来会吸引一批老头子来报到,我也凑凑热闹。

    编程工作分为两类,一类是生产线上的工作,一类是创造性的工作,
    后者更需要的知识广度和经验,所以岁数观念应该淡化。

  12. 我是一个业余编程爱好者,从工作开始就爱上编程,那时因为不会用电脑,见人家用程序处理数据很快,很方便。我也就在工作之余学习一下,一直到现在有10年了。今年刚30岁,一直用自己写的程序处理数据,我感觉很有成就感,所以我无法理解为什么要说到30岁就老了。说实话,我还只是今年才觉得我对编码有点入门,而且我是从今年才觉得我以前一些想法可以自己实现。这说明什么? 请楼主加我。

  13. 我十分认同耗子哥把码农和程序员区分开来。编程和其他行业一样,需要不断的练习和沉淀,30岁只是程序员的一个起点,刚刚才把理论和实际应用区分开、又联系起来。不过我也遇到一些过多专注技术的程序员,反而忽略了要解决的问题和进度,这会与公司运作的理念不相符。我的目标是尽量做一个知行合一的程序员。

  14. 很高兴看到志同道合的人,本人也已35了,喜欢技术,编程。毕业至今一直在外企做,感觉在国内一定要做有核心技术的产品,才有发展才长久。

  15. ddJuly :
    敢问楼主如今工资多少,生活是否有压力,如果能舒适地解决生活问题,我想我可以的,如果连生存问题都天天在纠结,你想想,两百万一套房,我要写代码多少年,如果有更好的发展,我一定会放弃写代码,再者,解决生活问题之后我可以继续从事写代码

    你竟怀疑楼主生活压力问题, 200万套房写多少年代码的问题。。。我只能说,我觉得你太看轻楼主了。
    人的价值在,就一定能获得相应的物质回报。 难道只有转做管理才能体现价值? 那么所有的人都奔这个目标而去,谁来做技术研发。 难道素质高的都去做管理,留下继续做技术的都是素质低的? 这本身就是不正确的。 说起这个很多人又要来说什么中国的公司怎样,天朝的技术都是重复劳动,刚毕业没几年的都能做bla bla bla。

    其实有时候我觉得,很多人自己做某事处境并不理想的时候,就在怀疑所有做这件事的人也好不到哪去。

  16. 皓哥,我们算是交往了吧,感谢你前几天给我的建议、指提醒,让我能坦然面对现在的处境。今年29,仍然对技术、真知很高的热情。虽然基础不好,但一直坚持,可惜以前在自学过程中没有遇到像你这样的良师益友,走了很多弯路。我现在的问题是想学的东西较多,需要短期投入的目标执行的都不错,需要长期投入的东西放放就断了,也不明白要在哪个技术方向深入钻研,感觉完全被工作内容左右着

  17. 呵呵,一直订阅coll shell,第一次参与回复!
    我赞同程序员不是码农,码农真的不少,但是程序员真的越来越少。
    本人奔三,凭着每天平均15+小时的工作学习,让我也感觉到或者让我觉得这路走得艰难。
    能够看到这么多坚持一线的30+的,倍感欣慰和看到了希望,谢谢前方的明灯

  18. 国内环境也有影响,大部分公司只做低端的外包,靠人力堆起来的,技术能力低下,主要靠蛮力,没多少创新,有点资历的就开始做管理 所以30岁的程序员已经是满心疲惫了,更不用说学习新的技术了。希望国内未来十年能够有所改观吧。

  19. 能坚持写下去,是一种能力,更是一种魅力,我会一直在这条路上,尽管我还没有到30,单我已经等不及要和你们同行

  20. 估计我是个另类了,我今年29岁,刚开始学习编程一个多月,之前在医药/医疗行业混日子,因为对编程很感兴趣,现在每天会花掉所有的业余时间去学。

  21. 我也是30+的程序员了,做软件这个行业也快10年了。我也一直在想年龄对于程序员的影响,看来今天遇到了志同道合的人。求交往。

  22. 我也30+了,也一直在编码,继续加油!
    楼主能否弄个微信群或QQ联络一下。我的QQ13724504,乐意和大家沟通交流。

  23. 搬砖也是技术工种,干到50岁会短命5年。做绘图的,质量管理的也是技术工种,比搬砖清闲一些,挣的也多一两倍。但并不是每个人都有机会成长为绘图师,监理,更不用说做绘图的越多,其市场价格也会下降。除了一些捂着公司资源比如自行开发的架构,或者特殊岗位谁都代替不了的特别技能外,其它人的工资会随着计算机行业平均水平浮动。而就和建筑工人一般到了30,40多岁就脱离搬砖,去做摆地摊,机器操作员,房东,资料管理员,开车的等等劳动强度低于搬砖,但是工资也低于搬砖的工种。比如现在大工还至少200一天,但工厂机器操作员也就一天150来块。所以说这类型搬砖IT到了30岁时候其实考虑转行我觉得是很明智的事情。而对于有机会朝绘图发展的人来说,有时候要意识到是自己相对优秀一点,或者机会好一点突破了,但不能因此以为搬砖工人浮躁。那些搬砖的人或许开了地摊,但有的到最后却发展成大店变老板了。而另外一部分哪怕过的还是很普通,但至少同样还养活的了家人。而绘图的,质管的也未必就能做这行发财。毕竟到40,50岁时,绘图的人也一大把了。不像现在这么缺,毕竟现在这个行业还没成熟。好吧,写到这里,我要继续搬砖去了。

  24. 说实话,你的文章说的是事实,但也要看朝内朝外就业情况。

    现在年轻人廉价,有精力和体力。朝内目前很多大大小小公司,都在走“抢”的路线啊。

    所以bug程序满天飞,BAT这种公司也不例外。有时候只能说是不是该顺应社会的发展。尽管我内心是追求技术的

  25. 我也来凑个热闹,说白了《程序员技术练级攻略》是对计算机技术完整体系的思维建模过程,而这个过程是需要投入精力和时间的,大多数人就是耐力马拉松比赛,这个过程中许多人都没走成就停止或离开了。。。
    离开或许还好点,停那儿吃老本的。。。最悲剧!也就是就勃起了几年,然后拖到30,底层码农要嫩的,中层骨干你也没干过,在公司没前途,离开公司更没前途,还有更惨的吗?
    而本篇是对这个过程的数据分析结果。。。
    我个人认为,在这个过程中你只要一直在路上,不论是作技术也好,还是后来转了管理也好(我就是),都会是这个行业中坚的,我没去过大公司,这些年见过公司总级不是开发出身的,没见过研发经理或项目经理不是开发出身的!

  26. 现在看《程序员技术练级攻略》,就想当年看到多好,哈,那时候就是逮住一个是一个,哪儿有现在这么些经验分享,说起来都是通宵都是泪(乐?)啊,慢慢工作需要你知道的越来越多,你也需要自己慢慢归纳、总结、梳理、再学习,周而复始
    顺带说下:我的VB、我的PB、我的DEPHI啊,如今已是过眼去烟
    都说望山跑死马,有的山是啥都还不知道呢,怎么谈?自到山的,给你条直道,还JW啥?
    再说真的望山跑死马了,那是不会规划或马(动力)不行啊
    跑到的选择就多了。。。
    大家记不记得这句:路怎么走,看你自己喽

  27. 话说好的程序员都是会幽默的,陈哥能不能酷壳上再突出下酷啊,利用你的影响力以及这个。。。经验?出下这个调查:
    同行30上见的多的是三有三无:
    有房、有车、有老婆、无楼、无秘、无小三
    当然也有见过不多的:
    有房、有车、有老婆、有楼、有秘、有小三
    还见过个更级的:
    有房、有车、无老婆、有楼、有秘、有小三
    你千万不要告诉我怎么极?怎么无老婆还有小三?
    程序员不能没有想像和推理,也不能没有希望!

  28. 楼主的文章很有意义。
    不过目前朝内程序员的境况和大趋势是紧密相连的,急功近利,短视,是很难让大部分程序员的待遇有所改善。

    不否认天才程序员不用担心待遇和职业走向的问题,但是大部分程序员都是一般人,只有程序员群体的大部分待遇有所改善,在这种氛围下,才能有我们中国程序员整体飞跃的可能。

    没有大环境,何来乔布斯?

  29. @meng
    研发出生的XX经理可能会好点,但也不完全关键还是在于看人的。毕竟管理类工作,有些不懂技术的人也能管的很好。

  30. 支持一下师兄,现在实习的公司里带我的都是年龄比较大的程序员,感觉在我本科,研究生期间可能是我程序写的最多的阶段,但是可能跟大一些才能写出更好的程序。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注