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

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

书籍与课程

FDE 读《The Missing README》别按目录来

每次进驻新客户,FDE 都要重当一回新人,这本 288 页的书正是那第一周的清单。

分享微博

要点速览

  • 这本书写给刚入行的工程师,而每个新项目都会让 FDE 重新坐回新人的位置。
  • 按项目节奏阅读:先读第 2 章、第 10 章,再读可运维代码部分,最后读第 9 章。
  • Greg Wilson 指出,书中没有讨论隐私和法律责任,这块空白需要 FDE 自己补上。
一条横向时间线,按 FDE 项目的节奏标出四个节点:入职前是学会学习(第 2 章),第一个大功能前是设计文档(第 10 章),代码在客户处运行后是可运维代码,上线前是值班(第 9 章)。值班节点以橙色突出,并注明一次故障就意味着失去信任。时间线下方有一个贯穿整个项目的括号,表示与经理共事的内容在项目全程逐步阅读。
按 FDE 在每个新客户那里的工作节奏,重新排列《The Missing README》的 14 章。上线前的值班环节,技术事故很容易演变成信任事故。

每接一个新项目,前线部署工程师(FDE)就重新当一回新工程师。代码库是陌生的,评审流程是陌生的,还多出一位不在自己公司组织架构图上的经理。

大多数职业类书籍默认你只当一次新人。Chris Riccomini 和 Dmitriy Ryaboy 合著的《The Missing README: A Guide for the New Software Engineer》也不例外:No Starch Press 于 2021 年 8 月 4 日出版了这本 288 页的平装书,读者定位是刚入行的人。

这本书的官网承诺,教你掌握经理希望你懂的软件工程技能。Barnes & Noble 的介绍说得更直白:会写代码只是成功的一半,因为许多决定成败的技能和流程,任何学校或训练营都不教。

对于正在做或想做 FDE 的人,这本书的价值在别处。它是一份“第一周”清单,而这个第一周你在每个客户那里都要重来一遍。第一周过得越快,就越早创造价值。

装订成书的一次导师咖啡

Penguin Random House 把它定位为技术负责人希望每位新工程师入职前都读过的书,Gwen Shapira 则把它比作和一位资深导师喝一次咖啡。

据 Greg Wilson 介绍,书中内容从持续集成、重构、技术支持,一直讲到敏捷规划和与经理共事。这些都是职业习惯,也正是 FDE 需要按每个客户的方式重新学一遍的东西。

十四章,但别按顺序读

全书共 14 章。下面的建议是一份阅读计划,依据书中公开的章节标题和简介,对照 FDE 的工作节奏编排,并非逐页摘要。

比较合理的顺序是:入职前读第 2 章,做第一个大功能前读第 10 章,代码开始在客户基础设施上运行时读编写可运维代码的部分,上线前读第 9 章。与经理共事的内容最好在整个项目期间逐步读,因为你既有自己的经理,客户那边也有一位。

第一个观点:说清自己不知道什么

单看第 2 章的标题“Getting to Conscious Competence”(达到有意识的胜任),就是一条马上能用的建议。按字面理解,它指的是能把事情做完,同时清楚知道自己的理解止于何处。在客户团队里,最危险的新人是不知道自己缺什么的人。

设想你在一家零售连锁企业的第一周,对方需要一条库存预测数据管道。你画一张三列的表:已理解(语言、框架)、部分理解(他们怎么部署)、未知(哪张表是库存水平的唯一可信来源)。

第三列就是你第一次开会时要问的问题清单,也是向客户表明你认真对待这件事的方式。

第二个观点:设计文档从问题定义开始

第 10 章的简介是所有章节中最清楚的:设计流程,涵盖实验、问题定义、文档和协作。在客户那里,问题定义是客户需求挖掘与工程交汇的地方,也最容易出错。

实用建议:做第一个大功能之前,写一份简短文档,开头是经客户确认的问题定义,然后至少请一位客户方工程师评审。他们会发现没人写下来的约束条件,而且在你离开后,为这份设计辩护的也是他们。

第三个观点:凌晨两点谁接告警?

代码在客户那里跑起来之后,编写可运维代码的内容就变得很实际:日志、指标、配置和防御式编程。紧随其后的是第 9 章“Going On-Call”(值班)。

一本写给新人的书专门用一整章讲值班,传递的信息很明确:生产系统迟早会出故障,新人也必须做好准备。

对 FDE 来说,这两部分应该放在一起读,因为系统运行在别人的基础设施和数据上。再看零售的例子:假设数据管道在促销前一晚出了故障。如果没有日志、没有指标,也没约定谁接告警,一次技术事故就会变成一次信任事故。

具体做法:上线前,检查代码记录了哪些日志、指标发往哪里,然后与客户书面约定谁值班、谁可以查看日志。

书里没讲的内容

Greg Wilson 给自己的书评起名为“What’s Missing from ‘The Missing README’”(《The Missing README》缺了什么)。他指出,书中没有讨论隐私、算法歧视、职场骚扰、劳动者权益和法律责任。

对 FDE 而言,这块空白比对内部工程师更大,因为你处理的是客户的真实数据,有时还包括客户的客户的数据。读完这本书后,自己在入职第一天的清单上加一个问题:这些数据是关于谁的?用来做什么?客户是否确认过你可以这样使用?

适合谁读,接下来做什么

这本书最适合转做 FDE 的软件工程师,尤其是多年来习惯只维护一个代码库的人。有经验的 FDE 可以快速浏览,只在第 2 章、第 10 章、可运维代码部分和第 9 章停下来细读。

面试 FDE 岗位时,可以直接从书中借两个问题:谁评审设计文档?上线后谁值班?这些回答能帮你在接受 offer 之前,想清楚自己的责任会延伸到哪里。

简历上不要只写“部署了系统 X”。如果你和客户工程师一起写过设计文档,或者为运行在真实数据上的系统值过班,就明确写出来,并补充一个具体细节,比如客户方由谁评审了文档。

这本书的初衷是帮你度过工作的第一年。FDE 在每个新客户那里都会再经历一次这个第一年,只是可用的时间更少。

这篇文章对你有帮助吗?

4 个信源
路线图上的下一篇 · 阶段 1: 基础认知接手 Node 老仓库?这本 TypeScript 书先读第 11 章全书 13 章,能马上用在客户现场的是其中 3 章和 2 个附录。