作为一个程序员,我过去很习惯用一种方式解决问题:发现问题,分析原因,然后想办法把它解决掉。
如果系统出了故障,就排查日志;如果方案存在缺陷,就重新设计;如果任务太复杂,就拆分步骤,一项一项完成。
遇到问题,就想办法解决。这几乎成了我的本能。
但后来我发现,这种习惯也悄悄影响了我处理人生问题的方式。
工作压力大,就告诉自己再坚持一下;职业发展遇到瓶颈,就想着再提升一点能力;对未来感到不安,就安排更多学习计划,尝试掌握更多技术。
好像只要自己足够努力、足够能扛,眼前的问题最终就会过去。
有时候,这种方式确实有效。
我也正是靠着一次次解决问题、完成任务,走过了职业发展的许多阶段。
但到了40岁,我开始重新思考一个问题:
如果一件事情只能依靠自己不断地扛下去才能维持,那么问题究竟出在自己的能力上,还是出在事情本身的设计上?
这是两个完全不同的问题。
一个指向个人的努力程度,另一个指向整个系统的运行方式。
而我过去,可能把太多本来应该通过设计解决的问题,都交给了自己的意志力。
一、我们为什么习惯用”扛”来解决问题?
在程序员的职业生涯里,救火是一种很常见的工作状态。
系统出了问题,需要有人排查;项目进度落后,需要有人加班;方案存在缺陷,需要有人协调各方补救。
很多时候,事情确实需要有人站出来承担责任。
当问题紧急、资源有限时,先把事情处理好,本身没有错。
但如果每次遇到问题,我们都只是想办法扛过去,就可能忽略一个更重要的问题:
为什么类似的问题总是反复发生?
一个系统频繁出现故障,如果每次都依靠工程师通宵排查,短期看,问题解决了;长期看,系统的可靠性可能并没有提高。
一个项目总是依靠最后阶段集中加班才能按期交付,如果每次都把加班当成解决方案,那么项目管理、需求控制和风险预警的问题,就可能一直得不到处理。
人生也一样。
当工作长期挤占个人时间,我们可能选择减少休息,牺牲运动,把陪伴家人的时间往后推。
当职业发展停滞,我们可能选择继续学习,不断提高自己的技术能力,希望通过更努力的工作获得认可。
当对未来缺乏安全感,我们可能不断增加任务,让自己保持忙碌,以此获得一种正在前进的感觉。
这些做法不一定没有价值。
问题在于,如果我们只调整自己的投入,却不调整事情的运行方式,最终可能形成一个循环:
问题出现,自己承担;暂时解决,继续运行;问题再次出现,自己继续承担。
久而久之,整个系统看起来仍然正常,但维持正常运行的成本,却越来越高。
我开始意识到,自己有时候并不是在解决问题,而是在用个人的时间、精力和情绪,弥补系统设计中的缺陷。
一个人能够扛住问题,不代表这个问题就应该由他一直扛下去。
二、“扛”和”设计”,本质上有什么区别?
我现在会把这两种方式区分开来。
“扛”,是问题出现之后,依靠自己的额外投入,让系统继续运行。
“设计”,则是在问题出现之前,或者问题反复出现之后,重新安排条件、规则和资源,让事情不必每次都依赖同样的额外投入。
举个工作中的例子。
如果一个技术治理项目总是在交付前暴露大量问题,最直接的做法,是增加评审次数、投入更多人力,在最后阶段集中整改。
这是一种补救方式。
它有时不可避免,但如果长期依赖它,成本就会越来越高。
另一种做法,是提前明确技术方案评审标准,把关键架构风险放到设计阶段识别,将代码评审和测试要求嵌入交付流程,并为高风险问题设置明确的整改和复核机制。
前一种方式,更多依赖人在问题出现后投入额外精力。
后一种方式,则试图通过流程和机制,让问题更早被发现,减少后期补救的成本。
两种方式并不是非此即彼。
紧急故障需要处理,重要任务需要承担,复杂问题也不可能全部提前预测。
但如果同类问题不断出现,就值得问一句:有没有可能改变它发生的条件,而不是每次都提高自己的承受能力?
这个区别放到个人生活中,同样成立。
| 遇到的问题 | 习惯性的”扛” | 更值得尝试的”设计” |
|---|---|---|
| 工作长期加班 | 延长工作时间,把任务全部做完 | 识别低价值任务,明确优先级,提前暴露资源和进度风险 |
| 职业发展遇到瓶颈 | 继续堆积技术知识和工作量 | 分析市场需求,重新定位可迁移能力,验证新的价值出口 |
| 个人成长难以坚持 | 反复制定更严格的计划 | 降低启动成本,让行动适应真实的时间和精力 |
| 收入来源过于单一 | 更加努力地保住当前岗位 | 在不破坏现金流的前提下,逐步验证其他收入可能性 |
| 长期缺乏休息 | 告诉自己忙完这一阵再休息 | 为休息和家庭时间设置实际边界,重新安排工作方式 |
我并不是说,只要经过设计,所有问题都能轻松解决。
现实中存在很多我们无法控制的因素。
组织可能不接受调整,资源可能不足,市场可能发生变化,家庭也可能突然出现新的需求。
设计的价值,不是消除一切困难,而是让我们在行动之前,多一次重新选择的机会。
不再默认所有问题都必须由自己承担,也不再把个人的忍耐力当成唯一可用的解决方案。
三、为什么越有能力的人,有时候越容易陷入”扛”的模式?
这是我后来觉得很值得警惕的一件事。
一个人如果能力不足,遇到问题时,可能会明确意识到自己需要帮助。
但如果一个人长期擅长解决问题,他反而容易形成另一种习惯:只要问题出现,就先自己想办法。
因为过去的经验不断告诉他,这样做是有效的。
项目出现风险,可以靠加班补上。
遇到复杂问题,可以靠学习解决。
别人推进不动的事情,可以靠自己协调。
时间不够,可以牺牲休息。
一次次成功的经历,会让我们逐渐相信,只要自己足够努力,问题就总能被解决。
从短期来看,这种能力很有价值。
但从长期来看,它也可能带来三个问题。
1. 个人能力,变成了系统的隐性补丁
当一个人总能在关键时刻把事情救回来,组织就可能逐渐习惯依赖他。
需求不清楚,可以让他协调;流程不完善,可以让他补充;其他环节出现问题,可以让他兜底。
时间久了,原本应该由流程、职责和资源配置解决的问题,都可能集中到一个人身上。
这并不一定是组织有意为之,而是因为每次出现问题时,最容易的办法就是继续依赖那个能够解决问题的人。
结果是,这个人越有能力,承担的额外责任可能越多。
但这些额外投入,并不一定能转化为相应的成长、回报或决策权。
有时候,他只是让一个存在缺陷的系统继续运转。
2. 习惯解决眼前的问题,却没有时间设计未来
当所有时间都用来处理紧急任务,长期建设就会不断被推迟。
我们没有时间梳理反复出现的问题,没有时间沉淀经验,也没有时间探索新的方向。
每天都很忙,每件事似乎都很重要。
但一年过去,除了完成大量工作,自己真正积累了什么,却很难说清楚。
这也是我开始重新审视自己工作方式的原因。
对于一个长期从事技术治理的人来说,如果每天都在处理具体问题,却没有时间把经验沉淀成标准、工具和机制,那么很多工作就可能一直停留在重复劳动的层面。
解决一个问题当然有价值。
但如果能够通过一次设计,减少后续十次类似的问题,那么这次设计可能产生更长期的价值。
3. 把”能坚持”误认为”应该坚持”
还有一种更隐蔽的情况。
因为自己能够承受,所以就认为自己应该继续承受。
工作没有意义,但还能做,就继续做。
关系让人疲惫,但不愿意改变,就继续维持。
计划已经不适合现在的生活,但因为投入过时间,就不愿意放弃。
我们很容易把坚持当成一种美德,却忘了坚持本身也需要判断。
有些事情值得坚持,因为它们虽然困难,却仍然指向重要的目标。
有些事情需要调整,因为原来的方式已经无法持续。
还有些事情应该停止,因为继续投入只是在扩大损失。
成熟并不是拥有无限的忍耐力,而是能够判断:什么值得承担,什么需要重新设计,什么已经没有必要继续。
四、到了40岁,我开始重新审视自己的决策方式
40岁这个阶段,有一个很明显的变化。
我们通常已经积累了不少经验,也承担着更多责任。
工作、家庭、孩子、健康和未来规划,都需要占用时间与精力。
很多时候,我们不是不知道问题在哪里,而是觉得自己没有条件改变。
例如,明明知道当前工作存在局限,但家庭需要稳定的收入,不能说走就走。
明明希望发展新的方向,但每天的工作已经消耗了大量精力,真正留给自己的时间并不多。
明明想改善生活状态,却发现每件事都有理由推迟。
这时候,如果继续给自己增加要求,未必能够解决问题。
我需要先承认现实约束,再思考如何在这些约束下重新设计行动方式。
比如,面对职业发展的不确定性,我不必立即辞职,也不必强迫自己在短时间内找到人生方向。
我可以保留当前工作带来的现金流,同时把一部分可支配时间,用于写作、研究用户需求、尝试开发小工具。
这些尝试未必马上产生收入,但可以帮助我验证新的可能性。
面对时间不足的问题,我也不必一开始就设计一套复杂的时间管理系统。
我可以先观察,究竟是什么占用了自己的时间,哪些事情确实重要,哪些事情只是因为长期习惯而一直在做。
面对个人成长的问题,我也不必要求自己每天完成大量任务。
与其制定一个理想状态下才能执行的计划,不如找到一种在普通工作日也能维持的节奏。
这些变化看起来都不大。
但它们有一个共同点:不再只是要求自己付出更多,而是尝试改变事情发生和持续运行的方式。
当现实条件暂时无法改变时,我们仍然可以重新设计自己与现实之间的关系。
这不意味着逃避责任。
恰恰相反,它要求我们更加清楚地认识自己的责任边界、资源限制和行动后果。
不是所有事情都能由我们决定,但我们可以努力把有限的精力用在真正能够影响结果的地方。
五、给自己的决策做一次”架构审查”
后来,我开始尝试用一种更具体的方式,重新审视那些需要长期承担的问题。
当我发现自己又在反复处理某件事时,不急着立刻增加投入,而是先问自己几个问题。
第一个问题:这件事为什么总是需要我来扛?
是因为事情本身就需要我承担责任,还是因为职责不清、流程缺失、沟通不到位?
是因为目前确实没有更好的解决方案,还是因为我习惯了自己处理,根本没有尝试过其他方式?
这个问题不是为了推卸责任,而是为了区分哪些问题属于自己的职责,哪些问题来自系统设计。
如果一个问题长期重复出现,却从来没有被认真分析过根因,那么增加个人投入可能只是暂时缓解症状。
第二个问题:有没有办法,让同类问题下一次更容易解决?
有些问题可以通过建立标准减少重复判断。
有些问题可以通过提前沟通,避免在最后阶段集中爆发。
有些问题可以通过工具自动化,减少机械劳动。
还有些问题需要重新划分责任,明确哪些事情应该由谁决定、谁执行、谁承担结果。
并不是所有问题都能自动化,也不是所有流程都值得标准化。
关键是找到真正反复消耗自己的部分,看看有没有更合理的处理方式。
第三个问题:这次投入,能留下什么?
如果我花了三个小时解决一个问题,问题解决了,事情结束了,那么这三个小时的价值就主要体现在这次结果中。
如果我还能把问题的根因、判断过程和有效方法记录下来,下一次遇到类似问题时,就可能节省时间。
如果这个问题在团队里反复发生,我还可以考虑推动形成检查清单、评审标准或自动化工具。
这样,投入就不只是消耗,也有机会转化为长期积累。
当然,不是所有事情都需要留下文档。
对于低频、简单的问题,直接解决可能更划算。
真正需要沉淀的,是那些重复出现、影响较大,或者值得在未来继续使用的经验。
第四个问题:如果继续这样做一年,我愿意接受结果吗?
这是我觉得最重要的一个问题。
很多决策在短期内看起来没有问题。
多加一次班,似乎可以解决进度问题。
多承担一点责任,似乎可以让项目更顺利。
再推迟一段时间自己的计划,似乎也不会造成太大影响。
但如果把时间拉长到一年,甚至三年,我们可能会看到不同的结果。
如果继续以牺牲健康为代价维持工作节奏,我是否愿意接受未来的身体状态?
如果所有收入仍然依赖同一份工作,我是否愿意接受这种风险?
如果每个晚上都被工作和琐事填满,我是否还能做那些自己真正想做的事情?
这个问题能够帮助我把注意力从眼前的任务,重新拉回长期的生活目标。
它并不意味着所有短期牺牲都不值得。
有些阶段确实需要集中投入。
但我们应该知道,自己正在付出什么,又希望换回什么,而不是因为事情一直如此,就默认它应该永远如此。
六、不是所有问题都值得重新设计
写到这里,也需要说明另一面。
如果把所有问题都当成系统设计问题,我们也可能走向另一个极端。
每天花大量时间分析流程、设计机制、优化方法,最后反而没有时间做真正重要的事情。
有些事情,直接行动就够了。
一个简单的问题,不必建立复杂的管理体系。
一次临时故障,不必马上启动全面重构。
一段关系出现小摩擦,也不一定需要制定一套沟通规则。
设计本身有成本。
当问题简单、发生频率低、影响范围有限时,直接解决往往更有效。
只有当某个问题反复出现,代价持续累积,或者它对长期生活产生明显影响时,才更值得考虑从系统层面调整。
同样,有些事情即使经过设计,也仍然需要承担一定的成本。
养育孩子需要时间,维护身体需要长期投入,建立新的职业能力需要学习,经营一段重要的关系也需要付出。
这些不是设计得更好就能完全消除的负担。
它们是我们主动选择承担的责任。
因此,我现在更愿意区分两件事:
值得承担的成本,要有意识地承担;可以通过设计减少的消耗,就不必长期依靠硬扛。
这可能是我对努力这件事的一次重新理解。
努力依然重要。
责任依然重要。
但努力不应该成为拒绝思考的理由,责任也不意味着必须无限扩大自己的承受范围。
写在最后
回头看过去这些年的工作和生活,我发现自己并不是一个害怕承担责任的人。
遇到问题,我通常愿意想办法解决。
需要投入时间,我也能够坚持一段时间。
但到了40岁,我越来越想知道,除了继续承担,我还能不能找到更好的方式。
如果一件事情每年都在重复发生,能不能从根因上改变它?
如果一种生活方式让我长期疲惫,能不能重新安排自己的时间和精力?
如果一份工作承担了自己大部分的收入责任,能不能在不破坏现有生活的前提下,逐步建立新的可能性?
这些问题没有统一答案。
有些问题能够通过设计改善,有些问题需要通过沟通解决,有些问题需要等待条件成熟,还有些问题只能在接受现实约束的同时,慢慢寻找出路。
但至少,我不想再把所有问题都归结为自己还不够努力。
因为一个人最宝贵的资源,不只是能力,还有时间、精力和选择的空间。
如果我把这些资源全部用来弥补重复出现的缺陷,就很难再有余力去建设自己真正想要的生活。
我希望自己接下来的成长,不只是变得更能干、更能扛,而是逐渐学会识别问题、设计解决方案,并且知道什么时候应该继续坚持,什么时候应该调整方式。
强健的体魄,需要长期维护,而不是等身体发出警报后再靠意志力补救。
稳定的财富,需要逐步积累和合理安排,而不是把所有希望寄托在一次职业机会里。
充足的时间,需要主动留出空间,而不是永远等待忙完之后再开始生活。
这些事情,都不可能靠一次努力彻底完成。
它们需要的是持续而合理的设计,也需要我们在现实中不断调整。
真正的成长,不只是让自己有能力扛住更多问题,而是逐渐减少那些本来不必由自己一直扛着的问题。
如果今天有一件事,让你觉得自己已经扛了很久,不妨先停下来问问自己:
我是真的需要再努力一点,还是应该换一种方式?
也许,下一次进步,并不来自你又多坚持了一个晚上。
而是来自你终于决定,不再用同一种方式,解决同一个问题。
我是语霖,执笔为语,心落成霖。
希望用文字和声音,记录一个40岁程序员重新设计人生系统的过程。
我们下期接着聊。