Info

全文共计12920字,预计阅读时长32min,记录的是我2022.02-2023.01的经历

勇闯CYA的791天(3)——「这些残暴的欢愉终将以残暴为结局」

导读

These violent delights have violent ends.

这些残暴的欢愉终将以残暴为结局。

这句话出自莎士比亚的《罗密欧与朱丽叶》,但是我第一次听到是在《西部世界》里。如果要用一句话描述我在CYA的最后一个项目,我心中飘起的一定是它。

将violent翻译成“残暴”属实无法体现出英语原文的魅力,我可能更愿意把它翻译成疯狂、混乱或者是失控。

Pasted image 20240327145944.png

:爱过。

之前提到我转岗到英语编辑后的主要任务是制作词书,偶尔接一接出版的需求帮忙制作出版物,每天招招实习生,处理单词报错和用户消息。在2021年课程大战的背景下,这是一个闲职中的闲职,因为这些任务除了出版提的原创教辅需求之外,属实没有什么难度。

我当时制作的词书多以2016新课标英语课本为主,大部分单词的释义在系统中都已经有了可用的句子,因此需要写的新图句其实不多,大多数还是核对单词释义与课本上的释义是否一致。当我们把一个季度内要完成的所有课本清点完数量之后,大家就基本没有关注过我了。

因为事实上很长一段时间内,词书更新都是一个可有可无的事情,大家似乎也不太在意这件事情。当APP的该有的学习内容都趋于稳定之后,搞钱才是最核心的使命。

因此在我接手前,APP上所背到的课本词书几乎都还是旧课本单词表。新课标,或称部编版课本,在2017年就已经在全国大范围开始使用了。虽然不同地区淘汰旧教材的速度不尽相同,我们甚至在2021年才开始更新这一批教材的词书。

我记得我刚刚做词书的时候,内部书号才350左右,在我走的时候书号已经膨胀到了接近600。也就是说,我在1年多一点的时间内做了200+本词书,几乎是过去6-7年的总和。

处理单词报错和用户消息反倒成为了我每天工作唯一的成就感来源,用户会真的给客服发消息询问英语问题,提问千奇百怪,她们只能转到我这,由我带着实习生一起去回复。除去那些给词句纠错的反馈,每天都能处理十几条各式各样的问答,能够充分调动我的语言学知识,也很好地锻炼了我的教学思维。

有时候用户觉得我们的词根助记有误,我要对着词源字典核查才能解释;有时候用户会对一些我一时半会儿无法解释的语法现象发问,我还得回去翻翻以前自己的课件才能答上来。印象最深的应该是notational passive以及「为什么help后面不用+to」a.k.a bare infinitive,现在回想起来整个研究过程还挺挺有意思的。

由于客服对接群会收录所有类型的用户消息,除了英语的,程序bug的消息也有,大群里的人鱼龙混杂。我们每天下班前会在群里答复客服,客服再把群里的消息转给用户。我们每次发这些巨长的文字答复时,字里行间充斥着各种各样的专业术语,有时还有一些法语、德语的其他外语内容穿插其中,极其惹眼。但因为是解释给用户听的,我们会尽力写得通俗易懂,因此偶尔会有一些客服会过来私信我说「今天又涨知识了」。

我不仅装了逼,还(十分罕见地)收获了赞扬,第一次真实地在为我能在工作里用到专业知识而开心。

 

虽然一开始我认为我自己是被“发配”来做词书的,但是时间久了之后其实也对这件事情产生了感情。因为只有我一个人在做这件事,很多涉及到词书的业务也都需要有我,颇有一种找到了自己“一亩三分地”的感觉。这偌大的公司也有我的容身之处了,哪怕是个很边缘的业务。

时光一转,“双减”落地,以往专门招进来写稿的教研们不得不寻找新的工作方向。有些是为出版和运营等其他部门的业务持续输出内容,有些则是开始做四六级或是考研的项目。

其中一个教研M被派来和我一起做词书,她主要负责的是前期的用户调研——调查用户对于词书的需求,以及后期的用户测试——了解用户用这本词书的学习情况以及反馈。当她确认好我们这本词书要做成什么样之后,她就会把制作内容的需求提给我,由我负责把图句制作出来,并由我完成几乎所有的系统操作。

她的出现无疑是对我“领地”的一种威胁。在我好不容易与自己和解,在好不容易建立起自己内心的秩序和工作的边界之后,突然有一个人闯入了我的舒适区,我一开始的反应是抗拒的。

我的+1曾和我说过,「其实我们以前是不分英语编辑和教研的,只是因为之前你做不来教研,才新增加的职位。我们之前词书制作工作都是维持性的,现在我们要正式重启制作计划了,量会很大,而且对于词书的质量要求也会发生变化,所以需要有一个人来帮你。」

