FDE Times 数据在招 FDE 职位 838▼55 近 7 天在招职位数的变化(同口径比较):不计入本周新开始追踪的公司的职位近 7 天新增 66在招公司 169支持远程 24%美国薪资中位数 $200k招聘最多 Palantir 95
ENVI

前线部署工程师(FDE)的专业媒体

技能指南 · 指南

客户 CTO 否决你的 AI 设计时,别急着再解释一遍

反对意见背后往往藏着你还没听到的约束,问对问题比再解释一轮更快化解分歧。

分享微博

要点速览

  • CTO 提出反对时,先问自己对方是否说得对;如果对,就直接承认并立即修改,不要承诺“以后再改”。
  • 如果某一点确实存在争议,就别再争论方向,把它记为待决问题,转而讨论背后的理由。
  • 反复讲技术论据很少能化解反对意见;在 Kepler,一个小小的查看器就解开了一名工程师卡了约一年的数据迁移。
一棵包含两个问题的决策树。第一个问题:这条反对意见有争议吗?如果没有,立即接受,并定好发送修订版的日期。如果有,接着问:这是运维方面的顾虑吗?如果是,询问客户已在使用的基础设施;如果不是,就是真正的设计分歧:记为待决问题,并呈现两种方案。最后这一分支以橙色突出显示。
咨询会上处理 CTO 反对意见的三种方式。对于真正的分歧,应记为待决问题,等客户团队一起评审时再定,而不是在会上争个结果。来源:文中引用的 Refactoring English 关于设计文档反馈的指南。

设想这样一个场景:你讲到第四页幻灯片,AI 助手的架构图刚刚出现,客户的 CTO 打断你:“为什么还要再加一个向量数据库?我的团队没人运维过这东西。”多数工程师的本能反应是再解释一遍,讲得更细,摆出更多数字。

咨询会往往就是从这一刻开始走偏的。对面的人并不需要你更有说服力。他们是在告诉你一个架构图没有考虑到的约束。

对前线部署工程师(FDE)来说,这种会议比表面上更重要。First Round Review 在一篇讲招聘 FDE 的文章里,把驻场、与客户共处视为这一岗位的核心。你在现场,恰恰是为了听到这类约束,而不是为自己的幻灯片辩护。

把反对意见当作信息,而不是攻击

Google 关于代码评审中如何应对反对意见的工程指南里,有一条建议值得贴在显示器上:如果对方说得对,就告诉他们,然后放下这一点。听起来简单,但它要求你在反驳之前先停下来,问问自己。

把“代码”换成“客户的系统”,这条建议对 CTO 更加适用。他们知道夜里哪个团队值班,哪个系统出过故障,哪条法规要求数据留在自己的基础设施里。而你才来了几周。

同一份指南还提醒,允许别人“以后再清理”,是代码库逐渐变差的常见路径。在客户那里也一样:一旦承认某一点是对的,就立刻在设计中修改,而不是把它推到一张没人再打开的“以后”清单上。

别让 CTO 成为第一个读设计的人

走进会议室之前,应该先让别人读一遍设计。Refactoring English 上一篇讲如何获取设计文档反馈的指南认为,与一位评审者一起改掉错误,好过让十个人都被它绊一跤。

在客户那里,理想的第一位读者是对方的一名工程师,最好是和你共事了几周的人。他们能指出你自己不可能知道的事,比如平台团队刚刚否决过一个新服务。他们每发现一个错误,CTO 就少问一个问题。

一场咨询会,逐条处理反对意见

假设你在为一家保险公司提议一个助手,帮助理赔人员查阅案卷。架构包括文档存储、embedding 步骤、向量数据库、通过外部 API 调用的 LLM,以及给回答打分的评测套件。下面三条反对意见相当典型。

反对意见一:“理赔文件里有个人数据,不能发送到外部 API。”这一点没什么可争的。正确的回答是:“您说得对,我没有考虑到这个约束。我会修改架构图,让模型在你们的基础设施内运行,周五前把新版本发给您。”

反对意见二:“加一个向量数据库,就意味着又多一个系统要值班。”别急着辩护,也别急着放弃。Product Talk 在一篇讲如何与不喜欢某个功能的工程师找到共识的文章中描述过这样的情况:工程师卡在一个实现问题上,表达出来却像是反对这个功能本身。

