← 返回目录


隐性专业知识提取:软件工程实践

学校≠教育≠技能;文凭溢价=80%信号传递+20%人力资本

93 👍 / 2 💬

此为隐性知识系列[1]第 8 篇文章,你可在此阅读第 7 部分[2]

距离我们上次探讨隐性知识已有时日,现简要回顾核心要点:

RPD 模型的运作机制如下:

在继续阅读前,我强烈建议先了解 RPD 模型的相关章节[5],以掌握其对专家直觉本质的阐释。

我在前文中曾写道:

RPD 模型最显著的启示在于,它为我们提供了实施认知任务分析的方法论基础。这意味着我们终于有机会解码资深程序员的思维过程。
NDM 研究者在访谈专家时,总会聚焦于其经历过的「疑难案例」,以此探查他们头脑中基于模式识别的决策过程。具体而言,认知任务分析师会先梳理案例的时间线,然后通过提问挖掘以下要素:
- 最先捕捉到哪些关键信号?
- 在当时情境下,他们预判接下来会发生什么?(预期)
- 决策时遵循哪些优先级(目标)?
- 脑海中立即浮现哪些应对方案?
正是这四个维度的衍生信息,构成了提取实践者隐性知识的关键路径。

问题出在哪儿?实际上我从未在实践中测试过这种方法 —— 至少没有严格测试过,没有持续几个月的测试,而要真正掌握某项技能,这几个月的测试其实是最基本的要求。这意味着我从未真正理解这种方法;我卡在了自己定义的「实践证据金字塔」 中最底层的「个人生活实践」 阶段。

这也导致我无法真正向你们传授如何运用这些理念,因为我尚未吃透实践中的所有细微差别。

但现在就不一样了。

几周前,我得知 Stephen Zerfas 在 2020 年读过 Commoncog 的隐性知识系列文章,并曾在「由比我资深 10 年的软件工程师组成的攻坚小组(老虎团队)」中,用 RPD 模型加速提升自己的技能

我向他问了几个问题。以下是他的回答。


Stephen Zerfas 运用 RPD 的实践经验

所有回答均来自 Stephen Zerfas(2024 年 2 月 4 日)

你能否做个自我介绍,并描述你开始使用这一方法时的背景?可以谈谈你在这个过程中的目标,比如你是否在尝试提升某项特定技能?

我是 Jhourney 的联合创始人,这是一家冥想-脑机接口(BCI)初创公司,我们开发的工具能让人以创纪录的速度掌握改变生命的冥想状态(有人称之为「无需药物的 MDMA 体验」)。传统认知中,这种状态需要数百小时练习才能达到。但我们相信,通过生物反馈技术,10 小时内即可掌握。在研发过程中,我们发现 65-90% 的初学者在没有技术辅助的短期静修中就能进入这种状态。用户评价极为热烈,净推荐值高达 80%。感兴趣的话,欢迎参加我们的静修活动!我们正扩大静修规模以筹集研发资金,后续将逐步叠加技术方案。(如后文所述,RPD 模型在此领域也显现奇效)

我早先是一名管理顾问,后来通过编程训练营转型成为 Lyft 的软件工程师。这两段经历都让我对认知任务分析(CTA)产生兴趣。做咨询时,我收集各种效率技巧将工作时间压缩了 40%,重获工作生活平衡;自学编程期间,则搜集「学习如何学习」的方法,争取在积蓄耗尽前找到工作。部分方法我曾用笔名发表在此处

2020 年初读到 Cedric 的「隐性知识」系列时,我正苦于无法快速吸收软件工程同事的经验。当时我刚获晋升,在裁员后承担了更多职责,同时还在业余时间进修计算机科学课程。同事们都比我资深十年以上,我急需加速汲取他们的专业知识!

棘手之处在于,同事们的帮助方式常常让我摸不着头脑。他们会直接给出答案却不解释思考过程,导致我只能获得零散知识点,下次仍难以独立解决问题。

「识别启动决策模型(RPD)」正是我需要的工具。它帮助我挖掘同事们的决策逻辑。后来在转型业余神经科技专家时,我又用 RPD 方法访谈神经科学专家和导师。这套方法不仅助力我完成 Jhourney 的概念验证编码,更关键的是 —— 教会我何时应该质疑专家意见。

