,80 后都很少,至于 70 后几乎绝迹。那么一个有趣的话题是:「70 后的程序员都消失了吗?」
其实没有消失,而是 70 后的程序员已经成为各个互联网公司,各个 IT 公司的高层了。那么你会问:「一个公司就几个高层职位,哪有那么多职位给 70 后呢?」
答案是:「20 年前根本就没有多少 IT 公司,70 后的程序员也没有现在动辄上百万的规模」。这 20 年来,整个 IT 和互联网行业扩大了 100 倍都不止,创造了海量的就业机会,无论是高层还是一线岗位。
那么还有 70 后程序员奋战在 coding 第一线的吗?当然有!比我还大一岁的高春辉,中国互联网的活化石啊。老高身为一家公司的老板,仍然不肯放下 coding 的乐趣,至今坚持亲自写代码。
所以看起来,到了 40 岁,无论自己写不写代码,似乎都不至于年老色衰,程序员这个职业的保鲜期似乎没有娱乐圈短。作为一个年轻程序员的你来说,应该怎样延长自己的保鲜期呢?
20-27 岁:技术积累
假设本科 22 岁毕业,那么工作的前 5 年对你来说是打基础的阶段。在这 5 年时间里面,你要积累足够的代码量,打磨自己的技术实力,成为某一个技术细分领域的牛人。
而我自己当年在这个阶段的努力程度是如饥似渴的,春节都不回家,蹲在出租房里面啃技术文档。刚参加工作的时候,曾经连续一个月在公司打地铺睡觉。
28-35 岁:形成思维方法论和知识体系
当你积累足够的代码量,例如超过 10 万行代码以后,你应该形成了自己的思维方法论和自己独立的学习技巧,任何新的技术在你眼中都能迅速的看到技术的本质,快速吸收成为你的知识体系的一部分。
到了这个阶段,你会发现你所完全不了解的新技术新知识是非常少的,新技术对你来说也不过是几天时间就把玩的很好的玩具,学习越来越轻松,掌握的知识储备越来越多。
你开始逐渐的不再满足于纯技术领域的探索,而是思考更多的问题:如何将技术转化为生产力;什么技术在什么样的场合能够发挥最大的价值;技术团队应该怎样构建;在一家公司里面,我怎样才能将自己的技术能力最大化的发挥出来?
在这个阶段,积累技术对你来说简直是小菜一碟,你更需要磨练的是思考能力,形成自己的思维方法和知识体系,这将是你帮助你一生的武器。
35 岁以后:了解自己,把自己变现
毋须讳言的是,35 岁以后你的一线 coding 能力一定是下降的,你写代码绝对不如 25 岁的程序员快,效率高。但是这不重要,因为编程只是你整个武器库当中相对最不重要的了,你的经验,你的视野,你的架构能力,你的管理能力,你分析和解决问题的能力已经远远不局限于技术这个领域。
30-35 岁这个阶段,最关键的是了解自己。知道自己擅长什么,自己的优势在哪里,怎样才能够最大化自己的价值,同时也知道自己有什么缺陷,怎样避开做自己不擅长的事情,不勉强自己,不让自己处于对自己不利的环境,这是人生的智慧。
一个人能够客观的认识自己是非常困难的,很多人终其一生都没有活明白,既不知道怎样发挥自己的天赋,也拒绝承认自己的缺陷。在 35 岁以后,要接受一个不完美的自己,知道怎样扬长避短,最大化个人价值。能够做到这一步的程序员,人到中年完全不是程序员生涯的终结,反而会走向个人事业的巅峰。
成长为核心业务的核心骨干?
成长为技术管理层?
转型业务专家,转型做业务咨询顾问?
转型产品经理,产品总监,走产品线?
这些都可以,都是一些具体的职业发展道路的选择问题。然而无论选择,只要你始终保持开放的学习心态,不断积累知识和经验,构建个人的知识体系,磨练自己的思考能力,并且时常
自省,中年对你来说完全不是危机,而是巅峰。
写在最后
「程序员能纯靠技术渡过中年危机吗?」这个问题,我看了数十个人的看法,绝大多数答主都认为纯靠技术渡过中年危机不现实,有这样技术实力的人永远都是少数。至于怎么用常人能落地的手段去做一些尝试,我在正文部分选取了三位有代表性的回答作为参考。
有一位答主从前辈那得到的点拨我觉得非常有见地,最后再 share 给大家:
“你思路要开阔点,一个项目成功可不仅仅是写代码这么简单。你也做过很多项目效益分析,你自己想想,有几个项目是真的死于技术不行的。如果老板期望过高呢?如果给的资源不够呢?如果其他部门不配合你呢?你做精准营销,人家一线销售根本不鸟你,你怎么精准?如果你能从结果出发,倒推做成项目需要什么。用这些分析去影响业务部门,岂不是比别人挖好了坑,自己边骂边填更好?”