跳到主要内容
阅微漫记
返回

人生代码审查:把你欠的债,一笔一笔列出来

有一段时间,我经常有一种奇怪的感觉。

每天都很忙。

会议很多。

需求很多。

问题很多。

别人看起来可能觉得:

一个工作十几年的技术人,应该已经非常稳定了。

有经验。

懂业务。

能解决复杂问题。

遇到事情也能够扛下来。

可是只有自己知道:

心里其实一直有一种隐隐的不确定感。


我开始问自己几个问题。

如果五年以后,公司不再需要现在的我。

我还能依靠什么?

如果未来技术变化越来越快。

过去积累的经验,还有多少价值?

如果有一天,我离开现在的位置。

我真正拥有的东西是什么?

这些问题,以前我很少认真想。

因为每天都有新的任务。

新的需求。

新的问题。

就像一个运行中的线上系统。

只要没有宕机。

就很少有人愿意停下来检查。

但是某一天,我突然意识到:

过去十几年,我一直在维护公司的系统。

可是:

我好像很少认真维护自己的人生系统。

01 程序员会做 Code Review,却很少给自己做人生 Review

作为程序员,我们都知道:

代码写久了,一定会产生问题。

哪怕最开始的设计非常合理。

随着需求不断增加。

功能不断叠加。

人员不断变化。

系统里面一定会出现:

历史代码。

临时方案。

隐藏依赖。

这些东西,在刚开始的时候没有问题。

甚至帮助系统快速上线。

但是时间久了:

它们会慢慢变成维护成本。

这就是技术债。


成熟的软件团队,会定期做一件事情:

Code Review。

不是为了证明谁写错了。

也不是为了否定过去的设计。

而是:

重新理解系统。

发现隐藏风险。

优化未来架构。

后来我发现:

人生其实也是一样。

我们年轻的时候,也在不断写自己的”人生代码”。

为了进入更好的公司。

我们学习技术。

为了证明自己的价值。

我们承担更多责任。

为了获得稳定。

我们接受组织安排。

为了完成目标。

我们牺牲时间和健康。

这些选择,当时都是合理的。

因为它们帮助我们走到了今天。

但是问题是:

很多代码上线以后,就再也没有回头维护。

很多人生选择也是一样。

我们不断增加功能。

不断增加责任。

不断增加负载。

却很少停下来问:

现在这套系统,还适合未来十年吗?

02 我的第一次人生代码审查:发现自己欠了几笔债

当我开始认真检查自己的时候。

我发现:

很多问题,并不是突然出现的。

它们早就在系统里存在。

只是以前:

年轻。

机会多。

身体还能扛。

所以没有暴露出来。

就像一个运行多年的系统。

平时看起来没问题。

但是流量增加以后。

隐藏的问题开始出现。

第一笔债:能力债

我第一个检查的问题是:

这些年,我到底积累了什么?

过去十几年。

我学过很多技术。

参与过很多项目。

解决过很多复杂问题。

但是如果有一天:

脱离现在的公司环境。

这些经验还能不能产生价值?

这个问题让我停顿了很久。

因为以前我认为:

技术能力,就是我的核心资产。

但是后来我发现:

技术只是能力的一部分。

真正有长期价值的东西,应该是:

我解决问题的方法。

我理解业务的能力。

我总结出来的规律。

我形成的判断体系。

如果这些东西只存在我的脑子里。

随着项目结束消失。

那么它更像:

一次性的代码。

而不是:

可以复用的组件。

第二笔债:经验债

这是很多技术人的共同问题。

我们经常说:

“我有十几年经验。”

但是后来我开始问自己:

这十几年,是十几年成长?

还是一年经验重复了十年?

区别很大。

如果每一年:

都有新的认知。

新的方法。

新的沉淀。

那么经验会产生复利。

但是如果只是:

不断完成任务。

不断解决问题。

不断进入下一个项目。

那么时间只是增加了熟练度。

经验真正的价值,不在于经历过多少事情。

而在于:

你有没有从经历中提炼出自己的系统。

