我认为程序员很难干一辈子,原因如下:
一、客观原因
程序员的工作强度极高。不出线上问题时一切还好,可一旦出了线上生产问题,熬夜修 bug、加班加点便是常态。(最近某科技公司、某东南亚电商都有研发人员猝死的情况,这也足以表明程序员工作强度之大。)
人到了三四十岁,精力和体力都会下降,而且那时可能还面临着上有老、下有小的家庭压力。像凌晨两点爬起来修 bug、周末加班上线这类基础研发工作,显然更适合精力旺盛的年轻人。各大互联网公司员工的平均年龄都在 29 岁左右,这也侧面说明程序员的工作在很大程度上属于青春饭。
有的人可能会说,可以晋升管理层啊,不用再当基础员工。但一个 100 多人的研发团队,管理层职位寥寥无几 。管理层的入场券极其有限,并且同样存在年龄限制。而且管理层要操心整个团队的大小事项,还要争夺项目资源,工作并不轻松。
二、主观原因
程序员的工作大多是开发、修 bug 的循环往复。(只有极少部分幸运儿能够摆脱这种循环,去设计架构、钻研前沿技术。)时间一长,如果不是对写代码怀有强烈浓厚的兴趣,大概率会觉得这份工作既耗费精力又十分无聊,更别说干一辈子了。
我调研了组里工作 5 到 10 年左右的前辈,他们的反馈都是:“程序员的活没有意思,但有个班上,有钱挣就行了。” 大部分人只是继续干着,早已经失去了写代码和钻研技术的热情,仅仅靠着工资支撑,撑到撑不下去,有了一定积蓄就选择退休。(也有可能是撑到被动失业。)
三、如何破局?
程序员只是一种谋生手段,不太可能干一辈子。因此,除了做好主业,还应积极探索其他出路。具体而言:
(一)广学习,不设限
程序员可以从本职工作跳脱出来,关注工作的上下游。例如,可以多接触全栈技术或产品设计。假设后期不幸被裁员,凭借自己丰富的技术栈,既可以自己接项目单干,也能转型做产品经理。掌握了这些技术,无论是跳槽还是涨薪,都是很好的加分项,甚至对于想成为超级个体的人来说,也是一大助力。
学习理财知识同样重要。要明白资产和负债的概念,努力增加资产,减少负债(比如,思考房子到底是不是资产?);熟悉基本的理财产品,能够看懂财务报表,掌握价值投资、行业周期,了解投资组合配置,避免自己辛苦挣来的钱缩水;同时,了解并配置一些基本的保险产品。如果能通过一些投资手段,让自己的资金产生的利息覆盖日常支出,那么工作的必要性也就没那么强了。
(二)探索兴趣爱好,发展属于自己的事业
利用业余时间多去探索自己的爱好,将工作和兴趣爱好结合起来发展成副业。这样既能加深对主业的经验和理解,又能拓展收入渠道。
例如,如果对写程序感兴趣,那就尝试做独立开发者,开发 APP 并发布在应用商店;如果对绘画感兴趣,可以用漫画的形式把数据结构和算法原理画出来,发布在网络上;对音乐感兴趣,可以尝试用大模型协助谱曲;对小语种感兴趣,就尝试翻译小语种技术文章…… 渐渐地,这些创作内容能给我们带来额外收入,减少我们对工作的依赖。
如果你还没有明确的爱好,那一定要多去尝试,相信在人生历程中总会找到。(而且知乎、B 站、MOOC 等平台上有很多免费的入门教程,无需花费金钱。)
比如,写作一直是我从小到大的爱好,我能为之废寝忘食、忘记时间。因此我一直坚持在知乎、公众号等平台写作,还开始创作小说。看动漫是我的兴趣,所以我也学习了日语;最近我又开始研究音乐创作 。
多去尝试,总有一天能找到真正热爱的事物,并且拥有通过热爱的事物谋生的能力。如此一来,又何必非要当一辈子程序员呢?(当然,如果写代码本身就是自己热爱的事情,那就另当别论啦~)
人生不过短短三万多天,时间有限,让我们抓紧时间去做热爱的事,为热爱而活!