人才济济的大厂,为何频频产出垃圾代码?
创始人
2025-12-16 11:00:32
0

作者 | Sean Goedecke

译者 | 核子可乐

编辑 | Tina

每隔几年,各大科技巨头就会闹出一番动静,被人发现产出极其离谱的垃圾代码。这时候没在大厂待过的同学就要问了:既然这里薪资优厚、人才济济,再加上运营节奏稳健,理应能够从容不迫地扎实完成工作。那这些垃圾代码是怎么搞出来的?

多数代码变更出自菜鸟之手

就个人观察,我发现科技大厂中其实充斥着“德不配位”的菜鸟工程师。据调查,大厂员工的平均在职周期仅为一到两年。科技巨头们在设计薪酬方案时,往往倾向将工程师的任期限制在四年左右;四年之后随着期权的全部兑现,工程师们的薪资可能锐减一半。尽管大厂也提供临时性的单年续签政策,但总体上制度更鼓励工程师们到期就另谋高就。

而如果把内部调岗也算进来,情况则更糟。我在单一团队或者项目上待过的最长时间也就是三年,基本上每年都会至少经历一次重组,而且实际频率远不止于此。

与之对应的是,大厂的代码库平均存续周期却远远更长——我经手过的很多服务已经运行了十年以上,期间经历过无数次管辖权变更。这意味着大量工程师们始终处于“摸索状态”。相当比例的代码变更是由“菜鸟”们完成的——其中很多人刚刚入职公司不到半年就开始接触代码库,此前甚至连编程语言都不懂。

为什么不用老手?

老手当然有自己的优势:这些工程师长期参与特定系统的开发,积累下大量扎实的专业往右。他们有能力完成深度代码审查,会快速发展各种典型问题。但对“老手”的过度依赖会带来两个问题:

首先,科技大厂是没有相对正式的“老手”培养及调配制度的。大厂很少以系统性方式针对个人培养其长期专业知识,即使偶尔出现了这样的人才,也不会太关心如何保留这些能力。这类老手工程师常被调往不同服务部门,要么在实质上继续以自愿的形式履行“老手”职责,要么撒手不管、安心在新的岗位上重新成为相对意义上的“菜鸟”。

第二,经验丰富的工程师们永远处于超负荷状态。作为少数掌握特定深度专长的工程师,他们的工作本就繁忙,既无暇亲自审查每项软件变更、也无法参与完整的决策流程。毕竟大家还有自己的工作要做:如果把时间都消耗在审查变更和参与讨论上,我们很可能因为个人产出不足而被约谈。

工程师中的大多数

综合以上因素,科技大厂中占据多数的工程师们到底有着怎样的典型画像?他们往往:

  • 能力足以通过招聘部门的要求并胜任工作,但是……

  • 要么需要接手他们不太熟悉的代码库或者语言;

  • 要么需要在处理大量代码变更的同时,兼顾自己的份内工作。

他们每天被 deadline 折磨得身心俱疲,有时甚至需要同时面对多个项目的轮番轰炸。换言之,他们需要在根本不利于产出优质代码的泥潭当中,努力编写相对正常的成果。

这就是大厂频繁产出垃圾代码的根本原因。例如:初级工程师接手某个相当棘手的工单,但对代码库还一无所知。在耗费几天的摸索之后,他们提出了权宜之计。如果运气够好,会有友善的“老手”花点时间匆匆审阅菜鸟们提交上来的方案,在否决之后给出更加可行的替代建议。初级工程师意图实现新方案,在测试通过后就匆匆部署上线,之后所有参与者随即投入其他高优先级工作。直到五年之后有人注意到这段代码,惊讶地发现“这么垃圾的代码怎么会出现在科技巨头的项目当中?”

科技巨头表示,

“我们做事是这样的”

我之前曾经多次探讨过这个问题,并发现科技巨头们对于内部可调度性的坚持远高于生产力水平——即强调清晰掌握人员分工,并确保可以随意调配。大厂也不傻,知道这种将工程师视为可替换部件随意调动的设计会摧毁他们在单一项目上长期积累的专业知识,但这就是思考之后的刻意之举。大厂宁愿牺牲一部分专业知识和软件质量,也要确保随时能把技术人才投入最紧急、最需要冲刺的核心项目上。

我没法断言这种做法是好是坏,但它显然已经成为科技大厂们的常规操作,同时也埋下了不小的隐患。特别是在如今这个“快速转向 AI”正成为绝对正确的时代,这种强行要求工程师们仓促处理陌生系统的模式,必然产生比过去更多、更垃圾的代码。

个人在这样的模式设计下完全无能为力。特别是在 2025 年,权力的天平已经人工程师端向着大厂管理层倾斜。作为个人从业者,我们能做的也只是成长为“老手”:至少精通某个霍工,用专业知识阻挡这种糟糕的变革,引导团队做出至少大致合理的技术决策。但即便如此,个人 / 小团队也经常会与组织的整体趋势发生冲突,甚至可能面临绩效改进计划(PIP)或其他政策的严厉惩处。

工程实践的纯粹与非纯粹二分

我认为这个问题的本质,很大程度上取决于软件工程的纯粹与非纯粹二分特质。对于纯粹的工程师们——即那些从事独立技术项目(如编程语言)的工程师而言,对于垃圾代码的唯一解释就是水平不行。而非纯粹工程师的工作模式更接近水电工,他们常需要在截止期限的压力下处理相对陌生的项目,即使自身的技术底子相当扎实,也必然会在特定情况下面临棘手或者意外状况。因此后者不可避免会产出垃圾代码,但对他们的考核标准也有区别:只要整体系统能够正常运行,项目就算成功。

