首页 > 杂项资源, 职场生涯 > 编程能力与编程年龄

编程能力与编程年龄

2013年11月13日 发表评论 阅读评论 163,233 人阅读    

程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到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微信公众账号可以在手机端搜索文章

(转载本站文章请注明作者和出处 酷 壳 – CoolShell.cn ,请勿用于任何商业用途)

——=== 访问 酷壳404页面 寻找遗失儿童。 ===——


本广告收入已由广告主捐给Wikipedia

好烂啊有点差凑合看看还不错很精彩 (158 人打了分,平均分: 4.91 )
Loading...
  1. amberkaka
    2015年3月17日14:19 | #1

    内容挺有意思的,结论也很振奋人心。
    不过由这个统计得出编程能力随年龄的变化的判断是不是不大严谨?
    因为正如你最后一段说的,很多人年纪一大就转管理了,留下的都是真热爱编程的,那么从逻辑上来说,那些因为年纪大而编程能力下降的人没被统计进去了,从结果上来看年纪大的人的编程能力被高估了。
    借用一个专业名词来说就是“幸存者偏差”。

  2. amberkaka
    2015年3月17日14:25 | #2

    @信言
    刚刚也有同样的想法,回复后,回头看到你这个回复,想到一块儿去了,哈哈

  3. Flyq
    2015年3月28日23:05 | #3

    请问楼主问什么不更新了?

  4. olak
    2015年4月27日21:44 | #4

    非常有共鸣,我39岁,经历了两次创业公司的失败后,积累了足够的经验,正在能创造价值的时候,猎头找了好几家大公司也不给机会了,反馈失败的原因是年龄。

  5. 2015年5月25日16:58 | #5

    瞬间感觉我25岁还是可以开始学习的,还不算晚 祝我的开发之路早日实现

  6. cnbin
    2015年5月31日21:38 | #6

    新人路过,对于我这个现在25岁才刚刚干了1年的iOS工作者看了您这篇文章,感觉自己起步还不算太晚。多谢博主的心得分享。

  7. Ayum
    2015年6月6日17:35 | #7

    当初看的一本C入门到精通,现在想想非常想吐槽,用了快两年的Linux,学习各种系统APIs,Glibc等等,到现在我觉得我都还不是特别了解C language,经验这种东西,就像调试,一个老手可能很快就看出问题在哪儿了,而一个新手却要调试很久。写出的代码水平也是同样道理。反正我是打算这被辈子搞编程了,而且是Linux相关的! 即便我60岁了,我也要看一些计算机方面的书籍,不然太无聊了。

  8. baybay
    2015年6月12日10:15 | #8

    83年程序员,偶尔和同学聚会,他们问我现在干啥,我答写代码,都说我苦逼。。。

  9. 2015年6月18日16:18 | #9

    希望中国技术氛围越来越好,让IT从业人员能从事技术到50、60岁~

  10. 两岸之间
    2015年6月24日11:16 | #10

    @moses_zhang
    82年开始编程的人飘过,主要从事CHROMIUM

  11. 老彭
    2015年6月30日18:28 | #11

    国内一线公司有管理岗和专业岗两条并行的职业线,在专业线升到比较高的职级,收入不会比管理岗差,反而比管理岗少很多烦心事。

  12. 大头
    2015年7月14日13:37 | #12

    仍然战斗在第一线

  13. 成成
    2015年7月16日15:38 | #13

    30岁才开始编程的人求交往。:)

  14. 2015年7月20日18:21 | #14

    刚刚毕业的同学都知道的常识,国内it环境与国外it环境天差地别,你拿国外it人员的分布情况,说中国的事,一看就是高人,你这算自我安慰吧,精神吗啡,早晚要面对现实的

  15. hello
    2015年7月28日22:03 | #15

    LZ我真的不能同意你更多了!我想补一刀的是,在知识越丰富的情况下学习新知识只会更快。当然有些人的能力是不随年龄成正比的,比如你文章里面那群“浮躁”的人。

  16. mayreach
    2015年8月19日15:34 | #16

    @成成
    同30岁开始编程,期待能结个伴,手机号13961267869

  17. Frog
    2015年8月27日16:11 | #17

    两岸之间 :
    @moses_zhang
    82年开始编程的人飘过,主要从事CHROMIUM

    82年编了若干年的人飘过。

  18. Frog
    2015年8月27日17:01 | #18

    “我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。”奇葩的是,我当初去应聘的时候,老板和我说的这个,没好意思当面喷,后面喷了不少。对我这种OCD脆弱的内心又是一个森森地打击。。。
    可能很多人觉得coding吃青春饭是因为它比较费脑,年纪大了之后脑力精力下降。

  19. ycnurld
    2015年9月22日11:06 | #19

    19岁开始入编程这个坑我就觉得慢了,竟然还有比我晚的

  20. LJ
    2015年9月28日13:02 | #20

    很赞同作者的观点。踏踏实实地攀登编程技术的高峰,这不仅仅是工作,也是人生。

  21. Magiche
    2015年9月29日10:51 | #21

    @ycnurld
    你不上大学的么

  22. Yimi
    2015年12月13日23:26 | #22

    奔三的CODING漂过,而且感觉对代码的追求没有止境,希望能向陈老师学习!

  23. 2016年1月23日16:59 | #23

    24岁才开始做编程的工作。

  24. zbsty
    2016年1月28日13:55 | #24

    @mayreach

    好吧,我也30开始学,

  25. jesee
    2016年2月13日22:31 | #25

    @Persi
    同是24编程

  26. 贪吃土豆
    2016年2月15日17:37 | #26

    @baybay
    同为83的程序猿,刚招聘了两个93年的程序猿,赶脚他们除了经验不足外,技术已经没有多少问题,亚历山大啊,不知各位有什么打算

  27. 刘尧
    2016年4月2日00:25 | #27

    淘尽黄沙始见金。

  28. 大侠茅十八
    2016年4月3日16:43 | #28

    技术懂点,不深,编程玩点,不多。30多了还在IT混。感觉编程能力还是一坨shit,进退两难啊!!

  29. 一只会敲代码的狮子
    2016年6月4日16:39 | #29

    @ycnurld
    我22入行都觉得有些晚了

  30. 布丁使者
    2016年7月19日21:40 | #30

    确实,我现在快30多了,编码10多年,发现越编码越会发现自己很多不懂,特别是写库代码,写了个内存池,把C++构造和析构又重新理解了一遍

  31. xyzx
    2016年9月23日03:07 | #31

    这种淘汰是真实的,但不能说转管理或转行的程序员能力就比留下继续编程的差.所以这应该不是幸存者偏差.@amberkaka

  32. totola147
    2016年10月3日03:28 | #32

    目前我快30了 等我40了 找您交往,目前还不够格 “Manager了。其实,什么职位,Title都是虚的,公司没了什么都没了,只有技术才是硬通货”我也一直这么认为 我选择DBA 就是因为即是做技术,又是做管理的(技术层面),不用疲于奔命的去做需求开发,有些闲暇时间写写脚本工具,看看内核代码,可以不断提高,抽象层次比较高可以不用接入业务,去留比较自由,管理服务器也单纯

  33. Onon
    2016年10月21日13:25 | #33

    说的好,

    我过了40了,最近似乎工作也不如意似的,Oct 14离职待业了,
    最近在学些linux shell,从最先安装Blue point linux时到2002年时用Turbo Linux(看Red Hat书),
    后来2005年又装过、看过Red Hat的电子书,几年过去了都忘记了,现在再学习一下shell吧,有则用,没用则当娱乐吧,
    我也想将这类兴趣爱好持续到60岁!

  34. Onon
    2016年10月21日13:27 | #34

    @两岸之间

    敬佩 !

评论分页
1 6 7 8 10688
  1. 2015年5月6日00:40 | #1
  2. 2015年12月13日17:55 | #2
  3. 2016年3月23日22:53 | #3
  4. 2016年3月24日18:20 | #4
  5. 2016年5月3日09:02 | #5