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

从「救火员」到「系统设计者」:一次转型复盘

有时候我会想:

一个人在公司里,到底怎样才算“有价值”?

以前我的答案很简单。

事情交给我,我能搞定。

别人解决不了的问题,我能解决。

项目卡住了,我能推进。

系统出故障了,我能找到原因。

复杂的问题到了我手里,最后总能落地。

这种能力,我用了很多年。

甚至很长一段时间,我对自己的职业价值感,恰恰就建立在这里。

哪里有问题,哪里就有我。

但到了40岁以后,我开始慢慢意识到:

这可能是一种能力。

也可能是一种陷阱。

因为当一个人越来越擅长救火以后,很容易出现一个结果:

所有的火,最后都会烧到你这里。

而真正的职业成长,也许不是让自己变成一个更厉害的救火员。

而是有一天开始思考:

为什么这个系统需要这么多救火员?


我曾经很享受“别人来找我”

现在回头看,这件事情其实有一点矛盾。

我一方面会抱怨:

为什么什么事情都来找我?

为什么问题最后都要我处理?

为什么很多事情明明不是我的职责,最后还是到了我这里?

但另一方面,当别人真的不来找我的时候,我可能又会产生另一种焦虑:

是不是我已经没那么重要了?

这其实是很多技术人容易掉进去的一个心理循环。

别人找你解决问题。

你觉得自己重要。

事情越来越多。

你越来越累。

然后开始抱怨事情太多。

但当别人不再依赖你的时候,

又开始怀疑自己的价值。

于是你会不自觉地继续证明:

“看,这个问题我能解决。”

“这个事情我来吧。”

“我比较熟。”

“这个系统我最了解。”

慢慢地,你成为了那个最不能离开系统的人。

听起来像是核心人才。

但换一个角度看:

你可能已经成为了系统的单点故障。


我第一次真正意识到这一点,是在一次问题复盘里

那次具体是什么项目,现在已经没有那么重要了。

重要的是那个过程。

问题出现。

大家开始讨论。

有人分析。

有人协调。

最后事情还是到了我这里。

我开始查。

翻资料。

看日志。

找原因。

和相关人员沟通。

然后一点一点把问题处理掉。

最后系统恢复。

从结果来看,这又是一次“成功救火”。

但问题解决之后,我没有马上离开。

我突然开始问自己:

为什么这个问题一定要等到我介入以后才能解决?

如果我下次不在呢?

如果我离开团队呢?

如果以后项目越来越多呢?

难道所有类似的问题,都继续由某一个人来处理?

那这个系统靠什么运行?

靠个人记忆?

靠经验?

靠责任心?

靠加班?

靠“谁遇到问题谁负责”?

如果答案是这些,那它其实并不是一个稳定的系统。

只是一个靠人撑住的系统。


那一天,我第一次觉得“救火成功”也可能是一种失败

这句话我后来想了很久。

因为从个人角度看:

问题解决了,就是成功。

但从系统角度看:

如果同样的问题不断发生,那么每一次成功救火,其实都在掩盖系统设计的问题。

就像一个服务器每天都会因为磁盘空间不足宕机。

每次有人登录进去清理一下日志。

系统恢复。

大家松一口气。

然后第二天继续。

如果一直这样做,我们可以说:

“运维人员响应很快。”

但真正应该问的是:

为什么没有日志轮转?

为什么没有磁盘监控?

为什么没有容量告警?

为什么没有自动清理机制?

为什么每一次都需要人工介入?

这就是我后来越来越喜欢的一个问题:

我们到底是在解决问题,还是在维持问题能够继续存在?


救火解决的是“事件”

系统设计解决的是“模式”

这是我后来慢慢形成的一个区分。

一次线上事故,是事件。

十次类似事故,是模式。

如果每次都只处理事件,你永远都会很忙。

但如果开始研究模式,事情就开始发生变化。

比如:

为什么需求总是在开发过程中变化?

为什么技术方案总是到了开发后期才发现问题?

为什么 Code Review 总是发现低级问题?

为什么供应商交付质量总是不稳定?

为什么同样的问题不断重复?

为什么项目延期以后,总是靠加班补回来?

这些问题单独看,都是一个个具体事件。

但把它们放到一起以后,就会发现:

它们背后其实都有系统性的原因。

这时候,人的角色就开始发生变化。

你不再只是:

“解决这个问题的人。”

而开始变成:

“理解问题为什么产生的人。”

再往前一步:

“设计机制,让问题更少产生的人。”


我开始刻意少给答案

这对我来说,其实挺难的。

因为给答案非常有成就感。

别人问:

“这个问题怎么处理?”

我马上告诉他方案。

事情立刻往前推进。

效率很高。

但后来我发现:

答案解决的是今天。

如果所有答案都必须从我这里出来,那么明天还会有人来问。

所以我开始尝试做另一件事情。

别人来问一个问题时,我会先反问:

“你觉得原因是什么?”

“你已经尝试过什么?”