在科技大厂,工程师们无权决定自己要当纯粹工程师还是非纯粹工程师,毕竟代码库根本不归你所有!只要上头要求你从数据库基础设施小组转向支付系统开发,你就得乖乖抱着东西过去。你在陌生系统中当然更可能犯错,原本的数据库基础设施小组的同事也可能因为失去你的协助而受困——这些情况公司都知道,但公司就是要让每位员工别那么“纯粹”。

我解释这么多,并不是要为科技大厂搞出的垃圾代码辩解。发现问题并提出问题仍有好处,至少能有效推动具体问题的修复,高管们也可以借此机会将负面公关转化成正面宣传。我只希望大家不要把主要责任都甩在大厂工程师身上——即使这些员工们一夜之间技术实力翻倍,垃圾代码也仍然不会消失,因为几乎没人能在全新的代码库中零失误快速完成修改。再次强调:问题的根源,在于多数大厂员工被迫在陌生的代码库中修修补补。

令我惊讶的是,评论中有很多朋友误以为我在宣扬某种虚无主义。我自认对工作抱有相当乐观的态度,这篇文章的本意是想给大厂的软件工程师们正名,回应批评者们过于严苛的抨击。

除此之外,很多朋友也在评论中提出了关于垃圾代码的其他成因理论:缺乏工作动力、大厂故意打击工程师士气以阻挠其内部联合,或者是纯粹追求速度指标优化。基于个人经验,我认为这些解释相对缺乏说服力。毕竟我的许多同事都充满干劲,我也不大相信有任何大厂会刻意做打压工程师士气、让他们心怀不满的蠢事。

还有一些朋友对期权兑现的问题提出了质疑,表示他们的公司提供期权更新制度。我不太了解这个,虽然我也享受类似的期权归属更新,但只要这方面制度没写入合同,在我看来就意义有限——毕竟公司可以随时调整。这对应的可是高达 50% 的薪酬来源,相信大多数人为了锁定未来四年的收益预期,都会主动选择另换东家。

相关内容

数据如何跨境?AI如何安全...
2026年3月31日下午,“智联湾区·数创未来——珠海网信创新成果...
2026-04-01 07:01:56
i茅台秒光、批价反弹!飞天...
白酒行业仍处深度调整期,茅台却宣布了上调价格。 图片来源:贵州茅...
2026-04-01 07:01:36
小乡村变身文旅新地标
(来源:中华工商时报) 转自:中华工商时报 图为游客在位于画匠营...
2026-04-01 06:58:21
4条“畅游贵州”自驾精品线...
3月31日上午,在第二十届贵州旅游产业发展大会主体活动之一——20...
2026-04-01 06:57:08
盘锦市老该里农家香肠:农家...
盘锦,地处辽河与渤海交汇处,坐拥“鱼米之乡”的丰饶馈赠,孕育了独具...
2026-04-01 06:56:59
市场正规的金牌导游工作室品...
朋友们,最近是不是又在计划着去大西北浪一圈?青海湖、茶卡盐湖、敦煌...
2026-04-01 06:54:41
官宣!南北悬空寺结为“友好...
山西恒山悬空寺 建德大慈岩江南悬空寺 一北一南、一雄一秀 今天,它...
2026-04-01 06:54:12

热门资讯

KAIST团队如何让AI视觉系... 当你看到一张照片时,你能立刻判断出哪个物体在前面,哪个在后面,它们之间的距离有多远。这种对三维空间的...
楼市洗牌,龙湖为何能“稳稳落地... 楼市洗牌,龙湖为何能“稳稳落地”?
@福州户外劳动者 工会请你们免...   4月1日晚,“闽江游红色航线”致敬户外劳动者主题活动在台江码头温情启航。
消费型县城:梅姐昼夜打两份工买... 【导读】 县城正“演化成微缩版城市”,县乡生活方式呈现出高度的市场化,“收支倒挂”使许多农民家庭难以...
如何备份Windows电脑:两... 我承认自己经常忽略Windows提示我创建电脑备份的消息。尽管我使用Dropbox备份许多文件,但这...
凤凰女记者:特朗普释放停火信号... 特朗普将就伊朗问题发表讲话,各界有怎样的预期?伊朗当局持续释放强硬信号,舆论怎么看战争走向?凤凰卫视...
视频丨当春耕遇到繁花 春天里的... 春暖大地,全国多地都在忙着春耕备耕。春播玉米全面开播 机械化助力提质增效这段时间,山西临汾翼城县的春...
女排总决赛2-吴梦洁18分江苏... 图源:新华社 3月31日晚,2025-2026赛季全国女排超级联赛战至总决赛第2回合,吴梦洁空砍18...
《摔跤吧!爸爸》:以父权之翼,... 前言 在印度乡村的尘土与晨雾中,一场颠覆传统的摔跤训练,悄然改写了两个女孩的命运。 电影《摔跤吧...
特朗普称霍尔木兹海峡开放才会考... 【环球网报道 记者 张江平】综合法新社、卡塔尔半岛电视台最新报道,伊朗伊斯兰革命卫队4月1日称,霍尔...