言者无心,听者有意,我再次陷入内耗。

纵使之前做词书的时候,我自己也做了调研和测试,在她的眼里仿佛都是小打小闹,现在需要一个更专业的人来接手这一切。我甚至不需要思考,也不需要参与,只需要M把东西都整理好交给我就行了。「喏,就是这些词需要新写句子」然后我就死命写就行了。我害怕当我把做词书的全流程教给她之后,我就可以被扔掉了。

好消息是,在经过之前一年的鞭笞,我没花多少时间就从这个思维的风暴中解脱了过来,与M建立了挺融洽的工作关系,两个人打配合一起完成了很多词书,乃至于在之后没营养的battle里也获得了一些支持。我甚至主动地给她写了一些Python脚本,方便她做一些筛词的工作,这一段经历被记录在这篇文章里了。

现在再回过头来看自己这段内心世界的成长历程,想起来也有些好笑。

我喜欢做词书吗?爱过。

从嫌弃到乐在其中,从一个人到两个人,再到接下来的一群人的指手划脚,我的感情是复杂的。「爱过」便是我对它全部的真情流露了。

「她不会是要挖你吧!?」

在开始讲述疯狂的最后一个项目之前,还有一些突然冒起的小回忆。

之前有提到,由于在整个2021年间只有我一个人负责词书的维护以及其他学习内容的更新,我逐渐变成了线上学习内容的唯一对接人,甚至整个后台系统的操作也只有我一个人最熟悉。公司在“双减”后成立了很多新部门,主要探索成人英语的业务,但凡涉及单词数据的事情都叫上了我。一来二往,我也终于有机会窥见其他项目组的工作状态。

当时公司成立了一个专门的部门做考研的项目,时任负责人是教育背景、教学经验经验听说非常厉害的H老师。我一开始对她的印象只存在于之前所有项目集体磨课,其他教研开完会回来之后经常提起H老师给了许多一针见血的评价,不像在我们部门给的都是一些很浅层次的反馈,例如「这里学生可能听不懂」,然后又没有很好办法地跟你解释为什么这里学生可能听不懂,问就是「我的教学体感比你多,你先改」。

因为考研部门要做课,似乎也要做一个独立的背单词APP,于是H老师派了一个刚刚入职不久的新教研和我要一些资料。她找我要考研的试卷和近5年的高频词,并问我这个高频词的统计逻辑是什么。

我的高光时刻来了。

Part2提到了我自己从0到1推进的出版产品里,我自己计算了高考单词的词频,并且每一个单词都配了2道真题原题,这件事情如果是人工在word上做将是难以想象的工作量。于是我用了这篇文章里分享的内容,自己写Python脚本跑。统计词频的代码是从Github上复制的,找真题原句的代码是我自己写的。

当我把高频词以及每个高频词的出处原句发给那个教研的时候,我可以感觉到对面起了一阵骚动,因为H老师过了5分钟直接来私信我了。她仔细询问了我算法的具体实现逻辑,哪些词会算进去,哪些词不会算进去,单词的不同屈折派生变化如何统计等……字里行间能够感受到H老师在这件事情上的专业。

事毕,她突然给我来了一句,「我看你简历好像是学语言学的,大学上课教这个吗?」震惊之余,我答复「不是的,只是蹭过两节隔壁信息学院院的课。」心里暗喜,一是深知H老师似乎是公司元老之一,她竟然直接去看了我的简历,这多少算一件入职以来为数不多的好事;二是感觉到终于有人认可我了,或者说我似乎终于找到了一条所谓的护城河了。

一个会写代码做业务的英语编辑,听起来还挺酷的不是吗?公司的编程项目组真应该找我采访,然后写进用户故事里。

那天晚上下班前,我找到我的+1,带有一定炫耀成分地和她说了这个事,「我不是一直在写代码干一些杂活吗……今天H老师竟然去要我简历了欸!」她回了我一句「啊?她不会是要挖你吧?」我已经记不清当时她的表情和语气了,因此我现在也很难再回想和推断她对这件事情究竟是什么态度。

然后她问我,「如果她真的挖你,你会走吗?」

我当时心里的答案是「一定会」,但是我当时还是想方设法搪塞过去了,临场撒了个谎,我也不知道她有没有看出来我的心思。

 

简历这件事过了两天,我借着这个契机去和+1提想推动做一个类似于题库的东西。

当时我们组内所有的教研,不管是在做哪个考试,基本都知道我能够用代码算词频、跑句子,偶尔会来找我帮忙。虽然这个东西用代码点一下就能出,但还是非常麻烦。倒不是说不愿意帮这个忙,我非常乐意,帮她们也是在帮我,但问题是每个人手上的题目版本是完全不一样的。负责四级项目A的教研手上有版本1的题,负责出版四级练习册的老师手上有版本2的题,另外一个项目组负责四级项目B的教研手上有版本3的题,当她们同时找到我跑词频,我需要给她们跑3遍。每个人都通过压缩包的方式给同事和自己的实习生传递真题,混乱不堪。

