优选文学
《不想烂在这里》 · 超暖叔叔

第18章

更新时间:2026-06-29 17:00

周六下午,魏轻把近半年积累的清洗脚本、异常值处理逻辑和字段映射规则从头整理了一遍。

这次整理和之前任何一次都不一样。以前他整理脚本是为了自己查阅方便,像工具箱里散落的扳手和螺丝刀,用哪个拿哪个。但这次他给自己定了一个标准:任何同行拿到这份文档,看完就能上手。这意味着不能再按分类,要按错误类型重新拆解——编码格式不统一、字段名称不一致、时间戳偏移、空值处理不当、重复值误判。每个类型附上真实案例,全部脱敏,标注为什么出错、怎么发现、如何处理、如何验证、如何防止二次出错。他在“防止二次出错”那一栏花了最多时间,因为这一栏在公司知识库里几乎找不到。知识库只记录问题的结果和处理人,从不记录踩坑的过程。他在这一栏写满了注释,有些是方晴在测试报告里指出的漏洞,有些是老吴口头提醒他的经验,有些是他自己犯错后半夜改脚本时悟出来的。

他从不觉得自己比谁聪明。数据清洗这份工作久了就会发现,大多数错误都是重复的,只是每次换一个名称、换一个甲方、换一个字段名。把错误类型化,比把错误一个一个改掉更值钱。他想起纳瓦尔说过,用头脑赚钱,而不是用时间。他以前认为写脚本就是用头脑——一行脚本省三小时,不就是头脑换了时间。现在整理这套方法论的时候他才意识到,那只是效率的维度。真正用头脑,是把自己犯过的错变成别人可以不犯的规范。

做完已经是晚上十点半。他把文件导成PDF,存入“轻舟数据”文件夹,在文件名里加了版本号和期。然后点开数据江湖的私信。

“上次说的试读,第一版。你先看看。”

文件拖进对话框,进度条缓慢地走。他靠在椅背上,心跳有点像爬楼梯——不高,但隐隐约约的。这不是他第一次给别人看自己的东西,但这是他第一次给一个不熟悉的东西看。帖子是公开的,谁都可以看,谁都可以走。PDF是私人之间的交付,“给你”这两个字后面带着期待,也带着怕。

数据江湖秒回了两个字:“收到。”然后头像暗了下去。魏轻没有关对话框,就那么开着,看着屏幕上的时间一点一点跳。十二分钟后,头像重新亮起来。

“你这个文档整理得好清楚。”数据江湖打字很快,“比公司里那些培训手册强多了。你之前说还没写好,就是这个吗。”

“就这个。哪里还需要改?”

“案例部分可以再扩一下。你现在举的全是电商——老秦、赵青,都是电商。制造业的排班表重复记录、医疗系统的时间戳偏移、物流的GPS坏点,这些坑也很多,而且跟电商的逻辑不一样。你要是想把这套方法论做成通用的,就别局限在一个行业里。”数据江湖打完这几段,停顿了几秒,又补了一条,“但这不是批评。我只是觉得你还能再做深一点。你想做深吗?”

魏轻把这段话截了图,存进“轻舟数据”文件夹。他在截图文件名上加了一行备注:下期培训可加入物流场景。

“还有别的吗?”

“有。你写得太了。全是货,翻到后面眼睛累。能不能每一章加一个总结框,用三四句话把核心方法概括一下。这样就算有人没时间全看,光看总结也能记住重点。”

“行。下个版本加。”

“什么时候出下个版本?”

“下周。”

“好。我等。”

数据江湖的“我等”两个字,魏轻觉得很轻,但是落在心里很重。这个人在网上素未谋面,什么利益关系都没有,就因为看了他几篇技术帖,每次都说等。林晚也说过等,方晴说过“周三交”,老孙说过“下次回去走那条路”。等,是一种没有合同约束的承诺。它不写进条款里,但比合同更愿意让人把事情做完。

周傍晚,洛河散人发来消息,问了一句:“上次听你说轻舟数据,现在还在做吗。”魏轻说做。老孙说行,然后发了一段很长的语音。他点开听——老孙那边似乎是个忙音嘈杂的物流园区,背景有叉车倒车的滴滴声和老旧广播的嘶哑人声。老孙的声音很平常,但总是在认真说完正事后,不带任何停顿地补上一句让人踏实的家常。

“物流园这边有个朋友,姓周,管车队的。GPS定位总有坏点,油耗数据也对不上,每天几百条异常,没人能统一清洗。你自己跟他说。”语音结尾发来一串电话号码。

魏轻把号码存进手机,在通讯录备注里写了“周先生·物流数据”。他没有立刻拨出去,给老孙回了条消息:“周先生希望我怎么跟他说明价格和服务。”

“你就说你自己做的。有合同,有规范,按收费。别跟人家说你是外包的,你是轻舟数据。懂吗。”

“懂。”他打完这个字,手指在键盘上停了一下。老孙说的不是“别暴露”,而是“你是轻舟数据”。这个区别他一瞬间就理解了。他不是在伪装,他是在建造一个壳。这个壳有合同模板、有方法论、有通用模块、有培训提纲、有数据江湖这样的人帮他试读和改进文档。老孙只是告诉他:你已经是这个壳的主人了。