第三笔债:表达债

这是我以前低估的一笔债。

技术人很容易相信:

只要事情做好。

价值自然会被看到。

代码写好了。

系统稳定了。

问题解决了。

事实证明:

并不完全如此。

因为随着职业阶段变化。

你的价值越来越复杂。

年轻的时候:

你的价值可能体现在:

写代码。

解决Bug。

完成需求。

但是到了中后期:

你的价值更多体现在:

判断。

决策。

影响。

协作。

这些东西,如果不能被表达。

别人很难理解。

这不是让自己包装。

而是:

升级自己的沟通接口。

过去:

我和世界连接的接口是代码。

未来:

我需要增加新的接口:

文字。

表达。

影响力。

方法论。

第四笔债:依赖债

这是我后来意识到比较严重的一件事情。

很多技术人的职业系统,其实是一种单节点架构。

结构很简单:

公司
 ↓
岗位
 ↓
工资
 ↓
生活

过去很多年。

这个系统运行得很好。

公司提供平台。

岗位提供收入。

我提供能力。

彼此交换。

但是任何系统都有风险。

公司会变化。

行业会变化。

岗位会变化。

如果整个系统只有一个节点。

那么风险其实很高。

所以我开始思考:

除了当前工作。

我有没有建立自己的备用系统?

不是说马上离开公司。

也不是说所有人都应该创业。

而是:

未来的自己。

有没有更多选择?

有没有:

自己的知识资产。

自己的持续输出。

自己的个人影响力。

这些东西短期看不到收益。

但是它们是在为未来建立:

故障转移能力。

第五笔债:身体债

这一笔债,是很多技术人最容易忽略的。

年轻的时候。

我们习惯认为:

身体可以恢复。

熬夜。

加班。

高压力。

都可以扛过去。

但是到了40岁左右。

我越来越意识到:

身体不是普通模块。

它是整个系统的基础设施。

如果底层资源不足。

上层所有功能都会受到影响。

未来十年的竞争。

不仅仅是能力竞争。

也是:

系统稳定性竞争。

03 人生代码审查,不是为了否定过去

当我把这些债列出来的时候。

其实有一瞬间,我也会产生一个想法:

是不是以前走错了?

后来我发现:

不是。

真正优秀的工程师,不会责怪旧代码。

因为他知道:

当年的设计。

一定是在当年的约束条件下做出的最佳选择。

年轻时候追求技术。

没有错。

努力工作。

没有错。

承担责任。

没有错。

这些选择,构成了今天的自己。

代码审查的目的,不是批判过去。

而是:

理解过去。

优化现在。

设计未来。

人生也是一样。

04 40岁以后,我想重新设计自己的人生系统

这也是我开始写《人生 Debug》的原因。

我不是因为已经找到了答案。

恰恰相反。

是因为我也正在寻找答案。

我想记录:

一个40岁程序员,

如何重新检查自己的系统。

哪些地方需要修复。

哪些地方需要升级。

哪些地方需要重新设计。

也许未来某一天回头看。

现在写下的这些文字。

就是这一次人生重构留下的版本记录。


如果你也处在人生某个版本切换阶段。

也许你也可以问自己几个问题:

过去十年。

我真正积累了什么?

哪些能力正在失效?

哪些经验还没有被转化?

我的人生系统。

有没有隐藏的单点故障?

未来十年。

我希望自己成为怎样的人?

这些问题。

不一定马上有答案。

但是:

值得开始一次审查。

因为:

不知道自己欠了什么债。

就不知道未来应该优化哪里。


人生不会因为一次代码审查,就变得完美。

系统也不会因为一次重构,就永远稳定。

但是:

一个愿意持续Debug自己的人。

至少不会一直运行在旧版本里。


我是语霖。

执笔为语,心落成霖。

希望用文字和声音,记录一个40岁程序员重新设计人生系统的过程。

我们下一篇继续聊。


分享这篇文章:

上一篇
你不是不够努力,你是欠了一屁股“人生技术债”