编程能力与编程年龄
程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到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都是虚的,公司没了什么都没了,只有技术才是硬通货。而且,越是这个年纪还在玩编程玩技术的人,其实其经验和能力都是比较强的,都是中坚力量,如果还有其它这个年纪和我一样的人,求交往。
(全文完)
(转载本站文章请注明作者和出处 宝酷 – sou-ip ,请勿用于任何商业用途)
《编程能力与编程年龄》的相关评论
呵,不错!学习
中国垃圾公司太多,垃圾公司基本靠能不能加班来衡量,so垃圾公司的员工自然有了这种“垃圾”的想法
不过说回来,这些垃圾公司所谓”manager”的收入还真的比不上真正技术公司”coder”的水平
求推荐几个真正的技术公司,呵呵。谢谢@lxyscls
非常赞同博主在文章中的观点!
所谓老,就是37岁以上的程序员(就是我现在的年纪)。
============
心里宽慰了不少。
但是根据前端时间一个猎头告诉我的消息是,搞.net程序罪过给你15K,应聘项目经理、管理等,可以给你20K+。
楼主怎么看呢?
说的不错
@linustd
博主在 工资肯定不只 这个,看钱 还是显得过于浮躁了
原来30岁才入门 我努力入门中,抓紧未来的2年
三十出头,从PC程序做起,主要做桌面应用,驱动,视频相关业务,做过嵌入式Linux,玩过QT,改过linux内核,写过windows 驱动;做过视频编解码,图像分析(这些部分做得不深),定制过Android;整过Wince 驱动+应用;现在在玩儿Nios。感觉还会一直做下去……
中国的IT把程序员当牛使,天天加班。
干一些低级重复性的活。
40岁公司还能让你写程序么?除非你搞教学。
@linustd
当然随着年龄的增长你会的东西也在增长, 而且应该越来越全面。而不是局限于前端。
感觉自己以前浪费了很多的时间与机会,现在再也不能松懈了
前三页看了。我年纪—-50余,最大。业余。十数年,写一个程序,包括:表达式解译、(伪)大数据排序、库记录编辑、自动排版(确定栏数与纸张方向、分组、统计)、表格样式编辑。功能类似Excel。但创建了一种新的表达表格的方法,能更适应报表的制作。可以达到象Excel一样方便修改,象专用表格一样只改数据就可出表。求交往。我的故事,或能成为你文的好注释。——注:大数据前,加伪,是因排百万记录,要以小时计。现在,我另写了一段代码,两千五百万不等长记录,普通PC,用时约三分钟。
40.求交往….
关键是工资。。
29,
求交往,哈哈。
严重赞同楼主的观点!
@aaron
每每他们都在加班,我却回家看我的书,去健身房锻我的炼!
俺和楼主同岁,深有感触,求交往。
一直很关注博主,求交往,哈哈!
写的我很赞同
哈哈,這篇文章說得很有道理。編程三十才開始。
經常看酷殼的文章。陳先生是很有求知精神的程序員,加油!
工作两年后才开始有感悟,才开始有心得,30岁只能算稍有体会的熟练工
皓哥,我是读你的宝酷长大的(非生理成长)。你的文章的很多观点对我都有影响。
其实编程并没有比其他职业来的特别,那些说编程是青春饭的人,大部分都是道听途说(当初我也是其中一个),其中一部分亲身经历者,恐怕也是因为丧失了前进的动力,进而遇到瓶颈,止步不前。这样的人应该是从来都没有喜欢过编程。而这样的情况不只是编程,其他的职业,例如写作、绘画、舞蹈等,都有大量类似的例子。要说这些职业的特点,大都是需要持续的激情、灵感和自我挑战(可以想象一个没有激情的程序员在遇到一个艰难问题的时候会表现得多么苦逼,我身边不少这样的人)。根据我的观察,现实中多数人不具备这种素质。他们得出编程=青春饭的结论也就无可厚非了。
只有初恋般的热情和宗教般的意志,人才有可能成就某种事业。俺现在只能算是个伪程序员,心浮气躁,必须要沉下来啊..皓哥的博客对我们这些后来人有很大帮助。
我赞同博主的观点,
关键是看票子, 现在一线编程的,薪水普遍没有经理层级的薪水高,
代码写的再牛,都没用。
当然做了管理了,也可以继续写程序,
我想主要的应该是心态, 用实际年龄跟心理年龄这个来比方下 ,大体就是这个意思。
只有技术太是硬通货 => 只有技术才是硬通货
文章写的很好,和我想的一样,我觉得以后在我五六十也会去做,只是喜欢,只要那时我还有脑力的话,呵呵~想必楼主是拼音打字吧,其中有几处错别字,觉得用五笔会好很多,只是一个小小的建议。国内的程序员确实太浮躁,因为压力大,什么房子,车子,妻子这都需要,所以只能靠山吃山,靠水吃水,而且还处于这个年龄,其实那也不能算是什么原因了,呵呵,本人25岁,来北京两年,目前从事前端,但我没有把自己定标为只是一个前端,而是一个程序员,当然最近几年也只能在前端发展,平时也会看一些后端,架构的东西,最近在看一本《黑客与画家》,这也是我一直想看,只是忘性太好,一直不记得,前两天偶然看到那本书的译者阮一峰的博文说书又出新版了,才发现还有这本书一直想找时间看却一直没有去看,看了少部分,感觉很不错~
本人博客文章很少,也是最近才开始去记录一些东西,发现之前解决过的问题都忘记当时怎么做了。。真心感觉碰到问题直接google太费时费力,还是应该给记录下来,本人订阅了很多技术类的博客,看看你们写的文章每次都能收获很多东西,开始也想写,想相比之下自己写的那些根本没有什么技术含量所以就没有坚持去做,因为从业尚浅,高中又不知道好好学习的重要性,上了一个“半截专”的学校,读了一个电子商务非计算机的专业,所以同学中做编程的人甚少,大学同学一个专业的据我了解目前好像只有我一个。。
一直很关注博主,求交往!
@linustd 不得不为.net正个名,本人.net开发,今年30,目前月薪24000,一个月后跳槽月薪35000,如果说我是少数的,但是我朋友里做.net拿15000的基本是基数,不知道这个数据怎么得出来的。当然可能和地区也有关系,本人是在上海工作,著名投行。希望对各位做.net的有参考价值。
和楼主同龄,还在编程第一线,不过公司不景气要失业了,im,voip,arm,web server,db, 掌握的还算可以,希望能继续做开发做下去。
十二分的赞同如下观点:
这些战斗在一些的老鸟的能力绝对超过100个普能的新手。
国内新一代的程序员们太浮燥了。
并不是编程编到30岁就玩完了,而是编程编到30岁才刚刚入门。
越是这个年纪还在玩编程玩技术的人,其实其经验和能力都是比较强的,都是中坚力量
喜欢看到越来越少的公司以本公司平均年龄低为荣,实际上这是相当肤浅的一个评判依据
@scian
是“希望”不是“喜欢”,抱歉
赞,多看你的文章真的能获得不少向上的力量
我今年33,在现在的公司研发里算中间吧,研发的主力好多都比我大
我比楼主还大一岁,现在也还在搞技术呢
我想说的是,在国内很多做的都是蛮力活。30岁了发现周围都是年轻好多的和你做的同样的活你不得不能考虑了,天天加班,天天重复劳动。我一直相信编程是十年磨一剑的,但这个剑磨出来这个世界早就变了,青春已经不在了,周围人都拥有了该有的,怎么能不叹息,只能说这个环境还需要牺牲一大批的程序员,才能慢慢成熟。
@Eric
哥们给介绍个工作不?
受博主影响鼓足勇气放弃了一份安逸又待遇好的工作,投身一家能学到更多东西的公司。
编程快六年了,依然感觉在飞快地学习和进步,没有想过要转行或者转岗。
编程工作困难确实很多:陷入烂项目的无止境的加班,没完没了的与编程无关的琐事。。。
但依然坚持着,想一直Coding下去,干到退休。的确在奔三了,但我才刚上路。
北京30+程序员群,转招30+程序员
28597283
其实重要的不是程序员能干多久。因为,不管你能干到35岁还是50岁,如果在你能干下去的时候都没有尽心尽力的去干,一切也就无所谓了。
每一个产业直接创造价值的都是做事情的人,如果做事情的人都心猿意马的话,这个产业是没法好起来的,道理就这么简单。
从外包起步的我从起始就是蛮力劳动,重复的劳动,加不完的班,做不完的需求。
很难有时间去系统的提升自己。
虽然现在更换了工作,但是编码更多的是面向业务,即使开发流程逐渐向敏捷靠拢,最深的感受却是华而不实。
我觉得30岁程序员,是到了想法上想逃离技术,逃离编程的年纪了,烦躁的心极力去迎合社会的变化。
怎么才能浮躁中提升技术呢?面对孩子,房子的压力,如何去保持一颗对技术持久渴望的心呢?
30+的,表示同感。怎么交往啊:)
码农们的偶像都是马化腾、李彦宏、史玉柱等做管理的,做技术没有地位,没有钱,没有妹子!哥,我很佩服你对技术的执着,但是你不是偶像派的,你是实力派的,与你共鸣的只是一小撮人。
顶一个~~
当初宣传30岁不编程的时候,中国才有几个程序员,中国IT业才起步几年。
大家都没有积累,当然是那些叫的更欢的半吊子吃香。
这就是“程序员吃青春饭”这个神话的全部。
但到了现在,有积累的程序员慢慢多了;谁更有能耐,不瞎的老板都看得到。
点个赞,看来我还没到入门的年龄啊,哈哈
@linustd
不對…
我年紀已到45, 之前是幹經理的, 後來因為編程能力別人還算看得起, 被挖到大公司 回頭幹程序員…薪資比前公司幹經理還多…
年紀到一個程度以上 就別靠應徵了, 按理你的程度經過多年磨練, 不論是管理, 技術, 領導統御等等能力, 應該早就鋒芒畢露, 一堆人搶著要你才對, 或是請你過去當經理, 請你過去當協理, 專經…當然也有想借重你技術 請你再回頭去寫編程的, 到這年紀應該變成是你在挑公司了…
如果到這年紀還沒作到這水平 就請再加油吧… 30幾歲 倒是還有成長空間, 已經過40了, 應該至少要作到一堆人搶著要才對
30+,感觉对人生的理解拓宽了对技术的认识,到了而立之年会有一种茫然的感觉,只有静下来、用心体会,其实在你心里一直有一条路,只是多年社会环境的影响埋没了这条路。抛开浮躁的内心,坚定的走下去,其实路就在脚下!
我觉得皓哥话是在理,但不妨从另一个个角度想想,如果你身边对技术不坚持的人都做了管理,技术怎么发挥作用,会不会被掣肘,有时候你能让自己很出色,但不能控制环境,不是逃避,只是觉得人不能离开环境生存,加油皓哥,我相信你
敢问楼主如今工资多少,生活是否有压力,如果能舒适地解决生活问题,我想我可以的,如果连生存问题都天天在纠结,你想想,两百万一套房,我要写代码多少年,如果有更好的发展,我一定会放弃写代码,再者,解决生活问题之后我可以继续从事写代码
昨天下午去一家外企面试,最后跟一位比我年长很多的技术总监聊,碰巧有机会问了他这个问题,他给出的回答是除个人因素外,这跟具体公司的态度以及文化有很大关系。回来后想想真的是不能同意更多,比如我现在的公司,周围都是年轻人,刚入职时认识的几个奔三的牛人同事都已经离职或转行了,作为入行不久的晚辈,这样的状况确实让我看不到希望,尤其是最近公司内部各种狼性、up or out等等“新兴”的文化,我想不得不让人有压力和各种想法吧。