曾在Google工作负责过技术工作的科技编辑Matt Heusser总结了他在Google的生活经历,得出结论:作为程序员,你只有15年时间。
Matt Heusser说,刚工作的时候身边很多都是年龄相仿的20多岁的年轻人,让他惊讶的是那些老人都去了哪里。
如果你也在互联网圈子里,也许会有一样的疑问。
公司里大部分的开发都是30不到的年轻人,似乎30岁之后的程序员都不多见。

在IT圈流传着一句话,程序员吃的是青春饭。很多人认为,30岁是个阶段,在这个阶段后就需要往管理方向转型。因为在30岁之后身体再也不能像年轻的时候一样熬夜撸代码,而且继续从事一线开发的待遇也不如管理层优厚。至于转管理层失败的程序员,身上背着房贷车贷,家里有老婆孩子等着养,身边有年轻的程序员跟你抢活干,想跳槽?人家宁愿选年轻的。想怼一下一改再改的产品?分分钟炒鱿鱼。

其实在竞争更激烈的国内IT圈,程序员的半衰期15年都不到。

3-5年的半衰期

程序员这个职业跟其他职业有些不一样,比如医生这个行业。一个医生在医学院学的人体结构知识,再过个一二十年它也不会过期。但是程序员现在所掌握的技术,每3-5年就要更新换代一波。
仔细观察身边的人,你会发现上了年纪的一线开发并不多。原因很简单,一个30多岁的程序员能干的事情如果招一个应届生也能干,那么公司更愿意招便宜的大学生。而这些大学生在接下来的五六年时间里,将会踏上成为30多岁程序员的路。如果他在这几年时间里没有掌握新技术,或者在他所从事的领域有更深的经验积累,那么在半衰期到来的时候,怎么拿这些已经过期的技术去跟年轻人竞争。

半衰期下的程序员

半衰期在IT圈是没法避免的事情。
Intel创始人之一戈登·摩尔(Gordon Moore)提出来的摩尔定律认为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。
在半衰期的程序员,每隔3-5年,所掌握的技术有一半就会作废。
如果说你现在所使用的技术和3年前的自己会的一样而且没有掌握新的技术的话,那么这是个危险的信号。很有可能在一段时间之后你会发现你所做的事情,换一个刚毕业的大学生也能做的一样好。

这带来一个问题,什么才是能够持久的技术?
答案是经验。

现在的互联网不像十几年前刚起步的时候一样遍地是机会。在那种环境下,每个人都有可能成为通才。
通才的含义是,你只要掌握基础的技术,就能够通吃一个产品的整体开发。比如掌握C++,在十几年前的环境下你可以完成一个PC产品从前端到服务端的整个链条。这种环境促成了很多通才的成功。

而现在的互联网,如果只掌握一种技能基本是注定会被淘汰的。你说你会JAVA,是否就意味着可以从移动端到服务端全包了呢?并不是的。移动端开发,并发,高性能,音视频解码,缓存队列,负载均衡,这里面每一个都需要多年的在这方面的经验。这些经验才是决定了一个程序员在半衰期到来之际会不会被淘汰的关键。

半衰期淘汰的是哪些人?
淘汰的是没有学习能力的程序员

目标是什么

上面说的这些,单一掌握其中一项还不足以在30岁之后让你在IT圈立足。必须找到其中一项擅长的点,在这个技术上有深入的钻研,并且不抗拒学习其他新的技术。
有些人说,程序员30岁之后就到了瓶颈,很难再有进步。这都是扯淡。到了30岁才是一个程序员真正的起点。但为什么有些人发现到了30后就难以找工作呢?
其实是因为对程序员的要求提高了。
对毕业两三年的程序员来说,最高要求只是能独立解决问题,能独当一面。
但对有多年经验的程序员,如果只会一项技术那是不够的。必须一专多能,在某方面有权威性的话语权,同时对其他的领域有一定的涉猎。达到如此,能保证在每个半衰期所失效的技术,有新掌握的技术来填补。一味的吃老本,或者是失去了学习能力和动力的程序员,大部分会被淘汰,你看那些转产品,转培训,甚至转测试的程序员还少么?