最近整理自己的工作笔记时,我发现一个很奇怪的现象。过去十几年,我参与过很多项目,解决过很多问题,也积累了很多经验。但如果有人问我:这几年你到底成长了什么?我可能可以讲出很多事情——做过什么项目,用过什么技术,解决过什么故障。可如果让我回答:我的能力到底升级到了哪个版本?相比三年前我有什么不同?我突然发现,自己并没有一个清晰的答案。这让我想到程序开发里的一个概念:版本号。
VERSION 01 · 为什么软件系统需要版本号?
程序员都知道,一个成熟的软件系统,一定会有版本管理。比如 V1.0、V2.0、V3.0。版本号背后的意义,不是简单代表时间,而是代表:这个系统经历了什么变化,新增了什么能力,解决了什么问题,修复了什么缺陷,适配了什么环境。
如果没有版本记录,一个系统运行几年之后,你甚至不知道它为什么变成现在这个样子。
NO-LOG 02 · 我发现,很多人的人生没有版本记录
后来我想到,我们每天都在经历变化,但是很多人没有记录自己的成长版本,包括我自己。过去几年,我明显感觉自己和年轻时已经不一样了:处理问题的方式变了,看待工作的角度变了,对未来的理解也变了。但是这些变化,大部分都没有被记录下来,它们只是隐藏在经历里。
「如果成长没有记录,它很容易被自己忽略。」
UNDERESTIMATE 03 · 没有版本记录的人,很容易低估自己
这是一个很有意思的现象。很多工作十年以上的人,都会产生一种感觉:我好像也没有什么特别厉害的地方。但是如果真的把过去十年的经历展开,可能会发现:曾经不会处理的问题,现在已经可以独立解决;曾经看不懂的业务,现在可以快速理解;曾经需要别人指导的事情,现在可以带新人完成。
其实系统一直在升级,只是没有版本日志。
LOGGING 04 · 程序员为什么喜欢写日志?
因为日志可以帮助我们理解系统。一个线上问题发生时,工程师不会只看结果,会查看:什么时候发生,之前发生了什么变化,哪个版本引入的问题。因为变化记录,决定了问题定位的效率。
人生也是一样。当我们遇到职业困惑时,如果没有自己的成长日志,很容易陷入一种状态:是不是这些年没有进步?但是如果你有记录,可能会发现:不是没有成长,只是成长没有被结构化。
VERSION LOG 05 · 我开始给自己建立「人生版本日志」
后来,我开始尝试记录一些东西。不是流水账,而是记录自己的系统变化。比如:
能力版本
以前,我主要解决具体技术问题;现在,我开始关注系统设计和业务价值。
以前,别人告诉我要做什么;现在,我开始思考为什么做。
思维版本
以前,遇到问题第一反应是解决;现在,我开始分析问题为什么出现。
以前,我关注局部优化;现在,我开始关注整体架构。
价值版本
以前,我认为价值来自完成任务;现在,我认为价值来自创造可迁移的能力。
这些变化,其实就是人生版本升级。
MIDLIFE 06 · 为什么40岁之后,更需要版本意识?
因为人生进入了一个新的阶段。年轻的时候,成长速度很快——换工作、学技术、承担新任务,变化非常明显,所以不需要刻意记录。但是到了40岁左右,外部变化速度越来越快,如果没有主动升级,很容易停留在过去的版本。
就像一个多年没有更新的软件,它可能还能运行,但是安全漏洞越来越多,兼容性越来越差。人生也是一样。
UPGRADE 07 · 版本升级,不意味着否定过去
很多人在面对变化时,会陷入一种误区,觉得升级等于过去不行。其实不是。软件升级不会否定旧版本,V2.0不是说V1.0毫无价值,而是在原有基础上增加新的能力。人生也是如此。
过去十年的经验,是你的基础版本。未来要做的,不是删除过去,而是基于过去,开发新的能力。
GROWTH 08 · 我开始重新定义「成长」
以前我理解成长,是获得更多东西:更多技术、更高职位、更多收入。现在我觉得,成长更像系统升级,包括认知升级、能力升级、表达升级、选择能力升级。
有时候,真正的成长,不是你学会了多少新东西,而是你是否已经不是过去那个版本的自己。
EPILOGUE ∞ · 写在最后
很多40岁左右的人,其实已经拥有大量经验,只是这些经验没有被整理、没有被表达、没有形成新的能力模块。所以未来,我想尝试做一件事情:像维护软件系统一样,维护自己的人生系统。
记录变化,观察反馈,持续迭代。不是为了成为另一个人,而是让现在的自己,继续升级。因为一个长期运行的系统,最重要的不是保持不变,而是知道自己正在变成什么版本。
一个长期运行的系统,最重要的不是保持不变,而是知道自己正在变成什么版本。