所以,问一个有针对性的问题:“你们团队现在运维哪些数据存储?如果复用其中一个,我们会失去什么?”据 Product Talk 介绍,单是提问,往往就能让提出反对的人自己看清真正的顾虑是什么。

在这个例子里,反对意见变成了一条设计标准:对方团队的运维成本。

反对意见三:“为什么不直接用我们的数据微调一个模型,一劳永逸?”这一点确实存在争议。Product Talk 建议,当双方在方向上有分歧时,不要围绕方向本身争到彼此都很沮丧,而要转向背后的理由。

可以这样说:“这是个大决定。我把它记为一个待决问题,写清两种方案各自的理由,等你们团队一起评审时再定。”检验一个待决问题写得好不好,标准很简单:主张微调的人读了你对他观点的描述,仍然会点头认可。

每条反对意见背后,顾虑各不相同

你听到的 背后通常是什么 如何回应
“数据不能离开我们的系统” 你不知道的法律或安全约束 立即接受,修改设计,定好新版本的日期
“我的团队运维不了这个” 运维成本,夜里谁值班 询问现有基础设施,把运维列为标准
“为什么不用 X 来做?” 他们权衡过或坚信的某种方案 记为待决问题,公正呈现两种方案
“很好,那就做吧” 热情,但不一定准备好了 承诺之前,先核实数据、人员和流程

最后一行最容易被忽略,因为它看起来不像反对意见。但一位热情点头的 CTO,未必有干净的数据,也未必有团队来运维你刚画出来的东西。

解释到第三遍仍然无效时

最能说明论证局限的例子,并不来自 CTO。Vinoo Ganesh 讲过,在 Kepler,提出反对的是一名数据质量工程师:她把数据从 CSV 迁移到 Parquet 的工作挡了大约一年。一遍又一遍地解释技术好处,丝毫没能化解她的反对。

真正的约束在于她的工作方式。她靠直接打开 CSV 文件来检查数据,而 Parquet 没有能让她这样做的阅读工具。打破僵局的是一个查看器,它保留了她查看数据的能力,几天之内迁移就跑起来了。

一年的争论,不如花几天修好真正该修的东西。职位虽然不同,但这个机制值得带进与 CTO 的会议:反复出现的反对意见,通常是在保护某种习惯或风险,而你的幻灯片从未触及它。

LeadDev 一篇讲如何与反对者建立共识的文章建议,找到更深层的顾虑,并在那个层面上解决,而不是陷入无休止的争论。值得问的问题是“怎样您才会放心?”,而不是怎样把自己的论点说得更漂亮。

毁掉咨询会的几种错误

最常见的错误是把讲解当成推销,在 CTO 提出一个足以推翻半个架构的约束之后,仍然继续往下翻幻灯片。

第二种是在会上把每个争议都定下来,让缺席的人觉得被边缘化,事后再提出反对。第三种是承诺修改,却不给新版本定日期,于是“您说得对”听起来只是客套。

就职业发展而言,这项能力比想象中更容易展示。如果一则 FDE 招聘启事提到要担任客户管理层的技术顾问,就说明你该准备好一个故事:讲讲客户曾经如何反对你的设计。

这个故事应包含三部分:你提出了什么方案,对方指出了哪些你遗漏的问题,最终设计又因此好在哪里。

为下一次 CTO 会议准备的练习

会前,把上面那张四行的表格抄到一张纸上。针对每一行,写下你预计 CTO 会对你自己的架构提出什么反对意见,以及你打算如何回应:接受并定日期、追问,还是记为待决问题。

会后,标出哪些预测对了,哪些让你意外。下一次,把这些意外带给你的第一位读者。

CTO 愿意再次邀请的,不是每场争论都赢的人,而是因为认真倾听、带着一份不同的设计离开会议室的人。

这篇文章对你有帮助吗?

6 个信源
路线图上的下一篇 · 阶段 4: 客户工作FDE 面试里,敢说“我猜错了”反而加分一句四段式表达,让面试官听清客户中途抛出新事实时,你如何调整方向。