有些进步在发生的时候很安静。没有新的徽章,没有一条明确的分界线,甚至不会让当天的心情变好。它们只是在下一次遇到相似的问题时,让人少走了一点弯路。
我曾经对着一个上传流程反复排查。错误信息很短,指向却不清楚,改一处以后又出现另一处。那时我只想尽快让页面恢复,记录也写得很潦草。过了一段时间重新打开同一类代码,才发现自己已经会先看请求、再看存储,最后确认前端拿到的数据,而不是一上来就改组件。这个顺序没有出现在某个值得庆祝的瞬间,却确实留下来了。
回头看旧项目时,我经常会遇到这种小变化。以前把配置直接写在代码里,现在会先找环境边界;以前遇到异常就重跑,现在会保存失败样本;以前看到功能列表就想继续加,现在会先问数据能不能恢复。它们都不是漂亮的成长故事,很多时候只是被同一个问题教训过几次以后,终于形成了一点谨慎。
进步也包括知道哪些事情没有进步。某个想法仍然没有做完,一项技术仍然只停留在读过,某个计划又一次被拖延。把这些写下来并不会让结果更好,却能防止回忆把所有年份都修成一条向上的曲线。真实的记录里应该有重复、停顿和重新开始。
我现在会给项目留下几个可以比较的标记:第一次运行用了什么环境,出现过哪些错误,后来哪一个检查变成了固定动作。标记不需要复杂,能让未来的自己看见差异就够了。差异可能很小,例如从“页面打不开”变成“知道先查哪一层”,但它会在问题变大时提供一点抓手。
生活里的进步更难量化。以前遇到一段空白会急着用任务填上,现在可以先吃饭或走路;以前不敢承认不知道,现在会在笔记里写“还需要核对”;以前把休息安排在所有事情之后,现在会给它一个明确的位置。它们不一定让日子更高效,却让人不必一直和自己的节奏对抗。
回头并非为了证明过去的自己已经足够好。过去当然有很多粗糙的选择,今天也还会犯新的错误。回头只是为了看见那些已经变成习惯的部分,提醒自己它们有来处:一次次失败、补记和重新尝试慢慢堆在一起,才留下现在的样子。
有些进步要等到下一次才会被看见。它可能藏在一个更短的排查路径里,一句更诚实的说明里,或者一次没有把时间表塞满的晚上。没有关系。只要它在需要的时候出现,就已经成为生活的一部分。