每一个项目的教研之间是不信任彼此的,虽然也都是近5年的真题,每个人都坚信自己手上的题目是最完整的,也是乱七八糟格式处理得最干净的。她们都担心自己的词频数据不准,所以都想自己处理原始数据。

OK,fine。

但是你不觉得这个很扯吗?只要每次新做一个项目,就得有一个教研带着实习生再去网上找一套题目,再从头到尾清理一遍格式,我跑完数据之后再发下去给自己的实习生做业务,光是走完一遍这个流程都过了至少3天了。我们组尚且如此,其他新成立的项目组更不必说。

如果能有一个可供所有人查阅的数据库,大家一起维护,所有人都用的同一套题目,甚至能够轻松支持查找真题句子出处和单词词频,无论是做出版、做课还是做线上背单词内容,不敢想象这有多么便利,能减少多少无效的工作。

我草拟了一个方案,把上面提到的优点和收益整理了一下,写成文档,约了我的+1去聊。果不其然收到了婉拒。大概意思就是她也理解我的想法,也知道这个东西对于教研帮助极大,但是现在资源比较紧张,集团有集团自己的目标,很难去推,但是我的想法已收到。

犹记得刚入职的时候,我对系统后台也提了一个类似的提议,当时正好是刚入职时摩擦最激烈的时刻,我的+1非常严肃地跟我说过这样的一些话「我理解你想做一些数据基建的事情,但是我们招你来是让你做给你安排的工作的,不是你想做什么就做什么的。」

当然这些都是预料之中的,但我要说的是,在我提出要做这个题库被婉拒后不久,教研产品们就着手要自己做一个类似的东西了。

我记得当时是隔壁家产品做了一个真题查词的功能,可以在APP上看到各个考试排版干净、整洁的真题,点击真题里的任意单词就能立刻看到这个单词的意思。点击某个按钮,还能立刻看到这篇文章的翻译和解析。她们的任务就是照着做一个类似的。

好的,既然我们也要做这个真题查词功能,我们是不是得让编辑们把各个考试的真题再好好地校对一遍,然后上传到我们的系统里。虽然我已经不知道这是第几次干这个工作了,但是眼前的这个机会似乎可以成为最后一次。后台有数据了,我们只需要一个展示的地方就行了。不说能不能做一个导出为txt、统计词频甚至是与其他业务联动的功能,我们仅仅是需要在后台页面上浏览到已校对版真题就已经能帮大忙了。

然而我失算了。

时任教研产品经理W义正严辞地拒绝了我。她说我的需求就是一个能够看真题和点击查词的功能,其他的功能都不关她事。

我可以理解,毕竟这确实不是她的工作。

但是我尝试说服她,这件事情要是做了,之后她要做的备考模式大项目得有多么简单和顺畅,仅仅需要提前规划一下就好。但她仍然不买帐,这次摩擦为我们之后一起共事的最后一个大项目埋下了许多伏笔。

「可是这不满足我的需求」

备考模式是2022年的重点项目,公司倾尽了许多资源。由于“双减”的影响,全项目组很大一部分精力放在了迭代原有的背单词流程上,而这一巨大项目的负责人则是我的+1以及前面提到的W。

备考模式设立的初衷,是大家注意到原有的背单词流程已经无法满足用户的需求,W的调研显示超过90%四、六级和考研的用户都是严肃备考用户,于是我们需要为她们开发一个专用的模式用于备考。

当时的分工是我的+1负责掌握全局,由W作为教研产品经理全权操刀设计,而前文提到的M作为内容教研提供教研支持,我作为没有任何教研能力的英语编辑支持量产。由于在很长一段时间里我们项目组大部分的内容量产都是我在做,实习生大多签在我的名下,我变成了一个手上管着快20个实习生的“量产负责人”,负责分配工作以及按时交付内容。而M所提供的教研支持指的是给产品提供英语上的意见,并监督我的产出是否出错,以及是否满足“教学目标”。

当我们开完kick-off会议之后,我和W的合作迅速出现了巨大分歧,甚至演变成了冷战。

设计一个新的背单词流程涉及到设计新的背单词题型,这就涉及到很多教育学和语言学相关的知识了。我和W的分歧便来自于产品需求与客观规律的冲突。在这个博客创立之初,我所写的几篇文章记录的就是对于这些分歧的思考。

 

在《权威字典们的单词音节划分问题》记录的便是W设计的音节背单词题型。在以往的学习流程中,拼写题型的流程繁琐,耗时过长,于是W便提出用音节代替字母拼写,减轻学生的负担。

