跳转到内容
M0第 1 课 · 什么是 Forward Deployed Engineer?M0-L1.2

为一个客户交付多种能力

一句话: 产品工程师为许多客户做一种能力,而 FDE 为一个客户交付多种能力,并帮助把在那里行之有效的东西变成下一个客户能用的产品。

Palantir 的工程博客这样描述它的两条工程路线:“Dev”工程师做一种会被许多客户使用的能力,“Delta”工程师(Palantir 的前线部署工程师)为单个客户交付许多能力。两条路线从相反的方向做同一个产品:产品团队在客户群里横向铺开,FDE 在一个客户内部纵向深入。

一周之内,一个 FDE 可能要给客户的工单系统写一个 connector,清洗一份混乱的数据导出,修一个在客户文档格式上失效的 prompt,为一位经理搭一个小看板,再做一场培训。每件事都不大,合起来才让产品在这个客户那里真正可用。

它解释了新人常有的两个困惑。第一,为什么 FDE 的工作看起来比产品工程师零散:工作的单位是一个客户的结果,而不是一个功能。第二,为什么它仍然是工程而不是服务:FDE 也是产品了解客户真实需求的渠道。

产品工程师FDE
工作单位面向所有用户的一个功能一个客户的一个结果
成功的样子整个客户群都在用这个客户的指标变了
被复用的是什么产品产品,加上 FDE 在一线学到的东西
主要风险做出没人需要的东西做出只有一个客户能用的东西

FDE 每做一样东西,都要问一个问题:这是这个客户特有的,还是下一个客户也会需要?客户特有的部分留在这次部署里;通用的部分以功能需求、可复用组件、模板或 eval 集的形式回到产品团队。本手册把这个阶段叫作 Productize(见 FDE 交付生命周期)。没有这一步,FDE 团队就只是软件公司里的一个服务部门。

McGrew 在 Y Combinator 的 Lightcone 播客里的观点是:AI Agent 往往没有现成的产品可以参照,因此大量产品发现必须在客户内部完成,而 FDE 就是发生这种发现的地方。

  • “多种能力就意味着一切从零开始。” FDE 在产品之上构建,只在产品不够用的地方写定制代码。重做产品已有的功能是危险信号。
  • “客户定制的工作是浪费。” 这正是团队发现什么可以通用的方式。只有当什么都没回流时,它才是浪费。
  • “产品工程师和 FDE 是竞争关系。” 两者互相依赖:FDE 带回一线证据,产品团队把它变成每个客户都能得到的东西。
你为一个客户做了一样东西,怎么判断它该不该进入产品?

问三件事:是否至少还有两三个客户有同样的需求;能否在不依赖这个客户特有假设(他们的字段名、他们的流程特点)的情况下构建;产品团队能否维护它。带给产品团队的应该是证据(哪些客户、多频繁、省了什么),而不只是代码。

一个从不把工作回流到产品的 FDE 团队会出什么问题?

每个新客户的成本都和上一个一样,定制代码越积越多却没人负责,公司的利润结构变得像咨询公司。FDE 自己也会因为重复同样的工作而耗尽精力。