"小陈,这次你们验证团队表现不错,发现了99个bug。"领导翻着手里的报告,"但那个漏掉的bug是怎么回事?为什么会漏?你们需要反省一下!"
做芯片验证这么多年,这种对话简直是家常便饭。每次流片回来出问题,第一个被拉出来问责的永远是验证团队。仿佛我们不是在找bug,而是在制造bug一样。
设计工程师写了一万行代码,里面埋了100个坑,我们挖地三尺找出了99个,结果大家关注的不是我们找到的99个,而是那漏掉的1个。
这就像你考了99分,老师问你那1分哪去了。关键是,这1分还不一定是你真的不会,可能是题目本身就有问题,或者时间不够,或者就是运气不好。
为什么总是我们在"背锅"?
首先,验证这个岗位本身就很尴尬。我们不直接产出功能,不像设计工程师能说"这个模块是我写的",也不像后端工程师能说"这个版图是我画的"。我们做的是"证明别人做对了"这件事,天然就处在一个被动的位置。
bug这个东西,发现了是应该的,没发现就是失职。这种逻辑听起来好像很合理,但实际上很不合理。因为理论上来说,任何复杂系统都不可能做到100%无bug。就像你永远不可能证明一个程序是完全正确的一样。
验证的工作成果很难量化。你说你跑了10万个随机测试用例,发现了99个bug,听起来很厉害,但是非专业的人很难理解这个工作量。相比之下,设计工程师说"我这个模块性能提升了20%",大家立马就懂了。
这个行业的"潜规则"
说句不好听的,在很多公司里,验证工程师就是"质检员"的角色。产品出了问题,第一反应是质检没做好,而不是去反思产品设计本身有没有问题。
我记得刚入行的时候,一个资深同事跟我说过一句话:"做验证,要么做到极致,要么早点转行。"当时不太懂,现在想想还真是这样。
因为只有当你的专业能力强到无法被质疑的时候,才能在这个岗位上获得真正的话语权和认可。否则,你永远是那个"背锅的"。
虽然抱怨归抱怨,但说实话,没有验证工程师,这个行业真的玩不转。所以,就算老板要怎么给你甩锅,还是不敢不要验证。
想想看,一颗芯片动辄几千万门,十几亿的流片费用。如果没有充分的验证就贸然流片,一旦出问题,损失是巨大的。我们就是那道最后的防线。
而且,真正做过验证的人都知道,这个工作需要的技能其实很全面。你要懂设计,要懂系统,要懂软件,要懂硬件,甚至还要懂一点算法和数学。某种程度上,我们是整个团队里对产品理解最深入的那群人。
真正头部的芯片公司都已经意识到验证不只是"找bug"这么简单,而是整个研发流程中不可或缺的一环。
但要想真正改变现状,我觉得还需要从几个方面努力:
一是要提升自己的专业水平。不只是会写testbench,还要深度理解业务,能够从系统层面思考问题。
二是要学会"邀功"。别不好意思,你发现的每个bug都是为公司省钱,这个价值要大声说出来。
三是要主动参与到前期设计中去。不要等设计完了再来验证,要在设计阶段就介入,这样才能真正发挥验证的价值。
写在最后
前几天看到一个段子:"芯片工程师分两种,一种是写bug的,一种是找bug的。"虽然是玩笑话,但细想起来还真有点道理。
我们验证工程师就是专门找bug的那群人。下次再被问"为什么漏了那1个bug"的时候,我想我会这样回答:"因为我不是神,但我已经尽力接近神了。"
你们有过类似的经历吗?在评论区聊聊吧,看看大家都是怎么"背锅"的。

5438

被折叠的 条评论
为什么被折叠?