周一早上,魏轻到公司的时候,方晴已经坐在工位上。她把下个月培训计划放在魏轻桌上,说了一句:“上次跨平台数据清洗培训,开发组反馈不错。公司打算把这个主题做成系列,每月一期。你负责数据清洗模块两期:基础格式与编码规范、异常值检测与处理。授课费走劳务费,标准跟正式员工一样。”

魏轻拿起计划表翻了翻。模板结构完全沿用了“轻舟数据”文档的格式——案例分类、步骤拆解、总结框,一应俱全。他没有声张,只是在计划表的空白处写了一行备注:案例扩充后,第二期可加入物流场景GPS坏点分析并提前跑一次测试区。

下午,他拨了老孙推来的那个号码。对方姓周,声音沙哑,说话直接:“你是老孙提过的吧。我这边几个车队,GPS数据每天几百条坏点,油耗数据也对不上。你帮我清洗一下,按算还是按小时算。”

“按。我先看数据量和字段结构,再报工期和价格。”

“行。先切一小部分让你试试。能行的话,后面还有几个车队的活。”

挂掉电话,周先生发来一个压缩包。魏轻花了半小时大致拆解了数据规模和复杂度,报了工期和价格。对方没有讨价还价,只回了两个字:”先试。”

魏轻在轻舟数据客户名单里加了一行新记录:周先生,物流车队GPS数据清洗,周期两周。老秦、赵青、周,这是第三个客户。老秦是他的起点,赵青是裂变的第一层,周是裂变的第二层。他没有主动找过任何一个客户,但每次交付都在替他说话。他忽然想起来老秦说——你活儿细,靠谱。赵青说的是“魏先生做数据很规整”。周先生说的是“老孙提过的”。这三句话绑在一起,形成了一个共同的评价:认真。

晚上回到出租屋,他在《我自己》文档里写道:“数据江湖说我还可以突破现有认知,老孙说别再说自己是外包的,方晴说以后培训做成系列。每个人都没有给我直接的好处,但每个人都给了我同一件东西:涟漪。我以前总觉得自己是颗石子,沉在水底。现在我发现我已经是投石子的人了。”

存好文档,他靠在椅背上。手机亮了一下,是老孙转发过来的一条消息:物流园另一家做冷链的公司也在找人做数据清洗,问我能不能帮他们推人,我又推了你。

魏轻回了两个字:“接着铺。”这是他之前在社区给洛河散人的回答,彼时还是技术帖评论区的一句轻描淡写,现在用在商业场景里,依然适用。

周四,开发组基础库迭代评审会。魏轻到场时,开发组组长正在白板前写议程。会议室的白炽灯总是很亮,每个人的表情都被看得一清二楚。

“上次那个通用模块核心逻辑并到基础库之后,报错率比旧版低了不少。今天有两个新模块要审,你看完直接说。”组长的语气很平,没有刻意欢迎,也没有任何居高临下的意味。

魏轻把两份待评审文档从头读到尾。第一个模块是跨部门的数据同步,逻辑总体没问题,但架构假设了两个系统的时钟可以永久保持一致。实际情况下,一个系统可能比另一个差几秒。魏轻建议在同步逻辑里加一条时间容忍度参数,允许一定范围的偏差,并在志里记录调整量。组长当场在白板上记下。第二个模块是客服标签系统,功能很完整,但标签分类规则被写死在代码里。魏轻听完那位年轻工程师的陈述,说可以把规则表抽出来做成可配置的,以后新增标签不用动代码。那位年轻同事轻轻抽了口气,脱口而出:“这个思路我们之前也想弄,就是没想这么快。”

魏轻没接话,但他发现自己在笔记本上记了一行备忘:硬编码转可配置规则,可复用。代码评审结束的时候,那位年轻工程师收拾完手边的资料,犹豫了一下,说:“能不能加个微信,以后有问题方便问。”魏轻把二维码亮出来。他想起很久以前在电梯里问过老吴一个问题,老吴的回答是沉默。现在他可以给别人答案了。

走出会议室的时候天已经黑了。茶水间的灯光亮着,饮水机上的水桶微微作响。下班前老吴在工位上换了一只新保温杯,杯身上有个标记不太显眼,是从某个培训现场带回来的徽章,压入塑料套后还有点松。小周在洗手间镜子前面揉眼睛,水滴溅在嘴角,他跟魏轻说:“明天再死啃B平台编码规则,哥们儿这回真的记在手上,不犯浑。”魏轻轻轻说了声“好”,路过时也没停更多话语。

那晚,他回到城中村,在“轻舟数据”的文件夹里新增了一个子目录:方法论培训系列。开始一点点往里面填充内容矩阵。他意识到,自己不再仅仅是在使用杠杆,他变成了那个制作和传递杠杆的人。

窗外有人在收晾衣架,竹竿拖过铁架的声响微弱而清晰。夜已经很深了,他把电脑关掉。今天播下的种子,也许很快就会泛起无法估算的涟漪。

字号 / 行高
主题