序
六月中,我们部门刚经历了解散、裁员 50%、剩下的人被打散分到其他部门,公司却又突然启动了新一轮大裁员。有些遗憾,但其实也挺庆幸 —— 这次轮到我了。

遗憾就不细说了,有人的地方就有江湖,成王败寇。但有一点我想辩解一下:我并不认为这次裁员的标准和能力有关。我擅长的是架构、交互细节、跨栈,这些我在这家公司都交出了行业一流的输出。我们部门产出的子站,无论是技术架构、SSR 还是各种交互细节的处理,都是全公司领先的。
可惜,我所在的是非核心业务部门。甚至在第一轮裁员后,我还被调去了 Backend Infra 部门 🤦♂️。在一个全员后端的部门里,又赶上「AI 来了前端先死」的大背景,你很难证明自己的价值。
而最终,也没人给我证明的时间。调部门还不到三周,我们原部门被分出去的员工就被继续清退。至此,原部门十五号人,只裁剩我的前老板和两个资历老的后端研发,留下来继续维护原有业务。
这里还有点小八卦。我前老板在得知我被裁后,曾试图把我捞回来,但没成功 —— 倾巢之下,焉有完卵。甚至连他自己,都被约了一次 1 on 1,最后一刻才被大老板撤回。
但换个角度看。
我觉得值得庆幸的是:在历经了数月上层预期失控、下层超高强度 —— 每天工作到十二点、周末常态加班之后,我总算解脱了。不管是心理还是身体,都松了一大口气。更重要的是,公司还能正常发出大礼包 🤣。
经济下行,是根源;非核心业务,是原罪;没有业绩,是导火索。上面不满意、没耐心,下面也怨声载道,苦劳被当成无能,最后部门惨淡收场。
回顾
总之,现在算是落草为寇了 😄。整理整理,重新出发,比什么都重要 —— 上一片江湖,只能后会有期了。
作为整理,先回顾一下这一年多来在这家公司做过的事。
我是以大概对标阿里 P7 的职级进的这家公司(行业内全球排名前 20),Title 是 Web 开发,由我前老板(部门 PM 负责人)内推进去。进的是一个新成立的、用于对标竞争对手、做 AI 业务的战略性部门(这个「战略性」,可以细品 👀),主要做一些结合 AI 的 to C 需求。后续也接了些交易相关的业务,从跟单、机器人交易,一路做到后期甚至搞起了 AI 内部提效(这也正是我们最后栽跟头的地方)。
一、初入茅庐
说是「茅庐」还真不为过 🤣。面试前,我就大致探了下前端的底:Vue 2、大部分页面的 SSR 只渲染了个 Header、有些页面 SSR 干脆直接给你来个白屏,CDN Cache 配置也有问题,所有静态资源(包括字体文件)统一缓存一个小时,导致隔一段时间访问,页面就会因为字体重新加载触发一次 Layout Shift。
这些都还只是一个外人就能轻易看出的问题。入职之后就更不用说了 —— 意料之中的 💩 山,以及一堆不好用的基建。不过倒也能理解,我待过的公司、尤其是大公司,就没有不带历史包袱和技术债的,大家都是 💩 山……
但庆幸的是,我进的是一个新部门,而且在前端这块有完全的话语权(因为我 Leader 是后端背景,他也不懂前端 👀)。在摸清了公司已有的 Codebase、架构和服务后,我选择了一条难、但正确的路:抛弃包袱,完全从零开始。
几乎不复用任何已有代码,改用新技术栈 Next.js / TypeScript,从零搭起整个项目。从 Dockerfile / 打包、多级缓存、健康 Daemon、SSR / CSR 分配、国际化(多语言 / RTL)、多主题、请求层,一直到 Hybrid 层,几乎全部重新设计。这里面灌注了我太多在架构和代码设计上的 Taste,甚至让我觉得它实在太优雅了,在它上面迭代本身就是一种享受。




这条路带来的长期收益是:这套新 Codebase 非常稳健、高性能,一年多来稳稳承载了我们部门所有的 Web 端业务。另一方面,作为独立项目,它也最大程度地让我们避开了主站那边因各种历史包袱,而四分五裂的仓库和代码。当年主站做 Header 重构时,我们只是想调整 Header 上的一个入口,就不得不同时改四处代码 🤦♂️。

