程序员过35岁之前,应该完成的三件事

作为一个「早已经」过了35岁的人来说,可以聊这个话题。我觉得就「三件事」需要提早去做。

我42了,还在一线撸代码。像我这种人,天天都在想一个问题:当我离职或者被离职了,我每天每周每个月,还能挣多少钱?

这个问题才是最优先要考虑的。不是「怎么让自己不被裁」,而是「没有工作了,你能挣多少钱」。35岁危机的本质不是年龄歧视,是你的全部收入都绑在一份雇佣关系上。公司在,你有钱;公司不要你了,你归零。这种结构本身就是脆弱的,跟年龄没关系,只是年龄大了之后这种脆弱会被放大。

想明白这一点,要做的事就三件。

建立不依赖公司的收入能力

这是优先级最高的一件事。

注意我说的不是「搞副业」,是「建立收入能力」。这两个概念不一样。下班后去送外卖也算副业,但这不是我说的那种。我说的是:你能提供某种价值,有人愿意为这个价值付钱,而且这件事不需要你坐在某个公司的工位上才能做。

具体怎么找到这个方向?两条路径。

第一条:回头看你坚持最久的事。

从大学毕业到现在,你坚持时间最长的一件事是什么?不是工作逼着你做的,是你自己愿意投入时间的。有可能是写技术博客,有可能是做开源项目,有可能是帮别人解答技术问题,也有可能跟技术完全无关。这件事大概率就是你的真兴趣所在,真兴趣意味着你能持续做下去而不觉得累,这是变现的前提条件。

第二条:广撒网试错。

如果暂时找不到那个坚持最久的事,就多尝试不同的方向。独立开发、技术自媒体、开训练营、运营知识星球、写付费专栏、接技术咨询、做流量主。每个方向花两三个月认真试一次,不行就换。大部分人不是没能力做,是从来没试过。

我见过不少同行,技术水平不差,但从来没想过「不上班也能赚钱」这件事。等到真被裁了才开始想,就晚了。这种能力需要时间积累,不是一夜之间能建立的。

有人会说:我工作就够忙了,996的强度下哪有精力搞这些?

这个问题我的看法是:如果一份工作忙到你完全没有时间为自己的未来做任何准备,那这份工作本身就是一个风险因素。它在消耗你的时间,但没有在帮你积累离开它之后还能用的东西。不是说要立刻辞职,而是要有意识地在工作之余,哪怕每周只拿出三四个小时,开始做点什么。

我自己早期就是五点多起床。上班前有两三个小时是完全属于自己的,没人打扰,脑子也清醒。这段时间拿来写文章、做项目,日积月累效果很明显。时间这个东西不是「有没有」的问题,是你愿不愿意从别的地方挤出来。

什么样的方向值得投入?有三个标准:

标准 说明 反面例子
可积累 今天做的事能叠加到明天 一次性的外包项目
有复利 做一次,能被反复消费 按小时计费的兼职
不纯粹卖时间 收入上限不跟工时绑定 晚上去当家教

写一篇技术文章,发布之后可能持续几年都有人看、有人付费。这就是可积累、有复利的事。接一个外包项目,做完交付,跟你再没关系了,这就是纯粹卖时间。两者的区别不在于短期收入高低,在于三年后哪个能给你带来持续的现金流。

让自己「厚」起来

第二件事聊的是能力结构。

我见过很多工作七八年的开发者,技术能力不错,但给人的感觉很「薄」。除了写代码,其他方面几乎是空白的。项目怎么推进不清楚,团队协作怎么拉齐不关心,技术方案怎么跟业务方争取资源不会。

30岁只会写代码,没人会说什么,因为你还年轻,专注技术天经地义。35岁还是这样,处境就尴尬了。不是说技术能力不值钱了,而是同样的技术活,25岁的人也能干,人家还便宜、还能加班。你的竞争力必须来自25岁的人暂时给不了的东西。

这些东西包括什么?

项目管理能力。一个需求从评审到上线,怎么拆解、怎么排期、怎么协调前后端和测试、怎么处理中途变更,这些经验只有真正带过项目的人才有。

技术决策能力。面对一个技术选型问题,能给出有理有据的判断,能说服团队按这个方向走,能对结果负责。这不是纯技术能力,需要对业务、对团队、对成本都有理解。

向上沟通能力。把技术问题翻译成业务语言,让不懂技术的老板理解为什么这件事要花这么长时间、为什么需要这么多资源。很多技术人觉得这是「不务正业」,但现实是,争取不到资源的技术方案永远落不了地。

有人会想:我就想专心搞技术,不想卷管理那一套。

这里有个认知误区。我说的不是让你转管理岗。即便你一辈子做技术,这些能力也是需要的。一个高级工程师和一个架构师的区别,很多时候不在于谁写的代码更好,在于谁能把一个模糊的业务需求推进到落地。推进的过程就需要上面说的那些能力。

能力跟年龄匹配,这件事比技术深度更重要。 一个35岁的程序员,如果能带项目、能做技术决策、能跟业务方顺畅沟通,市场上的选择会多很多。因为这种人不是只能放在那儿写代码,而是能独立负责一块事情。公司招35岁以上的人,看的就是这个。

深耕一个行业

第三件事是大部分程序员最容易忽略的,也是我认为回报最大的。

很多人跳槽的时候只看技术栈和薪资,不太在意行业。今年做电商,明年做金融,后年做教育。每次跳槽都是从零开始理解业务,之前积累的行业认知全部清零。

