即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

程序员到底可以干多少年?

微信 程序员之家 38℃ 0评论

作者:陈皓 (@左耳朵耗子)

来源:酷 壳 – CoolShell.cn

原文:http://coolshell.cn/articles/10688.html

程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到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都是虚的,公司没了什么都没了,只有技术才是硬通货。而且,越是这个年纪还在玩编程玩技术的人,其实其经验和能力都是比较强的,都是中坚力量,如果还有其它这个年纪和我一样的人,求交往。


微信公众号内回复数字“1”

小编拉你进粉丝微信群

不是在文章评论里回复哦

转载请注明:CodingBlog » 程序员到底可以干多少年?

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情
(19)个小伙伴在吐槽
  1. 这种言论,解我多年之困
    弋海鹏2017-02-25 13:02 回复
  2. 前提公司人性一点
    CZ752017-02-25 13:19 回复
  3. 很赞同一个战斗在一线的老鸟程序员在某种程度上胜过100个新手程序员。
    刘成章2017-02-25 13:23 回复
  4. 一方面是靠程序员们转变认知,另一方面还要靠公司转变对大龄程序员的态度,不要认为年龄↑工作能力↓
    法老控2017-02-25 13:51 回复
  5. 随着越来越逼近30岁,就越焦虑,看到这篇文章,很欣慰。
    东小客2017-02-25 14:24 回复
  6. 说了这么多重点在于最后三个字——求交往...
    树欲静2017-02-25 15:00 回复
  7. 其实无论做什么,没有一份责任心的话永远做不好!来自一位“老程序员的教导”
    小云✘✘2017-02-25 15:36 回复
  8. 老鸟需要和一群老鸟 加部分新鸟才能发挥大部分的战斗力,现实环境中很少,上了一定级别就需要带业务和一群菜鸟
    秦诗杰عبور2017-02-25 18:16 回复
  9. 整体来说还行,不过上年纪的加不了太多班,熬不了太多夜!
    小太阳2017-02-26 00:39 回复
  10. 对于我们程序员来说,30岁以后可能是编程刚开始,但由于现在编程工作的细化,很多公司喜欢那些初出茅庐的菜鸟,理由当然是成本比较低了。程序员究竟可以干多少年,我认为多数是我国互联网行业的问题。
    hope2017-02-26 00:55 回复
  11. 在国外,程序猿可以是一辈子的职业,而在中国,程序猿确实在30左右就要转,主要是体力跟不上,没法和20出头的小伙子竞争,随着互联网的发展,开发任务加大,敏捷开发,封闭开发,越来越多,没个好身体真心扛不住呀。
    寻梦2017-02-26 02:00 回复
  12. 任何事情都不能一概而论。不管新程序员还是老程序员。跟不上社会的变化。。就会被淘汰
    姜芽儿2017-02-26 02:04 回复
  13. 然而中坚力量并不一定受待见,从薪水上就可以体现出来,为啥那么多转管理的,薪水也是一大因素
    动弦随心2017-02-26 02:28 回复
  14. 非常认同
    大为2017-02-26 02:38 回复
  15. 遗憾的是中国老板少有识货的老板,他们大都喜欢刚毕业便宜的大学生
    无悔2017-02-26 07:54 回复
  16. 讲道理,真正喜欢技术方面而又能坚持下来的老程序员凤毛麟角,30岁之后上有老下有小的,还慢慢的搞挣不到几个钱的研发,这种情况谁还愿意干一线呢!综上所述程序员确实是个年轻饭
    不必多言、2017-02-26 08:08 回复
  17. 作为一个14年编码经验的程序员,我也经常这样跟身边的人说。其实主要还是社会太浮躁,大家都希望轻松钱多的工作,中国的传统思想就是做管理就是轻松钱多的,又有面子,所以都一样做管理,觉得做一个普通的程序员没前途
    村夫2017-02-26 12:21 回复
  18. 这个得分什么语言,比如C++,我就见过几十年工作经验的老程序员,但swift,连个三年以上工作经验的都找不到
    简单2017-02-26 16:41 回复
  19. 其实也不能光看年纪,坚持、责任心、不断学习对于程序员的成长也是非常重要的。
    阿乔2017-02-26 23:41 回复