第六十九章 第一课
沈渡的办公室在五楼走廊尽头,门牌上写着“技术VP-沈渡”。
林知行敲门的时候是下午两点整。他提前了五分钟到,在走廊里来回走了三趟,把要问的问题在脑子里过了两遍——数据采集模块的接口文档在哪里、周报怎么写、这周的任务优先级怎么排。
“进来。”
沈渡坐在办公桌后面,面前摊着三份文件,手里握着一支红笔。他抬头看了林知行一眼,用笔尖点了点对面的椅子。
“坐。”
林知行坐下。椅子比开放工位区的舒服,坐垫是软的,靠背有弧度。
“第一周感觉怎么样?”沈渡问。
“还行。”林知行说,“在熟悉环境。”
“数据清洗做得怎么样?”
“写了个脚本,效率比手动快十倍。”
沈渡点点头,放下红笔。
“你画的那个模块依赖关系图,我看了。”他说,“画得不错。”
林知行心里一动。他画的那个图只在自己的文档里,没发给任何人。
“你怎么看到的?”
“老周给我看的。”沈渡说,“他把你整理的文档发给我了,说你做事挺认真。”
林知行没说话。他想起老周拍他肩膀时手心的汗,想起那句“有什么问题找我”。老周在观察他。
“我叫你来,不是聊数据清洗的。”沈渡靠在椅背上,“你现在是外包身份,在公司里算半个自己人。有些事,我得教你。”
林知行坐直了。
“第一课,写周报。”
沈渡打开电脑,点开一个文档,屏幕转向林知行。
“这是我上周的周报。”
林知行凑近看。文档标题是“沈渡-2024年第25周工作周报”,下面分了四个板块:本周完成事项、下周计划、需要协调的问题、思考与建议。
每个板块下面有三到五个条目,每个条目都分两行——第一行是“做了什么”,第二行是“为什么这么做”。
比如:
本周完成事项:
完成教育AI产品Q3规划评审
- 为什么:确保项目方向与公司战略对齐,提前暴露资源风险
与中科院团队确认可信推理课题的技术边界
- 为什么:避免研究方向与产品需求冲突,为后续合作打基础
林知行一行行看下去。每个“为什么”都指向一个更高层的目标——战略对齐、风险控制、资源协调。
“看明白了?”沈渡问。
“你在向上管理。”林知行说。
沈渡笑了。
“你反应很快。”他说,“周报不是工作汇报,是向上管理的工具。你的领导不会逐行看你的代码,但他会扫一眼你的周报判断你在思考还是在执行。”
林知行盯着屏幕。他以前在小城写周报,就是列清单——周一做了什么,周二做了什么,周三做了什么。没有“为什么”。
“记住,”沈渡说,“每个条目都要回答两个问题:你做了什么,以及你为什么这么做。第一个问题证明你在干活,第二个问题证明你在思考。”
林知行点头。
“下周开始,你每周五下班前把周报发给我。”沈渡说,“我帮你改。”
“好。”
“第二课,汇报PPT。”
沈渡关掉周报文档,打开另一个文件。
“下周三有一次技术评审会,你要汇报数据采集模块的进展。”他说,“PPT不超过十页。”
林知行愣了一下。“我还没开始做数据采集模块。”
“下周开始做。”沈渡说,“三天时间,够你出一个初步方案了。”
林知行算了算。今天周二,下周三汇报,中间只有七天。他还要熟悉代码、理清逻辑、写方案、做PPT。
“为什么不超过十页?”他问。
“因为高管的注意力窗口是七分钟。”沈渡说,“超过七分钟,他们就在想下一个会了。十页PPT,每页讲四十秒,加上提问时间,刚好七分钟。”
林知行在心里记下这个数字:十页,七分钟。
“PPT的结构我教你。”沈渡拿起桌上的白板笔,转身在身后的白板上写起来。
白板很大,占了半面墙。上面已经画着一张架构图——林知行上次来就注意到了。架构图很复杂,有十几个模块,用箭头连接。沈渡在架构图旁边的空白处写字:
PPT结构:
- 背景(1页)
- 问题(1页)
- 方案(3页)
- 进展(2页)
- 风险(1页)
- 计划(1页)
- 需要支持(1页)
“背景要简短,三句话讲清楚为什么做这个模块。”沈渡说,“问题要具体,用数据说话。方案要分层,先讲整体架构,再讲关键设计,最后讲技术细节。进展要量化,不要说‘基本完成’,要说‘完成了80%,剩余20%是XX问题’。风险要诚实,不要藏着掖着,但也不要夸大。计划要具体,精确到天。需要支持要明确,不要说‘希望得到资源’,要说‘需要XX团队提供XX接口,预计影响工期三天’。”
林知行快速记笔记。他的手机备忘录里新建了一个文档,标题是“大厂生存指南”。
“第三课。”沈渡放下笔,转回椅子,“这个最重要。”
他停顿了一下,看着林知行。
“公司内部有两条技术路线之争。”
林知行没说话,等他说下去。
“渐进派主张在现有教育产品上叠加AI模块。”沈渡说,“比如在题库里加一个AI推荐功能,在教学系统里加一个智能答疑。稳妥,但慢。因为要兼容老系统,很多设计做不了。”
“激进派呢?”
“激进派主张用AI重新定义产品架构。”沈渡说,“从底层重构,把AI作为核心,而不是附加功能。快,但风险大。因为要推翻很多现有设计,可能影响现有用户。”
林知行想起他画的模块依赖关系图。那些模块像一棵老树,根系盘根错节,动一根枝条都会牵扯到其他部分。
“两条路线背后是两个VP的权力角力。”沈渡说,“渐进派的支持者是产品VP,他手上有现有产品的用户数据和收入,不愿意冒险。激进派的支持者是技术VP——就是我——我认为AI是未来,必须抢占先机。”
林知行听出来了。沈渡是激进派。
“我该站哪边?”他问。
沈渡看着他,眼神很平静。
“先别站队。”他说,“先把活干好。”
林知行点头。但他注意到沈渡的眼神里有别的东西——不是失望,是期待。他在期待林知行自己做出判断。
“还有一件事。”沈渡说,“你画的那个模块依赖关系图,别给其他人看。”
“为什么?”
“因为那张图里有一些东西,是周睿负责的模块。”沈渡说,“周睿是项目组的技术总监,他不喜欢别人动他的东西。”
林知行想起那张纸条——“别用公司的微波炉热饭,会炸。”
“我明白了。”他说。
“好。”沈渡站起来,“去忙吧。”
林知行也站起来,转身要走。
“等等。”沈渡叫住他。
林知行回头。
沈渡指了指白板上的架构图。
“你看得懂这张图吗?”
林知行走近几步。架构图很复杂,但他上周整理了所有模块,有些印象。他指着图上的一个节点:
“这是数据采集模块。”
沈渡点头。
“这是特征工程。”
沈渡又点头。
“这是模型训练,这是前端展示。”林知行说,“但这里有一个模块,我没见过。”
他指着图上的一个方框,方框里写着“解释层”。这个模块被红笔圈了出来。
“这是什么?”他问。
沈渡看着他,嘴角微微上扬。
“你反应很快。”他说,“这是我在推的一个新模块。给AI的每条回答加一个解释,让用户知道AI为什么这么推荐。”
林知行心跳漏了一拍。
“可信度解释?”他问。
“你听过?”
“我做的开源项目,就是这个方向。”
沈渡点点头。
“我知道。”他说,“所以我才把你招进来。”
林知行盯着白板上的“解释层”三个字。他想起自己在小城做的排课系统,想起那些“张老师被安排在周二上午第三四节,因为周二上午她没有其他课且距离校区最近”的解释语句。那个功能把教师接受率从65%提升到了92%。
“这个模块,现在是谁在做?”他问。
“还没人做。”沈渡说,“我只是在推方向。具体谁来做,要看公司怎么决定。”
林知行明白了。沈渡需要人来实现这个模块,而他恰好有相关经验。
“你先去做数据采集模块。”沈渡说,“把基础打牢,其他的慢慢来。”
林知行点头,转身离开。
走到门口时,沈渡又说了一句话。
“在公司里,看懂问题和说出来是两件完全不同的事。”
林知行停住脚步,回头看他。
“有些人一辈子没学会第二件。”沈渡说。
他的语气很平淡,像在陈述一个事实。但林知行听出了别的东西——这不只是忠告,是警告。
他点点头,推门出去。
走廊里很安静。林知行走得很慢,把沈渡的话在脑子里过了三遍。
第一遍:周报是向上管理的工具。 第二遍:PPT不超过十页,高管的注意力窗口是七分钟。 第三遍:看懂问题和说出来是两件完全不同的事。
他走到电梯口,按了按钮。电梯门打开,里面站着两个人。一个穿蓝色工牌,一个穿灰色工牌。蓝色工牌的人在说话,灰色工牌的人在听。
林知行走进电梯,按下四楼。
电梯下行。
他想起沈渡白板上的架构图。那个“解释层”被红笔圈了出来,旁边没有写负责人。但沈渡说“我在推”,意思是这个模块还没有立项,只是他在争取。
沈渡需要人来实现这个模块。而他,林知行,恰好有相关经验。
但沈渡也说了,“先别站队,先把活干好”。
这两句话矛盾吗?
不矛盾。
沈渡的意思是:你可以做这个模块,但不要公开表态支持激进派。先做出成绩,再谈立场。
林知行想起自己在小城的算法思维。他习惯把问题拆成可计算的子问题,然后找最优解。但大厂的问题不是算法题,没有标准答案。
电梯到了四楼,门开了。
林知行走出去,回到自己的工位。程浩不在,桌上摆着那份需求文档,封面写着“教育AI产品需求分析-2024Q3”。
他坐下,打开电脑,新建了一个PPT文档。
标题:数据采集模块进展汇报。
然后他开始写第一页:背景。
“教育AI产品需要大量高质量的教育数据,包括题目、知识点、学生答题记录、教师教学反馈等。数据采集模块是整个产品的基础,负责从多个数据源获取、清洗、整合数据。”
他写完,看了看字数。六十个字。
他想起沈渡说的“三句话讲清楚为什么做这个模块”。六十个字,差不多三句话。
他继续写第二页:问题。
“当前数据采集存在三个问题:1. 数据源分散,格式不统一;2. 数据质量参差不齐,存在大量缺失值和错误值;3. 数据更新频率低,无法满足实时推荐的需求。”
写完,他看了看时间。下午三点十五分。
他还有六天时间。
手机震了一下。方小满发来消息:怎么样?
林知行回:在写PPT。
方小满:什么PPT?
林知行:汇报用的。
方小满:大厂规矩真多。
林知行:嗯。
方小满:商户这边没问题,你安心干活。
林知行:好。
他锁了手机屏幕,继续写PPT。
第三页:方案。
“数据采集方案分为三个阶段:第一阶段,统一数据源接口,将分散的数据源接入统一平台;第二阶段,建立数据质量监控体系,自动检测和修复数据问题;第三阶段,建立实时数据管道,支持数据的实时更新。”
他写完,看了看白板上沈渡画的PPT结构。方案要分三层:整体架构、关键设计、技术细节。
他新建了第四页:整体架构。
“整体架构采用分层设计:数据源层、采集层、清洗层、存储层、服务层。每层职责明确,接口清晰,便于维护和扩展。”
他画了一个简单的架构图,五层,用箭头连接。
第五页:关键设计。
“关键设计包括:1. 数据源适配器,支持多种数据源的统一接入;2. 数据质量规则引擎,支持自定义的数据质量规则;3. 数据血缘追踪,记录数据的来源和变换过程。”
他写完,看了看时间。四点了。
他还有六天。
但他已经写了五页PPT。按照沈渡的结构,还剩五页:技术细节、进展、风险、计划、需要支持。
技术细节可以明天写。进展可以写“完成了50%,剩余50%是XX问题”。风险可以写“数据源接口不稳定,可能影响工期”。计划可以写“下周完成数据源适配器,下下周完成数据质量规则引擎”。需要支持可以写“需要XX团队提供数据源接口文档”。
他在心里盘算着,手指在键盘上快速敲击。
窗外的天色暗了下来。中关村的霓虹灯招牌亮起,红的、蓝的、绿的,映在玻璃幕墙上。
林知行站起来,伸了个懒腰。他的脖子有点酸,眼睛有点干。
他走到茶水间,倒了一杯水。茶水间里有微波炉,他想起那张纸条——“别用公司的微波炉热饭,会炸。”
他看了看微波炉,外表很新,按钮很干净。不像是会炸的样子。
但他还是没用。
他端着水回到工位,继续写PPT。
第六页:技术细节。
“技术细节包括:1. 数据源适配器采用插件化设计,支持动态加载新的数据源;2. 数据质量规则引擎采用规则链模式,支持复杂的质量检查逻辑;3. 数据血缘追踪采用图数据库存储,支持高效的数据 lineage 查询。”
他写完,看了看字数。一百二十个字。
第七页:进展。
“当前进展:完成了数据源调研,梳理了五个主要数据源;完成了数据源适配器的原型设计;完成了数据质量规则引擎的架构设计。剩余工作:完成数据源适配器的开发、完成数据质量规则引擎的开发、完成数据血缘追踪的开发。”
他写完,看了看时间。五点半了。
他还有五天。
但他已经写了七页PPT。按照沈渡的结构,还剩三页:风险、计划、需要支持。
风险可以写“数据源接口不稳定,可能影响工期;数据质量规则复杂,可能需要更多时间调试”。计划可以写“下周完成数据源适配器开发,下下周完成数据质量规则引擎开发,第三周完成数据血缘追踪开发”。需要支持可以写“需要XX团队提供数据源接口文档,需要XX团队协助调试数据质量规则”。
他锁了电脑屏幕,收拾东西。
背包的拉链还是坏的,他用力拽了一下,拉链头又掉了。
他蹲下去捡,手指在桌下摸索。
拉链头找到了,但手指碰到了另一个东西——一张纸条,塞在工位隔板的缝隙里。
他抽出来看。
纸条是A4纸撕下来的一角,上面用圆珠笔写着一行字:
“新来的?别用公司的微波炉热饭,会炸。”
没有署名。
林知行把纸条折好,放进口袋。他已经有两张同样的纸条了。
他走出办公楼,天已经黑了。中关村的街道上车流不息,霓虹灯招牌亮得刺眼。他站在路边等红灯,旁边站着几个穿蓝色工牌的同事,在聊周末去哪玩。
绿灯亮了,人群涌向马路对面。
林知行跟着走。
他住在四环外的一个青旅,六人间,四十块一晚。房间很小,三张上下铺挤在一起,空气里有汗味和泡面味。他找到自己的床位——下铺靠门,床单是灰白色的,上面有洗不掉的污渍。
他放下背包,躺下来。
天花板上有一道裂缝,从这头延伸到那头,像一条干涸的河。
手机震了一下。
方小满发来消息:PPT写完了?
林知行回:写了一半。
方小满:大厂真麻烦。
林知行:嗯。
方小满:早点休息。
林知行锁了手机屏幕,盯着天花板的裂缝。
他想起沈渡的话:“在公司里,看懂问题和说出来是两件完全不同的事。”
他看懂了什么?
他看懂了沈渡需要人来做“解释层”模块。他看懂了沈渡是激进派,但不想公开站队。他看懂了周睿是渐进派,不喜欢别人动他的东西。他看懂了程浩是985硕士,第一周就拿到了需求分析的任务,而他还在做数据清洗。
他看懂了,但他能说出来吗?
不能。
因为说出来,就会得罪人。得罪周睿,得罪渐进派,得罪那些不想改变的人。
他想起自己在小城的算法思维。他习惯把问题拆成可计算的子问题,然后找最优解。但大厂的问题不是算法题,没有标准答案。
他闭上眼睛。
明天还要继续写PPT。后天还要继续做数据采集模块。大后天还要继续写周报。
他必须在两个月内做出点什么。
但第一周,他只做了数据清洗和文档整理。
第二周,他开始学写周报、做PPT、听沈渡讲两条技术路线之争。
第三周呢?
他不知道。
但他知道,他必须学会这些规则。
因为这是大厂的第一课。
(本章完)