你提问时的总体方法是什么?

在运用 RPD 模型之前,我基本上只会机械地反复追问「为什么」。这种方法有时奏效,但存在诸多局限:

RPD 模型为我提供了结构化框架,通过聚焦以下三要素实现高效提问: 1)关键信号捕捉,2)情境预期判断,3)备选行动方案(实践中我发现很少需要深挖第四要素 —— 优先级判断)

这个方法还帮助我设定了对话预期。有次我甚至给技术主管发了备忘录,概要说明 RPD 模型并附上 Cedric 的文章链接,这样未来我们就能用共同语言进行技术探讨。

能分享一个通过这种提问获得提升的具体案例吗?

记忆有些模糊了,但我记得在尝试将 Python 包从 AMD 处理器迁移到 ARM 架构时,遇到了一段完全看不懂的堆栈追踪。其中特别引人注目的是两个看似无关的字符:'-v' 。

我拿着这段代码请教同事,并特意按照 RPD 框架询问他的预期判断和解决方案。他立刻回应:「噢!我打赌他们项目早期忘记加 '-v' 命令,最近才更新,导致你现在运行的软件版本出现不一致。估计改一行代码就能解决,查下更新日志就能定位。」

这个判断本身就很神奇,但更绝的是当我乖乖打开更新日志却一无所获时,他毫不犹豫地说:「这肯定是日志遗漏。有些项目会维护多个更新日志,我赌他们漏记在这个里了,你再找找别的日志。」虽然我从没听说过多个更新日志这回事,但事实证明他完全正确 —— 不仅找到了隐藏的第二份日志,还确认了正是近期添加的 '-v' 命令导致的问题,解决方案确实只需修改一行代码。

「您到底凭什么这么笃定是项目日志出错,而不是我们的猜测有问题?」我追问(这是在探查他捕捉的关键信号和预期判断)。他轻描淡写地说 '-v' 是通用符号。当我继续问「您是否考虑过其他可能性?为什么排除?」时,他表示这次确实没多想 —— 虽然可能存在特殊状况,但优先排查更新日志肯定是正确方向。

在资深工程师耳中,我的困惑和提问或许很稚嫩。但这次经历让我意识到:某些命名规范的普适性远超我的认知。我特别记下未来可以利用这类规范作为问题线索和解决思路的切入点。

这个过程有哪些让您意外的发现?哪些环节容易?哪些困难?

最让我惊讶的是——RPD 竟然如此简单易用!虽然 Cedric 说这个模型可能抽象难懂,但我发现它既优雅又具体。

真正困难的或许是像掌握任何抽象概念一样,RPD 需要练习、反思和一点创造力才能运用娴熟。比如我问了五十多次「您会考虑哪些替代方案?」之后才意识到,通常应该继续追问几轮「还有呢?」直到对方穷尽答案。Naval 在某期播客里和 Matt Mochary 讨论过,最后几个「还有呢?」的答案往往最有价值。

我怀疑 RPD 被认为难用,或许只因它确实需要反复实践。如果隐性专业知识本质上只是用于模式匹配的经验集合,那么 RPD 最多只能帮你更快获取这些经验。

但 RPD 带给我的意外收获,后来证明比快速获取专业知识更重要——它赋予了我「合理质疑」的权利

这个意外收获究竟是什么?就是它教会我何时可以合理质疑。是否应该质疑他人,往往取决于专业水平的相对差距。向真正专家学习时,解决困惑最有效的方式通常是假设专家正确——通过提问澄清、记忆理解他们的观点。但与同行探讨时,你们需要碰撞出最佳方案,而这就必须允许质疑。科学方法追求证伪而非证实,要么提出替代方案,要么让观点相互较量——如果你假设某人绝对正确,这些就无从谈起。

当我辞去软件工程师工作创办 Jhourney 时,判断何时可以质疑变得至关重要。我在探索是否该投入数年光阴和半数积蓄,去做一件前无古人的事。如此离经叛道的选择,注定要反对许多比我专业的人士。RPD 帮我分辨何时该坚持己见,何时该从善如流。