就这样,从零到一、按计划完成上线。这个季度,Leader 给了我 A。
二、拔刀相助
第二个季度,我们部门在经历了 X Insight、Beacon 两条 AI 产品线的数据失利后,前老板把交易那边已经被冷藏的跟单业务揽了过来。此时我们部门还浮浮沉沉,不太稳定。光做 AI 业务的话,受限于公司基因和目标用户的不匹配,想靠公司流量做出亮眼成绩恐怕有点难,所以才不得不主动去割据核心的交易业务。
技术研发这边,因为公司的存量用户大多在移动端,我们业务在移动端的跟进也变得非常紧急。其实上一季度稍晚时,部门就已经招好了移动端工程师。在必须节省成本、又要兼顾快速迭代和上线的前提下,我们选择在 Android + Flutter、iOS + Flutter 两个方向上各招一名混合型工程师,借助跨平台的 Flutter 技术(公司已有相关基建)来压低研发成本。
彼时,Web 端已经上线了 X Insight、Beacon 和跟单三块业务,而移动端刚做完 X Insight,两位同事正在做跟单一期。为了尽快和 Web 端对齐,在和 Leader 商量后,我被抽出来负责 Beacon 的 Flutter 开发。

这一阶段,我把它称为「拔刀相助」。
身为 Web 开发,跨职责去支援移动端,这在稍大一点的公司里其实很少见 —— 能在中大型系统里做跨栈的本就是少数,而大公司也更倾向于让专业的人 Focus 专业的事。任何跨栈都不是把另一门语言学会就完事,背后还涉及大量平台和领域相关的知识。我 Leader 之所以同意这样调配,主要是因为我最早就是做 Android 开发的,还在知乎(独角兽)当过 Android 架构师;另外在我自己创业做外包服务的那几年里,也做过大量 Flutter 开发,只是后来才转到 Web 开发上。
这一季度,Leader 依旧给了我 A。
三、高枕无忧
第三、第四个季度,我们的跟单业务在产品层面的不断尝试、以及移动端的持续跟进下,逐渐有了起色,交易量也有了不错的提升。
看着一切都在往更好的方向走。
这两个季度,除了业务开发,我在 Web 基建上也做了不少事:后端数据预渲染(支持动态开关)、首屏 HTML 裁剪、SSR 多分支覆盖(甚至覆盖到 Hybrid 场景)、多级缓存优化、把 Next.js 从 15 迁到 16,等等。跨端上,也独立负责了跟单二期的 Flutter 开发。
但这两个季度我都拿了 B。这倒也在意料之中 —— 据我了解,我的职级在部门里算比较高的,再无突破,拿不到 A 也合理。这里,每个人对「突破」的理解也不一样:我其实做了不少技术上的突破,但上面更看重的是像我之前的「从零到一」、「跨栈支持」那种能让团队和业务有直观感受的突破。所以这两个季度,Leader 把 A 给了更能体现业务效益数据的同事,比如做跟单的,以及对服务做了成本优化的后端同事们。
这段时间,可以说是部门过得相对安稳的一段日子:大家按部就班,上面也鲜有动静,小船在风平浪静的海面上稳步前行。彼时我们完全没想到,下一个季度会急转直下,陷入一个上下都不讨好的泥潭。而跟单业务里那颗在我们没注意到的地方悄悄埋下的雷,也将在后面助推我们彻底翻船。

四、深陷泥潭
第五个季度,终章。
在跟单业务的几次新尝试都开始效果欠佳时,前老板对交易业务也逐渐失去了兴趣。恰好此时,Vibe Coding 的概念横空出世;另一边,完全靠 Peter 一个人 Vibe Coding 写出来的 OpenClaw 也开始火遍全球。
我前老板用 OpenClaw 几天就 Vibe 出了一个 Dashboard,自此开始大肆追捧 OpenClaw、AI-First,以及类似 Peter 那样的「超级个体」概念。他认为 AI 已经带来了颠覆性的生产力提升,我们必须立刻跟进,于是递上投名状,在部门内开启了一场「域」的管理革命:
整个部门所有人被分进四个域,分别负责交易、Vibe Trading、Beacon Deck(OpenClaw 套壳)、AI Infra 四条产品线。每个域、每个人都必须切换到 AI-First 模式 —— 人只负责 Prompt / Review,AI 负责所有执行(比如写所有代码)。而且每个人都要做到十倍以上的效率提升,都要往跨职业 / 超级个体 / 完全自理发展,都要能直接为业务指标负责。说白了,就是一个人得干十个、甚至横跨不同职业的人的活,才算及格。
当然,这些要求,到部门最后解散也没人能做到 🌚,业务指标更是连影子都没见着。这段时间内唯一拿得出手、能向上汇报的指标,大概就只剩代码行数了 —— 不过这个倒确实挺吓人,每个月我们部门都能新增几十万行存活代码 🤣。
就这样,这场针对我们部门的 AI 变革,轰轰烈烈地开始了。而我前老板,也因为这些超前的、或者说可能给公司带来降本增效 / 破局的理念,晋升了 Title,成了公司的 AI 总负责人。
为了造势,最初的浪,是我们自己拍起来的。
可回到现实,三个多月里,我们一直在夜以继日地高强度加班。人没多,事却多了好几倍:产品线铺得太广,很多新业务都得从零开始,公司的不少基建也没跟上,得同步推进。AI 吐出的各种产品 / 技术文档噪音太多,根本不适合人去读、去对齐;再叠加事情本就太多,团队内的沟通、对齐成本也大幅上升。而上头不断倒排期带来的高压,更让所有人乱了阵脚。加班了也干不完,但冲着「没有功劳也有苦劳」,再加上大大小小的「进度会」带来的汇报压力,也只能硬着头皮继续加班。
而在这种高强度的工作里,被寄予厚望的 AI,能带给我们的却比想象中有限。甚至它所谓「大量节省了 Coding 时间」也并非全是节省 —— AI Coding 带来的各种 Bug,往往只是把省下的时间往后推移了而已。
所有这些,像一个泥潭把我们死死困住。也正因为这件事吸引到了上层足够的注意,在几次上线延误之后,他们逐渐失去了耐心,开始伸手干预,先后派出 CTO、Infra Leader 来接管。而大老板可能对我们的产品方向也起了疑,又给我们塞进了一个新的智能客服需求。我们主推的 Beacon Deck 也因为种种内部阻碍,频频调方向、换方案 —— 从 to C 变成 to 内部,从云端沙盒变成远程控制用户本机。