“这个问题以前发生过吗?”

“如果再发生一次怎么办?”

有时候,对方可能只是需要一个答案。

但有时候,这几个问题反而会把一个更大的问题暴露出来。

这时候我才发现:

真正有价值的帮助,不一定是告诉别人答案。

有时候是帮助别人建立解决问题的能力。


这也是我对“管理”理解发生变化的地方

以前我对管理多少有一点误解。

觉得管理就是:

安排任务。

跟进进度。

检查结果。

处理问题。

协调资源。

后来我越来越觉得:

管理真正重要的部分,是设计系统。

设计规则。

设计流程。

设计边界。

设计反馈。

设计责任。

设计激励。

设计检查机制。

让一个组织不需要每一件事情都靠某一个人推动。

当然,现实里不可能完全靠系统。

人永远很重要。

但如果所有事情都只能依赖某几个“靠谱的人”,那么组织其实是非常脆弱的。

因为人会离职。

会疲惫。

会犯错。

会请假。

会有情绪。

会有自己的生命周期。

所以一个成熟的系统,应该尽量做到:

把人的能力变成系统能力。


我开始重新看待“流程”

以前看到流程,我容易觉得:

是不是太复杂了?

为什么做一个事情要这么多步骤?

能不能直接干?

但后来我发现:

好的流程不是为了增加步骤。

而是为了减少对个人经验的依赖。

一个成熟的技术方案评审流程,不应该依赖某一个专家“刚好看出来”。

一个成熟的 Code Review 机制,不应该依赖某个人“刚好认真看了”。

一个成熟的项目质量体系,也不应该依赖某个负责人每天盯着。

系统真正成熟的标志是:

即使换一个人,事情依然能够按照基本质量要求运行。

这其实和软件工程里的封装非常像。

好的系统不会要求每个调用者都知道内部实现细节。

好的组织也是一样。

不是每个人都需要知道所有东西。

而是:

关键知识和关键规则已经被封装进系统。


我也开始意识到,“个人英雄主义”其实很贵

年轻的时候,我们很容易崇拜英雄。

一个人搞定复杂项目。

一个人解决重大故障。

一个人扛住巨大压力。

一个人把事情从混乱中拉回来。

这种故事听起来很热血。

但如果站在系统角度看,它其实很危险。

因为这意味着:

系统把太多能力集中在一个人身上。

一个人很强。

不代表系统很强。

甚至有时候恰恰相反。

一个人越强,如果系统越依赖他,那么系统越脆弱。

所以现在如果让我重新评价一个技术人的价值,我可能不会只看:

“他解决过多难的问题。”

我会更关心:

他有没有让系统以后少出现一些问题?

他有没有让别人也能够解决问题?

他有没有把经验沉淀下来?

他有没有建立一套可以重复运行的机制?

这些事情没有那么“英雄”。

但它们可能更接近真正的系统能力。


从“我来”到“我们怎么让它不再发生”

这是我自己这几年变化最大的一句话。

以前遇到事情:

“我来。”

现在我会多停一下:

“为什么需要我来?”

如果是紧急问题,该我处理还是处理。

但问题解决以后,我会再问:

“下次还需要我吗?”

如果答案是需要。

那我会继续问:

“能不能让下次不需要我?”

这可能是一个流程。

可能是一个模板。

可能是一套检查清单。

可能是一条自动化规则。

可能是一套监控。

也可能只是把一个过去藏在脑子里的判断标准写下来。

这些东西单独看都很小。

但它们会慢慢改变系统。


我发现自己开始喜欢“没有发生的事情”

这可能是我职业价值观变化以后,一个很有意思的变化。

以前我喜欢那些“解决掉”的问题。

现在我开始喜欢那些:

本来可能发生,但最后没有发生的问题。

一个风险提前被发现。

一次错误在上线之前被拦住。

一个重复问题因为机制改变而消失。

一个新人不需要再问同样的问题。

一个项目因为前置评审而少走了一段弯路。

这些事情没有那么明显。

甚至没人知道它原本可能造成什么损失。

但从系统设计的角度看:

这才是真正的价值。

因为最好的故障处理,有时候就是让故障根本不要发生。


这让我重新理解了“经验”

以前我积累经验的方式,是:

做过多少项目。

处理过多少问题。

踩过多少坑。

认识多少技术。

现在我更愿意把经验分成两层。

第一层:

我知道怎么解决。

第二层:

我知道怎样让这个问题不再重复。

第一层是个人能力。

第二层才开始接近系统能力。

所以我现在越来越想做的一件事情,就是把自己的经验从脑子里拿出来。

写下来。

分类。

沉淀。

建立规则。

建立知识库。

建立检查机制。

甚至尝试用工具把这些东西自动化。

因为只有这样,经验才真正从“我的能力”变成“系统的一部分”。


当然,我现在还是会忍不住救火

我并没有完成什么华丽的转型。

事实上,我现在看到问题,第一反应依然经常是:

“我来看看。”

