有一段时间,我发现自己遇到一个很奇怪的问题:明明做了很多事情,也解决了很多问题,但是别人好像并没有完全理解我的价值。甚至有时候,我会产生一种错觉——是不是现在的组织,不再需要技术人了?技术能力已经不重要了?年轻人掌握的新技术,正在快速替代过去的经验?
后来我认真想了一下,发现事情可能没有这么简单。问题也许不是我的能力下降了,而是:我和这个世界沟通的方式,可能还停留在过去。
INTERFACE 01 · 程序员最熟悉的东西:接口
作为程序员,我们每天都在和接口打交道。两个系统想要通信,不是靠猜,需要定义协议:输入是什么、输出是什么、参数是什么、返回值是什么。只有双方遵守同一个协议,信息才能正确传递。
如果接口协议不匹配,会发生什么?系统调用失败、数据无法解析、双方无法协作。
后来我发现:人与世界之间,其实也存在一个接口。这个接口,就是:认知接口。
OLD 02 · 我以前的认知接口:只要做好事情,就会被看见
这是很多技术人的默认配置,特别是我们这一代程序员。刚进入行业的时候,这个逻辑非常有效:写出高质量代码,解决复杂问题,保证系统稳定——这些事情,会直接带来反馈。你解决了线上事故,领导会看到;你完成了重要项目,团队会认可。
于是我们慢慢形成了一套认知协议:
这个协议在过去很多年运行良好,于是我们相信:只要持续提升能力,价值自然会被发现。
但是后来,我发现:这个接口开始失效了。不是因为努力没有价值,而是环境变化了。
MISMATCH 03 · 第一次接口失配:技术价值不再自动传输
以前,一个优秀技术人的价值非常容易观察:代码质量、系统稳定性、问题解决速度。这些东西相对明确。但是到了职业中后期,你的价值开始发生变化——你解决的问题越来越复杂,很多价值变成:判断、设计、协调、影响。这些东西不再直接暴露。
比如:你提前发现了一个架构风险,最终系统没有出问题,但是别人可能感受不到你的贡献。你帮助团队避免了一次错误决策,最终什么都没有发生,别人也很难知道你的价值。这时候,如果还使用过去的接口——「我把事情做好,别人自然会看到」——就会出现问题,因为你的价值没有被正确传输。
LANGUAGE 04 · 第二次接口失配:你还是用技术语言描述自己
这是我后来意识到的一个问题。技术人有一个天然习惯:喜欢描述过程——我做了什么、用了什么技术、解决了什么问题。但是组织真正关注的,往往不是这些。他们更关注:为什么做、解决什么问题、创造什么价值。
这其实是两个不同的协议。比如:
「我完成了系统架构升级,引入了新的消息队列方案,提高了系统吞吐能力。」
这是技术语言。但换一个表达:
「通过架构调整,降低核心业务风险,提高系统承载能力,为未来业务增长留下空间。」
这就是业务语言。事情没有变化,但是接口协议变了。信息传输效率完全不同。
IDENTITY 05 · 第三次接口失配:你的身份定义还停留在过去
这是我最近思考比较多的问题。很多技术人,包括我自己,很容易给自己贴一个标签:「我是程序员」。这个标签没有错,但是它可能限制了我们。因为「程序员」这个身份,容易让别人默认:写代码、实现需求、解决 Bug。但是工作十几年之后,你的能力其实已经超过这个范围——你可能理解业务、设计系统、培养新人、推动项目、识别风险。
可是如果你自己都还用「我就是写代码的」,那么别人也很难看到更完整的你。你和世界之间的接口定义,决定了世界如何调用你。
REBUILD 06 · 我开始重新设计自己的认知接口
意识到这个问题之后,我开始尝试做一件事情:重新定义自己。不是我会什么技术,而是我能解决什么问题;不是完成了多少需求,而是创造了什么价值;不是作为一个执行者,而是作为一个系统设计者。
这其实是一种接口升级。
过去:
未来:
UPGRADE 07 · 认知接口升级,不是改变自己,而是重新暴露自己
程序员应该很容易理解这个概念:一个系统升级接口,不是把内部全部推翻,而是调整对外暴露的能力。人生也是一样。过去十年的经历,没有浪费——那些项目、那些问题、那些踩过的坑,都是你的内部能力。但是未来,你需要设计一个新的接口,让这些能力被理解、被连接、被放大。
DIRECTION 08 · 我给自己的下一阶段定义了三个接口升级方向
第一个接口:从技术输出,到认知输出
以前:分享代码、分享技术方案。未来:分享经验、分享方法、分享模型,把解决问题的过程沉淀成别人可以复用的东西。
第二个接口:从内部价值,到外部价值
以前价值主要存在组织内部,未来尝试建立组织之外的连接——写作、输出、交流,让自己的能力不只依赖一个环境。
第三个接口:从执行接口,到设计接口
以前别人给问题,我解决问题;未来主动发现问题、定义问题、设计解决方案。这是职业后半程,需要完成的一次升级。
EPILOGUE 09 · 旧版本的认知接口,已经无法连接新的世界
后来我越来越觉得:40 岁之后,很多技术人的困境,不是能力不够,而是旧版本的认知接口,已经无法连接新的世界。过去那套协议,帮助我们走到了今天,但是未来十年,可能需要升级。
代码需要接口设计,人生同样需要。如果你现在的系统运行正常,但越来越难被理解,也许不是系统出了问题,可能只是你的接口协议,已经到了需要升级的时候。
《人生 Debug》的第三步:不是马上改变自己,而是先重新认识自己,找到那个更适合未来十年的接口。