来自上面不同层级的直接管理和压力,加上一个接一个扑面而来的大变化、夹杂着各种小变化,让整个部门焦头烂额、疲于奔命。
也就在此时,那个我们已经很久没管的跟单业务里的问题,恰到好处地被发现了:有带单员利用这个 Bug 刷了大量佣金。公司虽然迅速处理,但清算过后,部门曾经唯一的业绩亮点也被一笔抹掉,甚至成了污点。
最后,在国内外各种公司大面积裁员的消息已经满天飞时,本就摇摇晃晃的部门,迎来了第一次清算:50%,部门解散,已有产品线大部分被砍,剩下的人全部分配到其他部门。而我,被分到了 Backend Infra 部门,负责维护大老板提的那个智能客服需求。
正当我们都以为这事该告一段落时,还没过几周,公司又非常突然地开启了新一轮大裁员。而这一次,我没躲过去。
其实在最后这个季度,作为 Beacon Deck 的域主,我在 AI-First 协作上还是攒下了一些技术成绩,比如:做了更方便和产品对齐的 Demo 模式、和设计师一起用 DESIGN.md 来把控产品整体的 UI / UX、以及落地了一套和后端基于 GraphQL Schema 进行约定式开发(前端 Mock Server 先行)的方案。这些让我拿到了在公司的最后一个 A,但也拿到了人生中第一个大礼包 😅。
重新出发
就像开头说的,得知被裁后,我反而松了一口气 —— 至少能从之前那个巨大的压力漩涡里脱身出来。熟悉我的人都知道我一直是个工作狂,但说实话,这段时间下来真有点扛不住了:工作强度几乎到了 007 的 Level,睁眼闭眼都是压力,满脑子都是怎么向上汇报、怎么研究 Agentic Engineering,以及近乎神经质地盯着我的 Claude Code(反复鞭打它「你怎么特么的又出岔子」🤣)。
其实,对任何我们不太了解的新事物,人都很容易做出错误的预期。而任何变革,也都伴随着阵痛、甚至要掉一层皮 —— 尤其在大型组织里,人一多,本身就免不了大量的效率浪费,个体的任何决策和变动都可能牵连到其他人,中间夹杂着大量的阻力。AI 能提效是必然的,但前提可能是先摸清它在不同场景下的「能力与效率边界」。
扯远了。
回到我自己。目前已经 Gap 了差不多两周,每天多陪陪女儿,另外也抽时间整理我的 Blog / 简历,还开始刷起了题(已经五六年没刷过了 🤦)。好在前公司给的大礼包,至少还能让我两个月「有工资领」。

写这篇文章,其实也夹带了我「求职」的私心 —— 找工作本就是双向匹配的事,希望能借这篇文章遇到一些志同道合的朋友 / 公司。
接下来,用偏官方的求职口吻再介绍下自己:
93 年,INTJ。全栈、偏前端(Web / Android / Flutter)工程师,架构师,开源爱好者。有 5 年 Web 开发、6 年 Android / Flutter 正式工作经验,以及 5 年多非正式的 Backend 开发经验。已有近 6 年远程工作经历,适合也擅长远程团队协作。
GitHub 账号(ID: nekocode)已向开源社区贡献近百个项目,累计上万 Star,曾给字节、阿里、知乎、Automattic 等巨头的开源仓库提过 PR,拥有上千名关注者。
AI 重度使用者:两年 Human-First(VS Code + GitHub Copilot / Claude Code),半年 AI-First(Claude Code CLI)的工作经验。
想更深入了解我的话,我的 Blog 和简历基本都在这个网址:https://nekocode.cn
看完这篇文章,如果你觉得有意思,可以帮忙点赞 / 转发一下。如果你手上有合适的工作机会(远程优先),也欢迎私信我,感激不尽 ❤️