目录
1. 先问一个问题
在你继续读这篇文章之前,我请你暂停几秒钟,想一个问题:
过去十年你做过的最艰难的技术决策是什么?
不是”你用过什么框架”,而是:你面对一个没有标准答案的问题,你需要做出选择,而你承担这个选择的后果。
这个问题没有正确答案。这篇文章也不是要给你一个答案。
这篇文章要问的是:那个你用来回答这个问题的能力,叫什么?
2. 什么是判断力
2.1 判断力的定义
判断力(Jugdgment)不是一个常见的职场词汇。我们通常说”能力”、“技能”、“经验”。但判断力,是比这些都更难以量化、也更重要的一种东西。
判断力的构成:
判断力 = 信息 × 经验 × 认知框架
信息:
→ 你知道什么
→ 你掌握多少数据和事实
经验:
→ 你见过多少类似的情况
→ 你踩过多少坑
认知框架:
→ 你用什么方式解读这些信息
→ 你如何权衡不同维度的取舍
一个简单的例子:
问题:应该用微服务还是单体架构?
AI能做的:
→ 告诉你微服务的优势和劣势
→ 告诉你什么时候适合用微服务
→ 给你一堆决策树和评估框架
只有人能做到的:
→ 在信息不完备的情况下,根据你的组织的具体情况
→ 在不知道未来会发生什么的情况下
→ 做出一个"足够好的"选择
→ 并且承担这个选择的后果
2.2 判断力在日常工作中的体现
判断力在程序员日常中的具体体现:
体现一:优先级判断
→ 这个bug紧急吗?还是重要但不紧急?
→ 这个重构值得做吗?代价是什么?
→ 当资源有限、时间有限时,判断"做什么"比"怎么做"更重要
体现二:信任判断
→ 这个方案是这个人在他认知范围内最好的选择吗?
→ 这个新的技术方向值得投入吗?
→ 这个人真的理解了这个系统,还是只是在猜测?
体现三:风险判断
→ 这个决策的长期风险是什么?
→ 如果出了问题,我有没有退路?
→ 这个技术债务,我还能容忍多久?
体现四:时机判断
→ 现在是重构这个模块的时机吗?
→ 我应该现在换工作,还是再等一年?
→ 这个问题值得我去争论,还是不值得?
体现五:人的判断
→ 这个工程师是值得培养的,还是应该让他离开?
→ 这个团队成员说"理解"了,他真的理解了吗?
→ 这个候选人入职后会是什么状态?
3. 判断力是如何形成的
3.1 判断力不是线性增长的
大多数人的直觉是:经验越多,判断力越强。这是对的,但不完全对。
判断力的增长模式:
早期(0-5年):快速增长期
→ 每解决一个新问题,判断力就上一个台阶
→ 很多问题你没见过,所以遇到就是一次学习
→ 成长感很明显
中期(5-15年):平台期
→ 你见过的问题越来越多
→ 但新问题的边际价值在递减
→ 同样的错误,你会犯两次——因为你觉得你不会犯
→ 判断力增长放缓
后期(15年+):取决于你的积累方式
→ 如果只是被动积累(工作年限增加):
→ 判断力可能在原地踏步,甚至下降
→ 如果是主动积累:
→ 判断力可以继续增长,甚至加速
3.2 判断力形成的三个阶段
判断力形成的三个阶段:
阶段一:直觉前的分析
→ 新手:遇到问题,分析问题,解决问题
→ 需要调用意识层面的分析能力
→ 慢,但是可以解释
阶段二:分析后的直觉
→ 中级:遇到问题,快速识别模式,调用过去经验
→ 问题→模式识别→过去的解决方案
→ 快,但有时候会出现"模式误匹配"
阶段三:直觉后的反思
→ 资深:直觉之后,还要问一句:
→ "这个直觉是对的吗?它在什么条件下可能是错的?"
→ 这个元认知能力,是资深工程师和中级工程师的本质区别
3.3 积累判断力的具体方式
积累判断力的几种有效方式:
方式一:事后复盘
→ 不是复盘成功,而是复盘失败
→ 问:"这个决策,回过头来看,正确的是什么地方?"
→ 问:"如果是现在,我会做什么不同的选择?"
→ 复盘不是追责,是学习
方式二:承担后果
→ 判断力只有在承担后果的时候才能真正形成
→ 远远看着一个决策,不如自己做一个决策
→ 小决策→小后果→小学习→大决策→大后果→大学习
方式三:刻意接触复杂问题
→ 判断力来自于复杂性的浸泡
→ 回避复杂问题,判断力不会增长
→ 在可承受范围内,去面对你没有把握的问题
方式四:对话和碰撞
→ 和不同背景的人讨论
→ 不同的认知框架会扩展你的判断维度
→ 一个人的判断力,是他接触过的最复杂的对话的总和
4. 程序员的四层经验价值
4.1 经验不是一条线,是一座塔
程序员的经验价值,不是简单的一条随时间增长的上扬曲线。不同层次的经验,价值不同。
程序员的四层经验:
第一层:执行层(可替代性:高)
→ 写代码
→ 修bug
→ 做测试
→ 写文档
→ AI替代程度:极高
第二层:设计层(可替代性:中)
→ 架构设计
→ 技术选型
→ 系统规划
→ AI替代程度:中等(能辅助但不能完全替代)
第三层:判断层(可替代性:低)
→ 知道做什么比怎么做更重要
→ 在不确定性中做决策
→ 权衡技术、成本、时间、风险
→ AI替代程度:低
第四层:方向层(可替代性:极低)
→ 定义正确的问题
→ 影响技术决策的方向
→ 在模糊的战略和具体的技术之间做桥梁
→ AI替代程度:极低
4.2 每层经验的价值差异
为什么第三层和第四层的经验价值更高:
价值差异的原因:
原因一:稀缺性
→ 第一层和第二层的经验:大多数人可以积累
→ 第三层和第四层的经验:只有少数人有条件积累
→ 稀缺性直接决定价格
原因二:不可传授性
→ 第一层和第二层:可以通过培训传授
→ 第三层和第四层:必须通过经历来形成
→ AI可以教你"怎么做",但无法教你"什么时候用"
→ 这种时机感,只有经历能教会
原因三:杠杆效应
→ 第三层和第四层的判断,影响的是系统性的决策
→ 一个正确的架构判断,可能影响几十人甚至几百人的工作
→ 这就是为什么高级别的工程师,价格是初级工程师的5-10倍
5. 什么是智慧
5.1 智慧不是聪明
在讨论中年程序员的经验价值时,有必要区分两个概念:聪明和智慧。
聪明 vs. 智慧:
聪明:
→ 处理问题的效率
→ 学新东西的速度
→ 分析复杂情况的能力
→ 聪明是可以测试的,可以用IQ衡量
智慧:
→ 知道什么问题是值得解决的
→ 知道什么时候不做什么
→ 知道什么时候放弃,什么时候坚持
→ 智慧是难以测试的,不能被量化的
一个类比:
→ 聪明是:知道最快的路线
→ 智慧是:知道目的地是不是值得去的
另一个类比:
→ 聪明是:解决一个问题的能力
→ 智慧是:知道哪个问题值得被解决
程序员的智慧:
→ 不是你知道多少技术
→ 是你知道什么时候用哪个技术
→ 不是你知道多少最佳实践
→ 是你知道在什么情况下应该打破最佳实践
5.2 程序员需要的智慧类型
程序员需要的三种智慧:
智慧类型一:关于技术的智慧
→ 知道技术的局限
→ 知道"好的"和"合适的"之间的区别
→ 知道技术债务什么时候该还,什么时候可以继续欠着
→ 知道什么时候重构,什么时候重写,什么时候放弃
智慧类型二:关于人的智慧
→ 知道什么时候应该坚持己见,什么时候应该妥协
→ 知道怎么让一个团队往前走,而不只是让他们服从
→ 知道怎么在不说谎的情况下,给出真实的希望
→ 知道什么时候该信任,什么时候该验证
智慧类型三:关于自己的智慧
→ 知道自己的局限
→ 知道什么时候该学习,什么时候该放手
→ 知道什么时候该坚持,什么时候该转变
→ 知道什么对你真正重要
6. 为什么 AI 很难替代判断力
6.1 AI能做什么
在讨论AI和判断力的关系之前,先把事实说清楚。
AI目前真正能做的事情:
能做:
→ 在明确边界的问题上,调用已有的知识和模式
→ 生成代码(基于训练数据中的模式)
→ 解释和分析(基于大量已有案例)
→ 发现模式(在大数据集上)
不能做:
→ 在信息不完备时做判断
→ 承担决策的后果和责任
→ 理解你没有见过的全新情境
→ 知道什么时候不应该使用AI自己
6.2 判断力的核心特征
判断力的三个核心特征,AI目前无法复制:
特征一:后果承载
→ 判断力是在"承担后果"中形成的
→ AI没有后果,所以AI没有真正的判断
→ AI可以给你建议,但它不承担后果
→ 到最后,承担后果的通常还是人
特征二:价值承载
→ 每一个判断背后,都有价值取舍
→ "更快"vs"更稳","现在"vs"未来","用户"vs."团队"
→ 这些取舍,是伦理和价值的判断
→ AI没有价值体系,所以AI无法做真正的价值取舍
特征三:情境完整性
→ 判断力来自于对一个情境的完整感知
→ 你看到的,不只是数据
→ 你看到的是人,是关系,是情绪,是文化,是历史
→ AI看不到这些,所以AI给出的判断往往是不完整的
一个思维实验:
→ AI可以告诉你"应该离婚还是继续婚姻"吗?
→ AI可以给你所有的事实、分析、统计
→ 但最终的决定,必须由你来承担
→ 因为只有你在那个关系里
→ 同样:AI可以给你技术建议
→ 但最终承担后果的,是你
6.3 AI时代的判断力价值
AI时代,判断力变得更值钱,而不是更不值钱:
AI降低了执行成本 → 降低了"怎么做"的成本
→ 提高了"做什么"的相对价值
类比:
→ 计算器发明后,数学家的数量没有减少
→ 反而:会解题的人更值钱了
→ 因为:他们的精力可以放在更高层次的思考上
AI时代同样:
→ AI做了更多执行工作
→ 但判断力——决定做什么、在不确定中做选择——仍然是人
→ 而且,随着AI能做的越来越多
→ "人的判断"在整个价值链中的份额,反而增加了
7. 把经验转化为可传授的东西
7.1 经验 vs. 可传授的经验
大多数程序员的经验,是存在脑子里的默会知识(Tacit Knowledge)。它有效,但它不能被传授。
默会知识 vs. 可传授的知识:
默会知识:
→ 你知道,但你不知道怎么解释
→ 例如:你知道"这个团队现在不能推重构",但你无法解释为什么
→ 它来自经历,但没有经历的人听不懂
可传授的知识:
→ 可以被写下来、被说出来、被教给别人
→ 例如:重构的时机判断框架,不同团队的适配策略
→ 它的可传授性,来自于你已经把它提炼成了显性的形式
从默会知识到可传授知识的转化:
→ 需要主动的提炼
→ 需要反思和总结
→ 需要尝试把它教给别人,看哪里说不清楚
→ 说不清楚的地方,往往是你还没有真正理解的地方
7.2 提炼经验的练习
提炼你的经验的具体练习:
练习一:写三篇文章
→ 写三篇你在某个领域最深洞察的文章
→ 不是教程,不是总结,而是你的"独特见解"
→ 写完之后问自己:有没有第四篇值得写的东西?
→ 如果没有,说明你在这个领域的积累可能已经到达边界
练习二:教一个完全没有背景的人
→ 找一个完全不从事技术工作的朋友
→ 向他/她解释你在做什么
→ 你怎么用他们能理解的语言来解释?
→ 练习把复杂的东西变简单
练习三:每年做一次"我的判断失误"回顾
→ 写下过去一年里,你做错的三个判断
→ 分析:为什么你会做出这个判断?
→ 如果回到过去,你会做什么不同的选择?
→ 这个练习的目的,是把你的判断模式变得更透明
练习四:把你的工作方式写下来
→ 不写代码,而是写你的工作方式
→ 你怎么处理一个复杂问题?
→ 你什么时候做决定,什么时候等待?
→ 你的决策流程是什么?
8. 经验积累的常见陷阱
8.1 经验积累的四个陷阱
陷阱一:相似经验重复
→ 在同一类问题上重复了10年
→ 看起来是10年经验
→ 实际上可能是"1年经验重复了10次"
→ 检验方法:问自己——过去三年,你遇到的最新的问题是什么?
陷阱二:以知道代替理解
→ 你知道微服务的优缺点
→ 但你可能从来没有在一个真实的大型项目上实际做过微服务迁移
→ 知道 ≠ 真正理解
→ 知道的东西,在压力下可能不可靠
陷阱三:以资历代替能力
→ "我做这行15年了" ≠ "我15年的积累都是有价值的"
→ 如果你的15年都是在舒适区里工作
→ 你的判断力可能没有你想象的那么强
陷阱四:以他人经验代替自己经验
→ 读了很多架构设计文章
→ 听了很多技术大会演讲
→ 但这些都是他人的经验
→ 你自己的判断力,必须来自你自己的经历
8.2 如何避免这些陷阱
避免陷阱的方式:
针对陷阱一(相似经验重复):
→ 有意识地寻找新的挑战
→ 主动换项目、换团队、换公司
→ 或者,在现有的工作中寻找"复杂度更高"的模块
针对陷阱二(以知道代替理解):
→ 每年做一件"让你不舒服"的事情
→ 主动承担一些你"知道但没有做过"的事情
→ 把"知道"变成"做到"
针对陷阱三(以资历代替能力):
→ 每两年做一次诚实的自我评估
→ "和两年前相比,我的判断力有实质性的提升吗?"
→ 如果答案是否定的,说明你在舒适区里待太久了
针对陷阱四(以他人经验代替自己经验):
→ 把你读到的、听到的,变成你自己的
→ 方式:做决策、承担后果、复盘
→ 只有经过你自己判断的经历,才是真正的经验
9. 最后:什么才是真正的积累
9.1 这篇文章真正想说的
回到最开始的那个问题:过去十年你做过的最艰难的技术决策是什么?
这个问题的答案,取决于你是怎么回答的。
如果你能立刻说出一个具体的情境,分析出你当时的判断过程、现在回看的反思,以及从中学到的东西——那你的十年是真的积累了东西。
如果你想了很久,发现你的十年好像就是做了一些项目,换了几家公司,知道了很多东西,但没有一个真正成为你的一部分——那这篇文章就是写给你看的。
9.2 什么才是真正的积累
真正的积累 vs. 虚假的积累:
虚假的积累:
→ 工作年限增加了
→ 知道的东西增加了
→ 简历上的项目增加了
→ 工资增加了
真正的积累:
→ 你的判断力提升了
→ 你知道什么重要,什么不重要
→ 你知道什么时候该坚持,什么时候该放弃
→ 你知道什么问题是值得解决的
→ 你有了一套自己对世界的理解
积累的本质:
→ 不是你知道什么
→ 是你用你知道的东西做了什么
→ 是在面对下一个未知时,你的判断是否比上一次更准确
→ 是在面对下一个困难时,你是否比上一次更从容
中年危机最诚实的一个测试:
→ 当你面对一个新问题、新挑战、新机会的时候
→ 你的直觉是"我能行",还是"我害怕"?
→ 如果是前者,那你的积累是真的
→ 如果是后者,问问自己:这十年,我真正积累了什么?
9.3 判断力,是你中年之后最值钱的东西
最后一句话。
判断力是你中年之后最值钱的东西,因为:
一、判断力是AI无法替代的
→ AI可以给你信息,但无法给你决策
→ 决策的后果,只有你承担
二、判断力随时间积累
→ 如果你在主动积累
→ 你的判断力,在45岁之后仍然可以增长
→ 而不是像体力那样更容易随年龄下降
三、判断力可以被传承
→ 你带过的工程师,你影响的决策,你留下的判断框架
→ 这些是你离开之后仍然存在的东西
→ 这是你真正留给这个世界的价值
四、判断力给你自由
→ 当你有了足够强的判断力
→ 你不再依赖某一家公司、某一个职位、某一种技能
→ 你在任何地方,都可以用你的判断力创造价值
→ 这是真正的职业安全感
所以,回到最开始的问题:
过去十年你做过的最艰难的技术决策是什么?
你学到了什么?
你愿意把它传给下一个人吗?
💭 思考题:你过去十年做过的最艰难的技术决策是什么?如果让你把这个决策的经验传给一个刚入行的工程师,你会怎么说?
这是「程序员中年危机」系列的第十七篇。