我们的争端起源于使用哪种音节拆分方案。我的建议是使用音韵学的Maximum Onset Principle(MOP)进行划分,不仅符合直觉,而且系统。但是W的方案是直接采用韦氏字典的方案,但是它的规则让人摸不着头脑,例如会把mother拆成moth·er,balloon拆成ba·llon,学生会晕,编辑也会晕。在W的初版方案中,她甚至要提出给单音节词划分音节

在《背单词软件们的词根词缀问题》记录的是W想要设计一个词根词缀背单词的题型,例如「全部 + 拿住 -> 全部拿住 -> (单词填空)」,并希望学生推理出「全部=con」,「拿住=tent」,「全部拿住=content」。但是这同样不符合客观规律,因为不是所有的词都能写出A+B=C,而且这样的题型无法用来记住多义词,也无法给单音节词做设计。

在《统计和展示单词真题词频的问题 》这篇文章问世时,我们的分歧达到了一个巅峰。我的观点是词频统计市面上已经有非常成熟的解决方案,并且也有很多好用的工具可供使用,大多都用的词型还原的方法,系统且清晰。W坚持在做词频统计的时候要把所有的派生词统计进去,然而现阶段的分词工具其实是不支持做派生词的,涉及到非常多的例外情况和手写规则。

更何况派生词的数量众多,意思各不相同,在实际选取展示的过程中又要涉及到取舍问题,所有的这些思考都被记录在了《什么叫做常用词? 》这篇博客里。

 

眼看着提出来的内容方案一个个被我否定,但是开发的排期已经排上了,W的内心肯定是焦灼的。在第一次内容量产会议之后,进度直接卡在我这里了。

+1来劝我,说理解我和W的分歧点,也很感谢我的意见,并希望之后我也能继续这样帮助整个团队提出意见,但是我们还是得按照W的方案来做,看看有没有什么折衷方案。我无语。

但是我扪心自问,我愿意提出这些反馈完全是出于专业知识才提的,绝无半点为难她的意思。但是你让我给单音节词划分音节,让我接受inner是in的派生词,以及beer是考了4000多次的高频词,我实在无法做到,愧对我在大学接受的4年语言学学习。

我记得我当时还和M调侃,「如果有一天我离职了,我绝对不敢说这个模式是我做的,别人会认为我极不专业。」

一次沟通不顺利尚可以理解,如果每一次方案都在我这无法推进,不免让人有一种我在针对她的感觉。无论我给她的论据多么充分,她最后都会用一句「可是这不满足我的需求啊」来终结比赛。只要是她的需求,无论再奇思妙想的脑洞我们都应该满足。

写着写着翻看以前聊天记录,在第一次“吵架”过后,我和+1 1-on-1聊最近的工作感受不是特别好,她问我要不要把W叫过来一起当面说清楚,我爽快地同意了。我主动让步说希望能解决问题,不然现在的氛围势必影响之后一起做业务。结果她当着+1的面和我说「我对你怎么做量产不感兴趣,你想跟我说也可以,但我不会听,也不会干涉你的做事方法。同样,你对我的产品设计想提建议也可以,我也不会听。」+1面露难色,但迫于职责压力说了许多场面话才把气氛拉回来。我心如死灰。

在第二次我们非常激烈的争辩过后,我放弃了挣扎,因为每一次最后+1都是向着她,这毕竟也是她的项目。

我还记得+1还和我说过两句令人印象深刻的话,一是「W想事情其实想得很清楚,可能只是不善于表达和沟通,你要多理解她」,二是「产品是需要勇于创新的,如果大家都做一样的事,伟大的产品就不会诞生了。」出于她leader的职责,她需要发表这样的拧绳发言,但是此时的我已经不会再买帐了。

我和W进入了冷战,除了必要的工作沟通我们再也没有发过消息。而后甚至工作会议我甚至以忙碌为由便不再参加,让M去参加,然后我再和M私下讨论如何满足各种稀奇古怪的内容需求。想到这里也是很对不起M,让她被架在火上烤。

我甚至还很油腻地、班味很重地在群里发一些“免责声明”,类似于「如果按照这个方式完成量产,编辑会遇到哪些问题,用户可能会提出哪些疑问……请知悉风险」等,并同时at W和+1。

现在的我再回过头来看这些经历,觉得确实挺幼稚的。现在的我已经知道怎么更成熟地处理这件事了,但我仍然不想成为那样班味重的人,我想多保持一些人味。

残暴的欢愉

如果仅仅是与W的合作不是特别融洽,这肯定不能算是疯狂、混乱和失控。

在进入大规模量产之前,W做了个1.0版本的Demo测试,选取的用户大多都是来自运营私域群的核心用户。依稀记得1.0的数据除了次日留存高了3%,其他的所有数据均不显著。我还记得当时的开发对1.0版本的结果同步非常之愤怒。话里话外在说——我们决定继续做2.0的测试,用户好评的点在于产品设计,差评的点主要在前端UI体验不够流畅。

