上个月,周一早上站会前,我照例扫一眼上周的变更记录。生产分支上挂着三个 PR,作者是个我不认识的账号,邮箱后缀是厂商的域名。
问了一圈才知道,这是对方派来的 FDE,合同里写好的,要嵌进我们的 repo,ship 生产代码。法务签了字,老板点了头,流程上没毛病。
三个 PR 里有一个已经合进去了,audit log 长这样:
merge "enable vendor defaults" -> main
author: fde_j7@厂商域名
approver: fde_j7@厂商域名
自己提的,自己批的。生产分支。
这事先放着,说说我为什么后背发凉。前几天刷到一篇文章讲 FDE,跟我这边的动静正好对上:swyx 在 AI Engineer World's Fair 的开场 keynote 里专门把 FDE track 拎出来讲,说是他最兴奋的方向之一。Cursor 挖了个 FDE 的 VP,Anthropic 都开了入门课。LinkedIn 的数据说这是 AI 创造的岗位里涨最快的,2023 年以来招聘帖涨了 42 倍。五月,OpenAI 往 DeployCo 里放了 40 亿美金,一家据说从头到尾全用 FDE 拼出来的公司。
会上九家公司讲“我们怎么把工程师嵌进客户代码库”,一半讲完顺势开始招聘 😅
42 倍。基数是多少?没人说。这算法我熟,「提效十倍」就是这么算出来的。
再说这词也不是新东西。Palantir 在 2010 年代就把 FDE 做成正式岗位了,当年全行业笑话人家是「带期权的顾问」。十年过去,同一个岗位换个名字回来,台下掌声比当年还响。剧本我看过——rockstar、全栈、prompt 工程师,一路都是这么换皮的。
我一开始的判断是“高级外包罢了”。后来想,不对。外包没有 commit 权限,外包不留在你的 repo 里,外包不按结果收费。这回不一样的地方,恰恰是最危险的地方。
按那篇文章的定义,FDE 是厂商的工程师,嵌进客户代码库,ship 生产代码,留在客户的 repository 里,手里有 commit 权限。文章还认真区分了他跟 sales engineer、顾问、support 的三点不同:售后不走、只部署自家产品、有 commit 权限。
前两条是商务细节。第三条是要命的。
权限和责任,头一回分了家。有权限改你生产分支的人,不在你的值班表上;在值班表上的人,没看过他的 diff。
Sierra 负责 Agent Engineering 的 Nat Meurer 在会上讲,AI 软件在往按结果收费走,总得有人为结果签字——而有资格签的,是有 commit 权限的人,不是管发帖日历的。后半句怼 DevRel,怼得解气。前半句我要打个问号:有 commit 权限就能担保结果?担保结果的从来不是权限,是 runbook、灰度、回滚预案,是知道什么不该动。commit 权限只担保他能改,不担保他改得回来。
再说了,按结果收费的合同我见过。结果好的时候,结果归厂商;凌晨三点结果坏了,合同里那个「担保」就变成「双方共同排查」。outcome 是我的,pricing 是他们的。
还有那句「只部署自家产品」。生产故障不认产品边界。他家组件动一个默认配置,撞上我们这边某个没人记得为什么还在的祖传补丁,炸的是整条链路。pager 响的时候,FDE 正在下一个客户那儿做 onboarding。
来接电话的冤种,还是我。
文章里有句话我同意一半:会上演讲赢得掌声,客户 repo 里一个 merged PR 赢得续约。
说得准,准得发凉。vendor 的激励从此非常清楚——续约之前,把 PR 合进去。合完呢?FDE 轮换到下一家,代码留下,署名是一个你们工资单上没有的人。以前屎山好歹是自家祖宗留的,骂归骂,人还在工位上,还能揪过来问一句“这行删得吗”。现在你家 repo 里开始长别人家的祖传代码。AI 让代码生成得快,FDE 让别人的代码进得快,两下叠加,老债没人敢动,新债查无署名。
哦对,文章还说 DevRel 没死,只是漏斗拆了,DevRel 管上头那截,让人知道你;FDE 管下头那截,让人真用起来;夹在中间的开发者营销最危险。这部分我没意见,也不太心疼。
扯远了。回到 commit 权限。
说句实话,我不觉得 FDE 这帮人水。能被单点塞进客户生产环境的,多半是厂商那边最能打的一批。Palantir 被嘲了十年,模式活到今天还赚钱,说明客户确实疼,自己的系统自己没人懂了,才需要外来的和尚贴着念经。
疼是真的。但和尚会走,念的经留下,庙里半夜着火,还是庙祝的事。
所以上个月我补了一条流程,一行能说完:外部账号的 PR 进生产分支,必须带一个本家 reviewer,reviewer 的名字进 changelog。谁合的代码说不清的时候,起码说得清谁签的字。
以后再有 FDE 要 commit 权限,可以,把 pager 号码写进合同。凌晨三点的结果,总得有人真的担保。