我用约一年时间研读文献、请教专家,评估项目可行性。当专家明显在运用丰富的模式匹配经验时,我就开启「学生模式」,所有提问都旨在理解他们的思维路径,避免重蹈覆辙。但当发现对方其实也在摸索推理时,我就明白自己基于第一性原理的思考同样重要——这时所有追问都变成检验我的思维模型是否比对方的更合理,或者发掘他们未曾考虑的视角。

如果仅仅因为对方是专家就全盘接受,Jhourney 可能永远停留在构想阶段。多么珍贵的启示啊!人生最大的遗憾往往来自未曾尝试,我感激「质疑的权利」让我得以追逐梦想。

如果要给想借鉴这个方法的新手工程师提建议,您会提醒他们注意什么?

第一,RPD 可能会让你收获一堆零散的经验碎片,缺乏理论框架串联。我建议搭配以下工具让这些碎片产生化学反应:

第二,若追求极致学习速度,培养「游戏化好奇心」比掌握RPD更重要。传统认知总把好奇心当作既定事实,但通过冥想、反思和刻意练习的组合,好奇心的强度和方向都可以被重塑。终极学习秘诀是:先让自己对他人有价值的事物产生极致好奇,然后像追飞盘的狗狗一样全情投入。

当你能管理好自己的好奇心,Paul Graham 建议:学习时要养成「为他人创造有价值的东西」 的习惯,且保持玩趣心态,而非单纯消费内容。我深有共鸣——相比被动吸收,主动创造能让学习过程中的动力、目标和反馈增强十倍。

关于 Stephen Zerfas 的更多信息

Stephen Zerfas 是 Jhourney 的创始人,这家初创公司致力于教授人们进入「改变人生」的冥想状态——这种状态常被形容为「无需药物的 MDMA 体验」。他们的首个产品是一个现代化的为期一周的冥想静修项目,已经成功吸引了包括 OpenAI、DeepMind 等顶尖科技公司的高管成为天使投资人和回头客。Jhourney 还收集了全球范围内关于这些冥想状态的最大规模生物传感器数据集,并计划开发如生物反馈等技术工具,力求在 10 小时内教会人们掌握这种状态。您可以在这里观看 90 秒的震撼用户见证视频。以下是相关链接:Jhourney 官方网站Jhourney 播客Stephen 的 Twitter 账号即将举办的静修活动。使用优惠码 COMMONCOG 可享受 100 美元折扣。

观察总结

从 Stephen 的回答中,有三点让我印象深刻:

  1. 穷尽式追问法的价值 —— 不断询问替代方案直到专家词穷,这个技巧实在太妙了。这也完美印证了「实践出真知」:仅靠阅读永远无法获得这样的洞见。

  2. 目标优先级的意外缺席!Stephen 发现询问目标优先级清单并不重要(或许有其他方式能触及这些优先级?可惜我目前缺乏实践场景验证,只能暂且记下这个观察)。

  3. 理论框架的不可替代性 —— 即便 RPD 如此强大,但从专家头脑中提取的这些固化知识,终究无法替代该领域自洽的理论体系。

我仍有更多疑问,但受限于当前实践领域无法深入。希望 Stephen 的答案能激发你的实验灵感 —— 若有所发现,请务必分享给我!就个人而言,我已摩拳擦掌准备尝试几个新想法,迫不及待想找个场景亲自验证了。

愿探索顺利。


上一篇:

商业专业知识的隐性心智模型提取 - 知乎
Thoughts Memo 汉化组译制
感谢主要译者 Spade7 校对 Jarrett Ye
原文:Tacit Expertise Extraction, Software Engineering Edition - Commoncog
作者:Cedric Chin
本文最初发布于 2024 年 2 月 20 日,最后更新于 2024 年 2 月 20 日。

参考

1. 隐性知识系列 ./1926283046446937604.html
2. 商业专业知识的隐性心智模型提取 ./1917895473903171484.html
3. 为什么隐性知识比刻意练习更重要 ./1889973887506297083.html
4. 提取隐性知识的一种更简单的方法 ./1900127782547198115.html
5. 更有效的模仿:如何习得专家的隐性知识 ./1890422862998926509.html

专栏:Cedric Chin


← 返回目录