2.0的测试将会比1.0更大,需要的数据也更多,题型也更多。有了之前的隔阂,2.0的需求评审会W甚至没有邀请我和M参加,进一步埋下了隐患。

在W的视角看来,她的产品评审通过之后,内容再同步我和M生产就可以了,不需要过问我俩的意见。她可以逃避我和M对于内容生产问题的拷问,但是逃不掉逃避问题带来的后果。

内容上的分歧尚可以找到折衷方案,但是W完全忘掉了编辑录入内容是需要一个后台这件事情,她的产品需求全部是围绕着C端展开的,根本没有想过B端也会有需求。编辑做了怎么录入进去,录进去之后怎么审核和校对,上线之后如何在后台查看……她完全忘了。

C端期已排好,围绕着这一系列的数据录入的后台建设工作此时几乎无法再插队安排进去了。这是一个巨大无比的项目,箭在弦上不是不得不发,而是已经发射。由于这个问题过于庞大,我们又开了一次评审会,这一次我和M终于被邀请上桌吃饭了。

我主动提出——我和负责后台的前端R、后端K哥都比较熟。其实以往我们就经常一拍即合,对后台做过许多便利性的更改,已经很默契了。内容制作大约还有xx天,如果在那之前空出来了,就让R和我一起做个够用的页面,能给产品和编辑们有地方看做好的内容就行。我这边写代码来做录入的工作,因为这个内容量让人工上传也不现实,而且反而更容易出错。

眼看当下是绝对不可能再抽出一个产品做后台设计,再抽一个前端来写B端的页面,因为他们对这个编辑后台一窍不通,只有我、R和K是最了解的。最后大家同意了这个方案。

让我来尝试跟你们描述一下这个工作量有多么夸张,我们总共需要完成以下工作:

  1. 真题例句
  2. 图句
  3. 单词助记(分成象形、谐音、联想以及词根)
  4. 音节划分及各音节的音频
  5. 派生词
  6. 词组短语
  7. (还有很多细碎的整理校对工作)

这还没有完,我们还要把上述内容再乘上四级、六级和考研的所有词书(n=8)。本来还有一个单词词频,如果不是W找开发提了,最后应该也是我来算。但是W坚持使用她那一版算法,让用户看到了考了4000次的beer(同时也是be的派生词),有反馈再人工做修改。

聪明的你可能会想,我们可以把所有的词书单词去重,然后再去评估工作量。这个想法不错,但是我们其实不能按单词筛查,而是按照释义。不同单词在不同考试考察的意思不同,比如milk在初中只考“牛奶”的意思,但是在考研可能考“挤奶”或是“榨取”。因此,除了音节划分、派生词和词组短语是单词纬度的去重,所有其他任务需要翻找出给定单词在不同考试里的释义,并拉表对比,方便生产工作。

这个工作必然不可能是人工在后台一个个点击翻查能完成的。我们的后台在我的提议下虽然已经支持导出部分数据储存为csv格式,但是比对释义并给出一个最后总的工作量,只能靠写代码了,而且是靠向后台服务器发http请求直接拿数据。这便是我在这篇文章里所记录的内容了。

这种需求提给开发,不用说一定会被拒。所有的前后端工程师们都有更重要的工作要做,谁会想当这个脚本侠?

好的,那就给我吧,谁让我也在管线上学习内容数据呢。我不嫌脏和累,还能训练一下我的代码技能,这才是真正的带薪学习!

当我把所有数据都跑完、算完,所有这么多词书总共需要制作将近1w+条目的内容,每个条目都要有上述7类内容要做。我不知道为什么W执着于在这样的一个测试上做全量内容,一口气做完上线做测试,而不是滚动更新。这样的工作量需要在2-3周的时间内全部做完,真的很恐怖。

W在会上和我们做内容的三个大头兵(我和另外两个内容教研)说,人手和预算不是问题,要招多少个实习生和外包都可以,这是一个全公司合力在推的重点项目!

我再一次不得不班味很重地和她解释,有个定律叫做阿姆达尔定律,假设把水烧开需要10分钟,然后煮面条也需要10分钟。即便你找到一种方法加快烧开水的速度,做饭的时间也不会少于10分钟。任凭炉子再旺,也不可能将做饭的速度提高到两倍。

这么多人生产内容带来的审核、校对压力是难以想象的。内容做出来,看都看不过来。

她说「没关系,我也可以帮你们审。」我脑海里闪过她想要给单音节词拆音节的事,拒绝了她。

最后这些内容是怎么做的呢?

首先所有前期的数据整理和准备工作全是我写代码做的。然后因为实习生是签在我名下的,也是我招的,我来负责评估工作量和分配人手,帮助另外两位内容教研一起做内容。

