前几天,我打开代码贡献详情,在 Q2 和 Q3 之间点了几次。Q2 的代码变更是 8.34 万行,Q3 是 13.4 万行。我知道代码行数很粗,写得多不代表写得好,有时还说明写得啰嗦。可这些代码是我写的,后面有问题也是我回来改。那两个数字摆在一起,我又想起七月底那次绩效评价。
这些数字说明不了全部,但谁也不能随口把它们改掉。
行数不能直接当价值看。这里保留它,只因为这部分工作可以核对。
三月底入职,我接的是测试 Owner。头两个多月挺顺,从自动化、看板、CI/CD 流水线到通知工具,一件件往上搭。中间还独立做了一套内部质量工具,从第一行代码、部署到后面维护,基本都是自己扛。我站在一屋子人面前演示过,合作的人也在大群里点过我的名。架构调整时,原主管还在群里向新的大部门负责人介绍我,说测试这边能力不错。那时候每天回家都很累,但第二天知道接着做什么。
六月上旬开始,架构接连调了几轮。我换了组,也换了主管,前后的工作方向几乎没有衔接。之前攒下来的上下文突然用不上了,眼前只剩一套陌生的代码和业务,开会时很多名词都听不懂。六月中旬到七月十日前后,我确实垮了一个月。任务推不动,开会像旁听,晚上躺下还在想白天那几句话。那段时间产出少,状态也差,不用别人提醒,我自己清楚。七月十日以后,我开始往回爬,翻文档,啃代码,主动接以前没碰过的活,重新梳理自己在新方向里该负责什么。速度不算快,好歹又能交东西了。
- 入职,接手测试 Owner
- 搭建自动化、看板、CI/CD 和质量工具
- 架构调整,工作方向和上下文断开
- 重新梳理职责,逐渐恢复交付
- 看到绩效评价
七月底,绩效评价结果出来了。结论比我预想的差不少。让我火大的,是里面几句对工作态度的判断。那一个月状态差、产出少,我认。哪件事没做好,列出来,我也认。可把那段状态直接写成工作态度有问题,我不认。
我工作十年,第一次在这件事上被这样评价。对我来说,做差了就认,该返工返工,该挨批挨批。但说我做事不真诚,或者态度有问题,至少得告诉我是哪件事。实事求是是我做人做事的底线,我不会为了一个结果把这条扔掉。代码、提交记录、上线记录只能说明我做了什么。那几句判断来自哪里,我不知道。在写进结果以前,也没有人来找我核实。等我看到时,它已经成了结论。
那一个月状态差,活也没做好。具体哪件事有问题,可以摆出来。
没有找我核实,只有几句没法核对的转述,就把问题落到工作态度上。
那一个月的问题,我认
从换组到绩效沟通,中间隔了一个多月。那段时间,新主管找我聊过一次,前后只有几分钟,内容几乎全是业务:手上的事情做到哪里,接下来准备怎么推进。那次谈话没有问过我的身体和精神状态,也没有告诉我,我当时的表现已经严重到会影响绩效评价。现在回头看,那段时间我在工位上其实很难待下去,反应总是慢半拍,接到任务也推得磕磕绊绊。如果当时有人直接告诉我「你最近状态不对,这样下去不行」,我多半会难受,也可能嘴硬。可我至少知道问题已经很严重。聊完那几分钟,我没想到这段低迷已经被当成了工作态度问题。
等我自己爬出来再回头看,那一个月已经被写成了另外一种样子。前面两个多月做的东西,后面恢复以后交的东西,在那次评价里几乎看不见。我写了一份很长的说明,按时间拆开,做过什么、哪里没做好,全写了。垮掉的那段,我给自己的判断和对方差不多。我没想替那一个月找借口,只是不同意从状态差直接推成我这个人做事有问题。
发出去以后,主管回了一句:「这个已经定稿了。」我盯着这句话看了一会儿。行吧,那就说明我这份说明改不了结果。那天还是很生气。
直属主管负责的团队有几十个人,很难和每个人长期沟通,对一个人的了解难免会依赖少数人的反馈。这个现实我能理解,我也没有证据点名是谁。可那几句关于我的判断没有先来问我,新主管那次简短的业务沟通里也没有提醒我,这些问题已经严重到会影响绩效评价。
我不知道那份总结在哪里形成,谁说过什么。我只知道,我没参加那些沟通,结果里却已经有了这些话。我不准备一个个去问。几十个人里追一句话的出处,只会继续耗时间。我不知道是谁说的,可结果已经落在我身上。
评价形成前,没有人拿这些话来找我核实。等我看到时,它已经写进结果。
我说的纯粹
以前待过一些团队,大家也吵,也抢,也会在意谁做得更多。可我一直觉得,研发团队本该纯粹一点。方案有分歧就吵方案,资源不够就谈资源,最后看东西能不能跑,问题有没有解决。大家不一定互相喜欢,也用不着装得很亲密。
我厌恶的是另一套。有些会还没开,结论已经差不多了。说一句话要先看谁在场,事情做完了还得猜别人会怎么讲。大家都是做研发的,本来有那么多东西可学,时间却花在揣摩人和站位上。我看着只觉得浪费。
我不太会这个,也一直不想学。说得好听是认死理,说得难听一点,就是我总以为把东西做出来已经够了。8.34 万和 13.4 万都留在页面上。以前我觉得这就够了,现在知道,事实还得自己说出去。
外面正好很热闹
偏偏这段时间,技术上有太多东西值得看。模型隔一阵就换一轮,工具也跟着变。几个月前还要自己拼起来的流程,现在一个 Agent 已经能磕磕绊绊跑完。我最近很喜欢把一个陌生仓库丢给它,看它先翻哪些文件,什么时候走错,卡住以后会不会自己换路。有时它改出一坨东西,我边骂边回滚;有时它真能找到我漏掉的那根线,我会对着屏幕坐直一点。
我已经很久没有这种兴奋了。一个 Agent 把仓库翻得乱七八糟,我还是想看它下一步干什么。工具调用、上下文、评测、记忆,现在都没有定型。做测试的人站在这里,旧经验能重新用一遍,也有很多东西得从头学。我不想把这几年耗过去。旧办法不好用就拆掉,方向看错了再换,先动手。
可有些会开完,我记住的只有座位、语气和谁没有接谁的话。有人很擅长判断一句话该让谁听见,一件事该在什么时候提起。我知道这种能力在办公室里有用。可我还是觉得可惜。
我也不是站在外面说这些。那一个月里,我同样没把时间花在技术上。电脑早就合上,脑子还在替白天的场面补台词,等终于安静下来,已经没有力气再打开编辑器。这件事不能全推给环境。那一个月,我确实被这些东西拖着走了,技术没学,活也没干好。这个亏已经吃过一次,我不想再吃。
水也会撞
写到这里,我又想起「Be water, my friend.」以前我总把它理解成适应,最近才注意到后半句:水会流,也会撞。我说的变硬,也在这里。我不想为了自保去学同一套东西。我只想下次碰到同样的事,别再按原来的方式接。
以前我的办法很简单,先把场面接住,有什么不舒服回去再说。别人给出一个含糊的判断,我会猜他大概想表达什么,再替他补上合理的部分;任务边界不清楚,也先做起来,觉得东西出来以后自然会清楚。这套办法帮我扛过不少事,也让别人习惯了我不追问、不拒绝。出了偏差,我还会先从自己身上找原因。
以后再听到一句悬在半空里的判断,我先问:具体是哪件事,发生在什么时候?对方如果说不出来,我就停在那里,不替他补。有人把我没做过的事算到我头上,我会当场说清楚。该拒绝的活,也不会先接下来,熬到半夜再怪自己。
我也不想再等到结果出来,才写一份很长的说明。手上的事情做到哪,有什么卡点,平时就发出去。真碰上对我的定性,就把相关的人约到一起,当面说。别让一句话在几个人之间转一圈,最后变成另一回事。
做过的东西我会固定写下来,短一点,发到该出现的地方。以前觉得像邀功,现在不管了。有问题就当场问,我不想再躺到床上补对白。办公室里的这些事我会看,也会开口,但不会拿它当主业。手上的核心链路压测还没做完,先把它做完。