这个策略在30岁之前问题不大,因为你年轻,学得快,而且公司招年轻人本来就不太看行业经验。但35岁之后,如果你对任何一个行业都只是浅尝辄止的了解,你的竞争力就很成问题。

同一个行业里的公司,痛点高度相似。

做电商的公司,不管大小,都会遇到库存超卖的问题、大促流量洪峰的问题、订单状态机复杂度的问题。做金融的公司,都会遇到对账、清算、资金安全的问题。这些痛点是行业级别的,不是某一家公司的特殊情况。

如果你在一个行业里待了五六年,把这个行业的核心痛点都摸清楚了,而且知道每个痛点的最佳解决方案,你的价值就不一样了。你不再是一个「会写Java的人」,而是「一个懂电商系统、能解决电商核心技术难题的人」。前者市场上一抓一把,后者是稀缺的。

怎么做行业积累?几个具体动作:

一是搞清楚你所在行业的完整业务链条。不要只看自己负责的模块,把上下游都了解清楚。比如你做支付系统,就要搞明白从用户下单到资金到账的完整链路,哪些环节容易出问题,行业里其他公司是怎么处理的。

二是关注行业内的技术方案演进。同一个问题,三年前主流的解决方案和今天主流的方案可能完全不同。了解这个演进过程,你就能判断当前方案的生命力还剩多少,下一步该往哪个方向走。

三是建立行业内的技术人脉。同行之间聊的东西是最有价值的:你们那边库存是怎么扣的?你们的对账跑批多久?你们用的什么方案解决幂等问题?这些信息在行业外是拿不到的。

我以前也觉得行业积累这个事没那么重要,技术是通用的嘛,学好技术走到哪里都一样。后来发现不是那么回事。技术能力到了一定水平之后,区分度就很小了。真正拉开差距的,是你对业务的理解深度。两个技术差不多的人,一个对行业一无所知,一个能在面试时指出「你们现在这个架构在日均订单量过500万之后会遇到XX瓶颈,我之前的做法是YY」,结果完全不一样。

三件事自检清单

这张表可以对照看一下自己目前的状态,判断哪件事应该优先投入精力:

维度 初级(需要尽快启动) 中级(正在路上) 高级(已基本完成)
独立收入能力 从没尝试过在公司之外赚钱 有过一些尝试,偶尔有收入但不稳定 有稳定的公司外收入渠道,月入过万
能力厚度 只负责写代码,不参与其他环节 带过小项目,有一些跨职能协作经验 能独立负责一个完整模块,从方案到落地到复盘
行业积累 换过多个行业,对当前行业了解很浅 在一个行业待了3年以上,熟悉核心业务 能说出行业前5大痛点及对应的最佳实践方案

如果三项都在「初级」,说明风险敞口比较大,需要尽快从第一件事开始做。如果已经有一两项到了「中级」,选一个最容易突破到「高级」的方向集中发力。

小结

35岁危机这个话题讨论了很多年,大部分建议都集中在两个方向:要么说「提升技术深度」,要么说「转管理」。这两条路当然都可以走,但它们有一个共同的问题:还是在「被雇佣」的框架里想办法。技术再深,也是在公司里用;转了管理,还是得有个公司要你。

真正让我踏实的安全感,不来自「我技术很强所以不愁找工作」,来自「即便没有任何公司要我,我依然能养活自己」。这两种心态下做出的职业选择,质量完全不同。前者容易让你为了保住饭碗而委曲求全,后者让你有底气选择真正想做的事。

这三件事不需要做到极致,也不需要三件同时开始。但35岁之前,至少要在每件事上走出第一步。起步之后,时间会帮你把雪球越滚越大。


最近在知乎出了「应付6000万会员的秒杀系统专栏」和「几亿用户,百万并发的C端商品系统实战」专栏,感兴趣的可以订阅一下。至于知识星球的,可以搜:

  • 老码头的技术浮生录

它是一个能实际帮你解决难题的星球。有问题的,找知心的Sam哥,支持无限次语音一对一解决你遇到的难题。「另外后续我新写的所有对外的付费专栏,在星球内都是免费的,且可以拿到所有源代码。」

知识星球内后续将推出20+个付费专栏,覆盖电商全链路:

选购线 用户会员营销线 中后台
购物车服务 营销系统 订单系统
商品服务 用户系统 支付系统
菜单服务 结算服务

从前台选购到中后台结算,星球成员全部免费,后续新增也不额外收费。

我的知乎账号:

  • SamDeepThinking
相关推荐
大数据三康2 小时前
Java字符统计:从输入到输出的完整解析
java·学习·循环结构
Mr_pyx2 小时前
【LeetHOT100】LRU缓存——Java多解法详解
java·开发语言
952362 小时前
SpringAOP
java·后端·学习·spring
浩冉学编程2 小时前
微信小程序中基于java后端实现官方的文本内容安全识别msgSecCheck
java·前端·安全·微信小程序·小程序·微信公众平台·内容安全审核
A__tao2 小时前
JSON 转 Java 实体类工具(支持嵌套与注释解析)
java·python·json
zx2859634002 小时前
Laravel6.x新特性全解析
java·后端·spring
极光代码工作室2 小时前
基于SpringBoot的图书管理系统
java·springboot·web开发·后端开发
许彰午2 小时前
# 从OOM到根治的完整过程——导出大数据的应急、根因分析与游标方案
java·大数据·数据库·系统架构
上弦月-编程2 小时前
C语言指针超详细教程——从入门到精通(面向初学者)
java·数据结构·算法