所有可以通过脚本加速制作的内容都由我一个人负责,如给单词配真题例句,去权威字典爬取派生词和词组短语(这也是我在这篇这篇所分享的内容)。由于图句是我长期以来负责的板块,因此图句也是由我负责带着实习生们撰写的。音节划分由于需要调用微软的语音合成API,因此也是我负责的(这段经验被记录在了这篇文章里)。

M和另外一个教研主要负责机器无法量产的文字内容,如单词助记、真题例句翻译以及所有的审核校对工作。虽然我已经包了大部分的工作了,但这也是非常恐怖的工作量。

最后由于没有后台,所以所有的内容上传也都是我写脚本操作的。在正式进入大规模量产之后,有好几天我每天上班打开的页面都是PyCharm

我真的觉得这一切都实在是太疯狂了,继之前英语编辑做数学和语文之后,英语编辑每天打开IDE的时间和石墨文档和表格的时间一样多……

 

但这还不是最疯狂的。

最nm疯狂的是,当我们累死累活要赶着国庆前上线的最后ddl时,在国庆假期前3天,突然开发提了一个叫做小流量测试的东西。说要正式上线测试之前,要再做一个少量用户的测试,直接发布到正式的环境,让真实的用户走一遍这个流程看看有没有什么问题。

这是在需求评审以及产品文档上都没提到过的的东西,可能有提过吧,但是至少这件事情在我们做内容的人眼里从来都不是一个截止日期。这意味着我们所有内容的截止时间其实要比想象中的还要早3天。

此时后台还是没有开工的状态,我记得我们直到国庆后的第三、第四天才在后台有了一个可视化的页面,能够直接查看内容和修改。

这就意味着,不仅内容上传只能我来做,当其他两位教研审核查出内容有问题,做修改也只能让我用代码来改。

由于有部分内容不是经过我手的,编辑们交给我的表格内容不一定完全符合我的要求。有的时候内容里会夹一些非Unicode字符;有的时候是内容分隔的方式明明约定好是换行分隔,但是编辑或者外包用了tab缩进或者空格;有的时候是在不该留空的地方留了空;我还需要确保我上传的payload数据结构能够被后端的的API接受;我还得在几乎没有可视界面的情况下找到问题并解决问题……

所有的这些细碎的细节都成为了隐形的炸弹,我需要小心翼翼才能保证不引爆。我能感觉到我的代码能力在这种实战环境下突飞猛进。

然而炸弹还是炸了。

当我完成了95%左右的上传任务,在传最后一本单词较少的小词书的时候,上线前的测试已经在同步进行了。测试跟我说派生词的数据为空,显示不出来。

我去追查了一下,不出一会儿就和后端一起发现了问题,是一个非常小的bug。原本约定好留空的一个字段,需要前端做一些规则的筛选来展示,但由于我上传时默认给的是空的数组,这个字段的内容就不再是null,而是空数组,因此前端规则就不适用了。

但是本来这个地方就应该该是什么数据,编辑就做什么数据上传。由于W的一些奇思妙想,才在临上线前被迫改成了编辑留空,前端女娲补天的形式。

这个测试引起了W的信任危机,她开始紧张是不是其他的内容也会有问题,和+1说一开始或许就不应该允许我做这些事,以后还是要让开发来协助编辑们做后台数据的上传工作……

百密一疏,莫过于如此。

好在最后这件事情确实落实了。国庆后的上传工作,由后端负责人亲自对接,他来与编辑们约定需要给他什么样的excel表格传数据。+1、+2和W也终于意识到了编辑们的B端需求,并答应在未来的产品需求中征求我们的意见,会找一个专业的后台产品经理,推动相关配套的建设。

至此,我在CYA的最后一个大项目,随着这个备考模式的上线画上了句点。

当然其中的细节远不止这些,诸如团队内讧、无效外包以及尴尬的复盘会等,但是碍于选题和篇幅无法一一记录。这些陈芝麻烂谷子随着时间的推移,我也有些忘却了。

疯狂、混乱且失控的8、9月几乎占据了我在2022年工作期间的所有记忆。

残暴的结局

上线后的数据和1.0一样依旧很难看,但是W提供的用户反馈依旧很好。

但是由于我基本没有参与其中的会议,当这个结果出来后,虽然暂停了继续制作和迭代的计划,+1、+2和W仍然觉得这个模式是可行的,这一点让我受到了不小的震撼。

公司对于这个项目的看重其实是看得见的。当时甚至有一个专门的项目组做流量探索和投放,还重金挖了一个据说很厉害的人负责这块业务。据说流量探索的组员在做用户访谈的时候,得到了和W完全相反的用户反馈。还有一个听到的瓜是说,当空降的这位投放负责人听闻这个数据的时候,他“震怒”。我从来没见过这个负责人长什么样,时至今日想象起“震怒”二字配上一个大厂中年高管的脸,仍然能够给我带来不少的快乐。