这十几年的工作习惯,不可能一下子消失。

而且现实工作里,很多时候也确实需要有人站出来。

所以我现在并不是要求自己:

“以后不要救火。”

而是:

救完以后,一定回头看一眼。

这次为什么着火?

有没有第二次?

第三次?

是不是某个机制出了问题?

如果我离开,这件事情还能不能正常运行?

如果答案是否定的,

那真正应该解决的,也许不是眼前这一次火。

而是:

这个系统为什么需要我一直站在这里。


我越来越相信,40岁以后应该开始建立“杠杆”

年轻的时候,我们的杠杆往往来自体力、时间和执行力。

你可以多做。

多学。

多加班。

多承担。

但这些东西终究有上限。

到了40岁以后,我越来越觉得真正值得积累的是另外几种杠杆:

知识的杠杆。

经验的杠杆。

系统的杠杆。

工具的杠杆。

内容的杠杆。

关系的杠杆。

资产的杠杆。

它们共同指向一个变化:

不要只让自己的时间产生价值。

要让过去积累的东西继续产生价值。

一个模板,可以重复使用。

一套流程,可以重复运行。

一篇文章,可以持续被看到。

一个工具,可以持续帮助别人。

一套经验,可以帮助更多人少走弯路。

这时候,你的价值才开始从“时间换结果”慢慢走向“系统产生结果”。


这也是我做“人生 Debug”以后越来越明显的一种感觉

我发现,我现在看自己的生活,也开始不自觉地用这种方式。

以前遇到一个问题:

“为什么我最近状态不好?”

现在会问:

我的睡眠怎么样?

工作负载怎么样?

有没有持续输入?

有没有持续输出?

有没有什么事情一直拖着?

有没有长期没有解决的技术债?

是不是某个系统一直在消耗我的注意力?

以前:

“为什么我总是拖延?”

现在:

“是什么环境让拖延成为了最容易发生的行为?”

以前:

“为什么工作让我这么累?”

现在:

“到底是工作量的问题,还是工作系统的问题?”

慢慢地,我开始发现:

很多所谓的个人问题,其实是系统问题。

如果只批评自己:

“你怎么这么懒。”

“你怎么不能坚持。”

“你怎么执行力这么差。”

可能永远解决不了。

因为你只是给 Bug 换了一个名字。


所以现在,我更愿意问“系统为什么这样运行”

这是我最近越来越习惯的一句话。

工作出了问题。

问系统。

家庭出现摩擦。

问系统。

自己长期拖延。

问系统。

内容没有持续输出。

问系统。

职业越来越焦虑。

也问系统。

当然,人永远需要承担责任。

系统思维不是推卸责任。

恰恰相反。

它要求你承担更高一层的责任:

不仅对结果负责,还要对产生结果的系统负责。

如果同样的问题不断发生,

那就不能永远说:

“这次是某个人的问题。”

也许真正需要改变的是:

规则。

流程。

信息。

环境。

激励。

边界。

或者整个运行方式。


我现在还没有成为一个真正的“系统设计者”

这个标题听起来,好像已经完成了一次职业升级。

其实没有。

我只是开始意识到:

我不想永远做那个最后冲进火场的人。

我还是会解决问题。

还是会处理事故。

还是会面对混乱。

只是现在,我越来越希望:

每扑灭一次火,

都能给系统留下一点东西。

一个规则。

一个检查项。

一个工具。

一个文档。

一个指标。

一次流程优化。

或者至少,

一个被记录下来的教训。

这样下一次火再来的时候,

系统就应该比上一次多一点准备。

也许这才是我理解的“成长”。

不是自己越来越忙。

而是:

自己做过的事情,开始慢慢变成系统的一部分。


最后,我想给自己留一句话

如果未来还有人问我:

“你现在到底是在做什么?”

我可能不会急着回答职位。

也不会急着回答某个具体的职业标签。

我更愿意说:

我正在从一个不断解决问题的人,慢慢变成一个设计问题解决方式的人。

以前,我的价值是:

“这个问题我能搞定。”

现在,我更希望自己的价值变成:

“这个问题,我们能不能设计一个系统,让它以后更少发生?”

这两个答案之间,

隔着的不是一个职位。

而是一种完全不同的思维方式。

也是我40岁以后,正在进行的一次职业重构。

我还在学习。

还在犯错。

还会救火。

还会回到具体问题里。

但我希望自己最终能够站得稍微远一点。

看见火。

也看见整栋楼。

看见问题。

也看见系统。

看见今天。

也看见下一次。

然后一点一点,

把那些原本只能靠人扛住的事情,

变成系统可以承担的事情。

从救火员,到系统设计者。

也许这不是一次职位上的转型。

而是一次看问题方式的升级。

而这次升级,

我还在路上。

我是语霖。

执笔为语,心落成霖。

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

我们下期接着聊。


分享这篇文章:

上一篇
一次真实的「人生灰度发布」,我是怎么做的
下一篇
35岁裸辞做自媒体,他经历了什么