<p style="text-align: center;"><img src="/upload/content/20190106/1546706657272940.png" alt="程序员能靠技术渡过中年危机吗?" title="程序员能靠技术渡过中年危机吗?" width="550px"/></p><p>程序员能靠技术渡过中年危机吗?这是所有人都会经历的过程,有些已经平安渡过,有些还在惶恐不安。听听过来人的建议,走出自己的道路。做 InfoQ 公众号这几年来,接触到的一线开发可谓数不胜数。这些人向我提过很多问题,技术问题有之,职业规划有之,撩妹脱单有之(虽然我都解答不了…),但出现频率最高的,却还是这些问题:“我可以写代码一辈子吗?”、“我已经三十多了,依旧只能写代码,还要继续下去吗?”、“某司程序员 34 岁就被下岗了,我马上就三十了,怎么办?”</p><p>这些问题,可以笼统地归结为“中年危机”。程序员群体,作为互联网大潮里早期红利的既得利益者,享受着高出其他行业不少的薪资,却也在互联网发展日趋瓶颈的今天,开始恐慌未来:技术发展永远日新月异,可我却不能永葆年轻,怎么办?</p><p>作为一个同样即将迈入中年,同样迷茫困惑的编辑,我找了一些过来人,分享他们的经验,以飨读者朋友。正文内容均已获得授权,特此声明。</p><p><strong>温酒的看法</strong></p><p>知乎上因为程序员多,所以一直有很多误区。其中之一就是:程序员的中年危机。</p><p>何止是程序员有中年危机啊?只有程序员会人到中年吗?只有程序员是青春饭吗?只有程序员人到中年薪水就不涨了吗?只有程序员有爹妈吗?只有程序员有孩子吗?显然不是的。</p><p>什么是中年危机?就是人到中年,突然父母老了,孩子有了,自己步入中年了带来的生活成本大 UP,远远超过了收入 UP 的预期。那么其他职业有没有中年危机?显然是有的。哪个职业没爹没妈没老婆孩子的?哪个职业招聘不是写了 35 岁以下的?哪个职业到了中年还能给你涨收入的?都没有的,大家都一样。中年危机是一个必然要面对的问题。</p><p>其他不讲技术的职业能靠技术度过中年危机吗?不能。那程序员凭什么说自己能?中年危机的本质刚才已经讲过了,是生活成本 UP,收入期望 DOWN,直到入不敷出。所以要度过中年危机,需要一个家庭的努力。努力维持生活成本 UP 在可控范围内,收入期望的 DOWN 在可控范围内。而这些战略上的东西,和技术其实没什么关系。或者说,技术上钻研得越多,很有可能你在这方面钻研得就少了,反而不妙。</p><p>是的,最终解决问题的方案,说来说去还是开源节流。开什么源?三产、投资。什么三产?自媒体,起点小说,美术外包,音乐外包,淘宝小作坊卖西饼糕点等等等等。比如那些卖成功学成长课让你怎么成功提升自己的。注意我说的是卖这些东西可以算三产,去听显然算智商税。什么投资?房子的租金,这里一定要说一句:不要卖掉房子,不要卖掉!卖掉现金流是愚蠢的!</p><p>节什么流?孩子教育成本,家庭开销,老人养老成本。什么教育成本?不要买学区房,不要补课,有才能培养才能,没才能多玩耍,多学学能混一口饭吃的技能。什么家庭开销?减少外食,减少保姆等日常开支,减少衣着成本,自己干,锻炼身体锻炼技能身心健康。什么养老成本?父母要多运动,饮食健康,小毛小病勤去医院,要早交社保领退休金,要有精神寄托不用整天缠着你。减少父母工作量,管理好父母的财政。</p><p>以上。哪一条是靠技术的?没有的。事实上哪怕一个人技术再好,收入再高,一到中年,搞不定开源节流,一样完蛋。中年危机的本质都是从家里开始爆发的,压力都是从家人身上来的。因为人到中年,可能是你这辈子第一次收入停滞不前,他人对你的期望无法实现的时机。这就导致了生活质量和规划如果不能提前做好计划和准备,一定会有家庭成员的欲望得不到满足的情况出现。</p><p>年轻的时候,人们选择激进的应对手段:媳妇要求买房,好我多赚点买房。孩子要求更好的学校,好我多赚点读私立。父母要求更好的养老条件,好我多赚点赡养他们。而人到中年,再用激进的手段,基本上是要完蛋的。因为大多数时候,这种中年人往往已经磨到了你人生的天花板。再要激进,无非就是撞个头破血流。</p><p>所以真正解决中年危机,靠的是家庭,靠的是媳妇的收入和支持,是父母的养老保险和义务劳动,是孩子的成长和回馈,是家庭的理解和包容。和技术一毛钱关系都没有。</p><p style="text-align: center;"><img src="/upload/content/20190106/1546706924563029.png" alt="程序员能靠技术渡过中年危机吗?" title="程序员能靠技术渡过中年危机吗?" width="550px"/></p><p><strong>空白白白白的看法</strong></p><p>老陈是我的前同事,一个典型的 IT 技术男。他是计算机科班硕士,毕业后一直从事软件开发工作,平时不太喜欢和别人聊天,只喜欢静静的坐在那里写代码。前段时间回到上海,他专门打电话约我一起吃饭,说是想要出来自己创业,想咨询我一下开公司的事情。</p><p>饭桌上几杯酒下肚,老陈向我倒起了苦水:原来最近公司不太景气,升职加薪都遇到了瓶颈。他今年已经 38 岁了,月薪税后 3w 出头,看上去还不错,但家庭开销,子女教育,父母养老等等方面的费用不断增加,让他也感到压力山大。公司内遇到天花板,他就想去外面看看。哪知道投递了一圈简历,却更让他心灰意冷。原来以他的薪资和资历,去投递其它公司研发总监之类的高管岗位却约不到面试机会。因为他就是一个技术人员,没有管理和带人的经验,连简历筛选也过不了。而放低身段去应聘程序员的岗位,即便薪资出的到,但用人单位更倾向于招聘年轻的候选人。用猎头的话来说:“现在的用人岗位比较介意年龄”。</p><p>他在公司里面也是压力重重,他自身一直做业务系统的,手里掌握的技术新毕业的大学生用个 3 年就能掌握了。那些年轻的程序员,能熬夜,能加班,无牵无挂,工资还低。所以公司也更倾向于用这些年轻人。之前公司效益不错,所以老的一批程序员还能养着,现在效益下滑,难保不向他们这些年纪大的程序员“开刀”。</p><p>那么程序员如何度过中年危机呢?按照我工作年限,我应该是没资格来说这件事的,不过周边有不少朋友是 CTO,技术 VP 之类的高管,都是顺利度过“中年危机”的优秀人才,我专门为了这个问题去向他们请教,结合他们的意见,我总结了 4 条建议如下:</p><p><strong>1、专注本业,做深做强</strong></p><p>程序员这个职业和律师,医生,运营等职业不同,它要求从业人员有更好的新技术学习能力,反而对于从业人员的经验要求不高。从程序语言来说,2000 年初 JAVA 才刚刚起来,不到 10 几年的时间已经代替 C++ 成为使用最多的技术语言。而 GO,Groovy,Python 等后起之秀也快速发展,大有赶超之势。这就要求这个行业的从业人员需要具备快速的技术学习能力。如果你是一个技术狂人,能够快速的学习新的技术语言,并对枯燥的 IT 技术甘之如饴,那么持续沿着技术这条路走下去也是一种选择。毕竟每一个行业,总需要能够钻研最底层技术的人。</p><p>我就认识一位 C++ 语言的大拿。要说现在 Java 广泛应用于系统开发吧,但很多计算机底层的编译器,Java 的 Jvm 都是用 C/C++ 来编写的。他因为在这个领域研究很深,一样能够找到很好的工作,拿着不菲的工资。不过这类人我觉得是凤毛麟角的,毕竟抱着原版 C++ 教材像读小说一样的“神人”真的不多见。所以你要做到这条,首先要对自己的专注力、持续力、技术能力有一个非常客观的判断。</p><p><strong>2、走架构 / 管理路线</strong></p><p>这个路线某种程度上是程序员这个行当中吃“经验”饭的路线。架构 / 管理需要的不仅仅是了解技术,还要具备丰富的行业经验,良好的沟通能力,全面的管理手段。这些都可以在一个程序员日常的工作中进行积累,从而完成一名程序员的转型。</p><p>就好像老陈之前的不少朋友,他们平时工作中比较注意积累这方面的经验,现在有不少人已经走到了管理岗位,还不乏总监、VP 乃至于 CTO 这样的高级岗位。不但薪资高,而且职业生涯也得到了延伸。</p><p>严格意义来说,走这条路线某种程度上已经脱离了技术背景,更像是走企业管理路线了。但不得不说,这是一条不错的路线。只是近年来新型公司,特别是互联网公司都讲究扁平化管理,这样的“坑位”也不多了,所以如果有这样的机会一定要珍惜。</p><p><strong>3、转行到关联行业</strong></p><p>IT 开发和语言一样,只是一项工具。必须要和其它业务行业结合才能够产生价值。这就给了技术人员一个选择,可以结合自己之前服务的行业进行转行。比如,一个技术人员一直从事金融领域的技术开发,通过日常积累了解了不少金融知识。那这个时候,你就可以转行为 BA(Business Analyser)或者 PM(Product Manager)。要知道,一个懂技术的 BA 或者 PM 是非常受企业欢迎的。</p><p>我就认识一个美女,因为受不了开发的高强度工作,转行做了 PM。她自身是计算机专业毕业,本身也做过开发。所以她在涉及产品的时候,充分知道哪些系统可以做,哪些系统做不了,能够写出“靠谱”的需求说明书(程序员们的最爱)。这样她的产出就非常好,自然深的老板的喜爱。</p><p>基于自己已有的优势,再学一门手艺,从而跨门槛的跳到一个重视经验的行业中。这简直就是当前互联网最喜欢的“降维打击”嘛。如果你足够努力,而且学习和沟通能力不错,这也是一条挺好的道路,机会多,空间大,值得推荐。</p><p><strong>4、创业开个公司</strong></p><p>说实话,这真的是一条最最艰难的道路。开公司和做副业不一样,它考量的是一个人的综合能力,需要应付的方方面面的问题数不胜数。前文提到的老陈,我就觉得如果去创业很容易失败。因为打工时候只要做好自己的事情即可,但创业的时候是什么事情都要做!</p><p>当然,我身边就有创业成功的例子,比如云舒。但他自身在做程序员的时候也是大神级的人物,他来创业不是走投无路,而是实现自我价值。更不要提他自身的综合能力也是非常棒的。这么说吧,他不来创业也能够在原来公司做的风生水起。所以这条路是推荐给那些非常优秀的人的,如果是工作中走头无路,创业基本上也是死路一条。</p><p>不管是上面哪一条,其实都需要大家提前做好自己的职业规划,选择一条最适合自己特点的道路,早布局,早沉淀,早打算,早 …。总之,所有事情的准备越早越好,老祖宗不是说过嘛,凡事预则立,不预则废。为了和你 35 或 40 岁的中年危机说拜拜,还是早些准备起来吧~!</p><p style="text-align: center;"><img src="http://panxu.net/upload/content/20190106/1546706922632847.png" alt="程序员能靠技术渡过中年危机吗?" title="程序员能靠技术渡过中年危机吗?" width="550px"/></p><p><strong>范凯的看法</strong></p><p>在我还是 25 岁的时候,我和很多程序员一样,其实有同样的担心,老了以后怎么办?写代码难道还能写到 30 岁?</p><p>当我 30 岁的时候,我发现自己创业去了,虽然非常苦逼,但是苦中作乐,还挺有挑战的。当然创业是没有退路的,创业要是失败了,估计更加没人要了。所以还是先想创业的事吧,35 岁的大龄程序员问题还是 5 年以后再说。</p><p>一晃我就 35 岁了,创业公司卖给 CSDN 了,我在 CSDN 当 CTO 了。话说这个 CTO 其实也很苦逼,操心的事太多,每天各种杂事,压根没空想中年危机的话题。</p><p>然后我马上就 40 岁了,不算有钱,但养活自己完全没问题,想着趁自己还能蹦跶几年,再做点什么吧,就到丁香园了。</p><p>现在回想 25 岁的时候,当初的担忧真的是杞人忧天了。我现在写代码也完全没问题,偶尔也会写点代码练练手,自娱自乐一下。但是从 2010 年我 34 岁开始,工作上我已经不适合写代码了。不是我不愿意亲自写代码,我反而觉得写代码很有成就感,而是我不写代码对公司的价值更大,我需要把时间和精力放在规划产品方向、决策技术架构、培养团队,提升公司战斗力上。</p><p><strong>那些 70 后的程序员都消失了吗?</strong></p><p>如果你现在去一家互联网公司看看,你会发现程序员的主力都是 90 后了,80 后都很少,至于 70 后几乎绝迹。其实没有消失,而是 70 后的程序员已经成为各个互联网公司,各个 IT 公司的高层了。那么你会问:「一个公司就几个高层职位,哪有那么多职位给 70 后呢?」</p><p>答案是:「20 年前根本就没有多少 IT 公司,70 后的程序员也没有现在动辄上百万的规模」。这 20 年来,整个 IT 和互联网行业扩大了 100 倍都不止,创造了海量的就业机会,无论是高层还是一线岗位。</p><p>那么还有 70 后程序员奋战在 coding 第一线的吗?当然有!比我还大一岁的高春辉,中国互联网的活化石啊。老高身为一家公司的老板,仍然不肯放下 coding 的乐趣,至今坚持亲自写代码。</p><p>所以看起来,到了 40 岁,无论自己写不写代码,似乎都不至于年老色衰,程序员这个职业的保鲜期似乎没有娱乐圈短。作为一个年轻程序员的你来说,应该怎样延长自己的保鲜期呢?</p><p><strong>20-27 岁:技术积累</strong></p><p>假设本科 22 岁毕业,那么工作的前 5 年对你来说是打基础的阶段。在这 5 年时间里面,你要积累足够的代码量,打磨自己的技术实力,成为某一个技术细分领域的牛人。</p><p>而我自己当年在这个阶段的努力程度是如饥似渴的,春节都不回家,蹲在出租房里面啃技术文档。刚参加工作的时候,曾经连续一个月在公司打地铺睡觉。</p><p><strong>28-35 岁:形成思维方法论和知识体系</strong></p><p>当你积累足够的代码量,例如超过 10 万行代码以后,你应该形成了自己的思维方法论和自己独立的学习技巧,任何新的技术在你眼中都能迅速的看到技术的本质,快速吸收成为你的知识体系的一部分。</p><p>到了这个阶段,你会发现你所完全不了解的新技术新知识是非常少的,新技术对你来说也不过是几天时间就把玩的很好的玩具,学习越来越轻松,掌握的知识储备越来越多。</p><p>你开始逐渐的不再满足于纯技术领域的探索,而是思考更多的问题:如何将技术转化为生产力;什么技术在什么样的场合能够发挥最大的价值;技术团队应该怎样构建;在一家公司里面,我怎样才能将自己的技术能力最大化的发挥出来?</p><p>在这个阶段,积累技术对你来说简直是小菜一碟,你更需要磨练的是思考能力,形成自己的思维方法和知识体系,这将是你帮助你一生的武器。</p><p><strong>35 岁以后:了解自己,把自己变现</strong></p><p>毋须讳言的是,35 岁以后你的一线 coding 能力一定是下降的,你写代码绝对不如 25 岁的程序员快,效率高。但是这不重要,因为编程只是你整个武器库当中相对最不重要的了,你的经验,你的视野,你的架构能力,你的管理能力,你分析和解决问题的能力已经远远不局限于技术这个领域。</p><p style="text-align: center;"><img src="/upload/content/20190106/1546707050104422.png" title="1546707050104422.png" alt="image.png"/></p><p>30-35 岁这个阶段,最关键的是了解自己。知道自己擅长什么,自己的优势在哪里,怎样才能够最大化自己的价值,同时也知道自己有什么缺陷,怎样避开做自己不擅长的事情,不勉强自己,不让自己处于对自己不利的环境,这是人生的智慧。</p><p>一个人能够客观的认识自己是非常困难的,很多人终其一生都没有活明白,既不知道怎样发挥自己的天赋,也拒绝承认自己的缺陷。在 35 岁以后,要接受一个不完美的自己,知道怎样扬长避短,最大化个人价值。能够做到这一步的程序员,人到中年完全不是程序员生涯的终结,反而会走向个人事业的巅峰。</p><ul class=" list-paddingleft-2" style="list-style-type: disc;"><li><p>成长为核心业务的核心骨干?</p></li><li><p>成长为技术管理层?</p></li><li><p>转型业务专家,转型做业务咨询顾问?</p></li><li><p>转型产品经理,产品总监,走产品线?</p></li></ul><p>这些都可以,都是一些具体的职业发展道路的选择问题。然而无论选择,只要你始终保持开放的学习心态,不断积累知识和经验,构建个人的知识体系,磨练自己的思考能力,并且时常自省,中年对你来说完全不是危机,而是巅峰。</p><p>原文链接:https://zhuanlan.zhihu.com/p/20427809</p><p><strong>写在最后</strong></p><p>「程序员能纯靠技术渡过中年危机吗?」这个问题,我看了数十个人的看法,绝大多数答主都认为纯靠技术渡过中年危机不现实,有这样技术实力的人永远都是少数。至于怎么用常人能落地的手段去做一些尝试,我在正文部分选取了三位有代表性的回答作为参考。</p><p>有一位答主从前辈那得到的点拨我觉得非常有见地,最后再 share 给大家:</p><p>“你思路要开阔点,一个项目成功可不仅仅是写代码这么简单。你也做过很多项目效益分析,你自己想想,有几个项目是真的死于技术不行的。如果老板期望过高呢?如果给的资源不够呢?如果其他部门不配合你呢?你做精准营销,人家一线销售根本不鸟你,你怎么精准?如果你能从结果出发,倒推做成项目需要什么。用这些分析去影响业务部门,岂不是比别人挖好了坑,自己边骂边填更好?”</p><p>PS:话说新媒体小编该怎么渡过中年危机呢?</p>