虚虚实实、真真假假的瓜,这些都是过眼云烟了。

 

在国庆后,我的+1约我喝咖啡,和我聊一聊并复盘混乱的8、9月。

在等待咖啡送过来的间隙,我们尬聊了一阵,我可以看出我的+1非常疲惫,仿佛整个人的精气神被榨干了一般。她在向我吐槽自己很累,很想出去走一走,看起来整个人都burnout了。

当时看了一些关于向上管理相关的文章和书,我先手向她提问,我说我想听听她对于我做备考模式这段时间来的表现。

她犹豫了一会,开口了「我对你的表现……」她的表情告诉我她在拼命寻找词汇。隐形炸弹爆炸之后,我能明显地感觉到,从她的视角看到的完全是另外一个世界,我仿佛又回到了刚刚入职时写稿的那段时光。

我的心情是复杂的。我知道最后我确实把null失手写成了空数组,引起了一阵波澜,做多错多,但是我想知道这些事情在她眼里究竟价值几何,想听到哪怕只有一次她肯定一下我做的这些事情。

在等她想好措辞之前,我忍不住补了一句,「是不是不满意?」

她脱口而出,「是的。」

Seriously?

「同时协调二十多个实习生和外包我有哪些地方做得不好吗?我们难道没有准时上线吗?这么多内容,如果没有我,谁能做得来?从结果来看,难道……」我的怒火涌上心头。

可能是我一连串的发问重新触及到了她作为我+1的那根弦,她的班味一下子涌了上来,整个人的表情犹如变脸一般变得严肃起来。

答曰——内容制作是你的本职工作,我不管你是用招人的方式做,还是用写代码的方式做,这些都是你应该完成的工作。从结果上来看你确实完成了,但是整个过程还是有很多问题,就拿你写代码这件事情说,你能写代码很好,但是最后还是出现了一些情况……这些问题是系统性的,都是以后可以解决的……你可能觉得你自己做的很好,做了很多事情,但是其他合作者可能不这么想,她们给我的反馈可不是这个样子噢……

啊,多么熟悉的场景啊,一切都还没变。

是啊,为什么她们会想要一个会写代码的英语编辑?后台没搞好就让开发做啊,这次B端需求没重视到下次就改流程啊,我引以为傲的能力根本不重要。

我的怒火瞬间褪去了,爱咋咋地吧。我假装在听她说话,但是心里想着的是怎么回去把这些告诉我们一起做内容的小伙伴。对,就是那些她嘴里说「可不这么想」的合作者,我们一天可能能在小群里吐槽一万遍这个项目吧。

无论她们背后是否真的对我有意见,我都觉得这个世界真tmd疯了。以前的写稿什么的可能都是小打小闹,这个才是我的职场第一课,人生第一课。我不可能再像这样去付出了,不可能。

K哥之前和我语重心长地说了很多次,不要暴露自己的能力,如果她们知道你能这样轻松地做到这些事情,以后就会没有底线地去要求你。这话我只听进去了一半,知道这个大招不能随便开。

让我下定决心开这个大招的,是做完1.0的demo之后,我的+1给我画过一个饼。她说我们现在要做的内容非常多,确实缺一个统管量产的人,这个人可以是你,也可以是其他人,但是这个位置现在是open的,而且是管理岗。我也确实在BOSS直聘上看到了她们在招一个高级英语编辑,最低的base比我现在还要高3k。我心里想着接下来做的所有事情全都在我的舒适圈里,而且我还有大招攒着没放,是值得拼一拼,这个饼我咽了!但是这个位置到我走之前都没招到人。

看着职位描述里字字句句都和我现在做的事情一模一样,我感觉我还是和开发小伙伴吃饭吃少了,PUA和画饼的幻术只解了一半,没解完。

 

这之后我就几乎再也没有在我的工位上办过公,这是我一种幼稚且无声的抗议。

以往不忙的时候我经常会搬个小板凳去R和K哥中间坐,缠着他们教我一些计算机技术,调接口、多线程、代码优化都是在他们的帮助下,拿着真实的业务需求一点点学会的。国庆后几乎就没有新需求了,每天的维护性工作在脚本的加持下不到2个小时就做完了,剩下的时间我都凑过去玩。

开发的负责人L看我天天搬个小板凳过去,经常调侃我「又来学习啦,有没有交学费啊。」经过之前备考模式的那一波混乱,我和他的关系走近了不少,因为有些东西也不是他能控制的。看到我帮开发同学减轻工作量,他应该也开心的吧,特别是看到一个小年轻也这么喜欢计算机技术。

可能是因为我突然天天坐在R和K哥的旁边,或许是看我也有些闷闷不乐,有一天他来竟然找我约咖啡了。

这也是我第一次听到他说这么多话,我们在公司附近的河边逛了有1个多小时。作为元老的他对于公司的历史了如指掌,他跟我说了很多我这个位置的人之前的故事,并且一直在不停地跟我说做词书这件事情是多么重要。

他说「打起精神来嘛!你看,你写出来的句子能够被这么多用户看到,你应该感到开心才对呀。我每天都还在背呢……」

看着他一如既往笑眯眯的脸,我很触动。听到从他的视角叙述的故事,突然意识到了这件事情的历史厚重感,也意识到了其实我对这件事情还是有感情的。那个我曾经嫌弃简单的业务,那个我曾经“爱过”的业务,是多少人每天的学习资料。虽然隔着屏幕触摸不到用户,每天确实是扎扎实实的上千万人在看我写的句子、我挑的图片。

只是,无论我再怎么触动,我都觉得这些话不应该是由他来和我说。

我诚挚地感谢他的安慰,回去之后我的心情确实好了许多。不过在这个项目之后,这家公司确实已经没有什么值得我留恋的了。

The Day

经过2个多月毫无新目标的工作,一些关于“1230”(念幺二三零)的流言跑了出来——传说12月30日公司要裁员,但事后证明1230只是出最终的名单,真正动手是在元旦后。听到这个消息之后其实我的心境非常坦然,甚至开始幻想起来自己被裁之后我会是什么样,甚至有一阵没一阵在BOSS直聘上刷职位,给自己做足了心理建设。

当那一天真正来临时,我们组的小伙伴们一个接一个被叫走,我是倒数第二个。

+1给我发消息,让我去一楼的会议室一下。我记得我还装模作样地问了一句「要不要带电脑」,她回我「不用」。我知道+1从做备考模式开始就内耗和burnout非常严重,言语间也能透露出想要离开的想法,在她精神状态最脆弱的时候要亲自走一遍这个流程,对她来说真的好残忍。

我从桌上拿了3颗实习生送我的溜溜梅,盘算着楼下应该是有3个人在坐着,往楼下走。

推门进去我看到桌上还有2份文件,看着之前同小组的人没有像其他人那样拿着文件回来,我那一刻就知道除了我,还有谁要走了。

我把溜溜梅递给她们,我主动先开了口「忙了一个下午,应该累了吧?」然后看了一眼我的+1,她头发乱糟糟的,状态非常不好。事实上在2022年的夏天,她的头发经常是这样的凌乱。看样子是还没准备好这一刻的到来,她比我似乎更加难以接受。

我笑了笑,轻轻地和她说「没事的啦。」尝试着安慰她,真的挺心疼她的。

然后我的+2开口了,「可能你也知道发生什么了,但还是正式地和你沟通一下……」我听着她说话,但是我的注意力其实都在+1上,看起来她已经快要绷不住了,她的表情看起来非常难受。

当说到「……没有办法和你继续共事」的时候,我的+2率先哽咽了,她哭了,她说她突然想到了以前我刚入职时的一些事。我当下的第一反应其实是错愕,内心飘起六个大字,「卧槽,真的假的!?」。紧接着我的+1也哭了,爆哭。

我眼前飘起我在这的791天,纵使我的工作有如此多的不快与不顺利,纵使我在这工作的体会90%都是负面的,但是在私底下吃饭聊天、团建的时候我也曾开心过。其实如果没有工作,我们相处挺愉快的。我眼前飘过走马灯,突然也回忆起了很多事情,尤其是当时我试用期不通过时的那段时光。

我也哭了。

但是远没有表面上看起来的那么伤心。

HR来和我说赔偿的事,我说「没关系,不用看了。」我连协议上的内容具体是什么都没看,直接签字了。

我信任她们,或许和她们在我试用期时信任我是一样的。

后记

写完这个系列我最大的感受是——人是复杂的。

这个世界上没有绝对的好人坏人。哪怕我在这个系列里把+1吐槽得如此之狠,我对她还是抱有感激之情的。当我以2年后的视角再回看以前的经历,我确实能够看到刚刚从学校里出来的我有多么的不成熟以及幼稚,我也能切实地感觉到现在我的精神人格成长得更完备了。

向前看更重要。

离开后我只请了两个人吃饭,两位我在前司最想感谢的人。

我先是请了K哥一顿人均500的omakase,感谢他这么久以来对我的编程技术的帮助,以及职场琐事的指点;再是请了我的+1一顿人均1000的黑珍珠,感谢她在我刚毕业的时候相中了我,在我最无助的时候留下了我,我在她身上也学到了很多东西。

这就是我勇闯CYA791天的故事,希望能对你有帮助。


回到Part2

回到Part1