熟读,理解,背诵,融会贯通!
大家好,我是 Jack。
给大家分享一个我在知乎上看到的一个问题。
题目叫做:怎么理解“ 善战者无赫赫之功 ”?
下面有个来自前华为码农的高赞回答。
咱就是说,看完之后,你自己细嗦,能体会到什么就体会到什么吧。
原文链接:https://www.zhihu.com/question/409246699/answer/2748932534
我在华为做码农的时候,信了人家的话术,写代码战战兢兢,充分测试,联调顺利,没什么加班,测试部也没什么问题单可提。出版本的时候我的模块都没什么存在感。
结果考评的时候,高绩效给了那个整天加班解决问题单最多的。
我自己的模块没什么问题单,然后别人负责的模块因为问题单太多,就也让我来解决。然后我因为不是我负责的模块不熟悉,问题单在我名下挂很久,最后我绩效被打了 C。
之后又有一次,我偶然看见同事的代码有 bug,然后我不说,代码提交上去之后直到出版本之后才被测试部测出来。
这种时候再想定位就难了,领导发邮件让大家都来看看有啥问题,我就说了,给人一种高手深藏不露的感觉。
但这不是我故意没说的,我当时就是个傻逼,领导为这事跟我聊的时候,我很实诚的说当时我看见了,但是觉得这么明显的bug,走读不可能发现不了,所以就没多嘴,没想到走读代码没发现这个bug(我当时真的是这么想的,我不想逞能,那个代码是我偶然看到的,我当时提了显得我多管闲事)。
然后领导来了一句:“哦,发现问题了不说吗,等出了问题才说是把?”
这可能是我第二次拿了 C 并且被踢出原项目组去了另一个项目组的原因之一吧?
总之我现在每当回忆起我年轻时的言行就感觉自己一直都是个傻逼。
华为还有一个非常聪明的评价体系,就是代码量和绩效挂钩,华为有很多统计代码量的自动化工具,代码量越多工作量越大,绩效也越高。
如果你拿到需求,想了好久用远低于SE估计的代码量完成了功能,那么SE会不高兴,因为这意味着他暴露了自己水平低。
领导也不高兴,因为这意味着他手下有人工作量不饱和。
测试部也不高兴,因为这意味着这会导致他们工作量不饱和,因为测试部的工作量是以“测试了多少行代码”为标准衡量的。
并且,由于代码量越少,出问题的概率越少,所以测试部测的bug会减少,这也拉低了他们的绩效。
你也不高兴,因为你处理的问题单少,也就没有绩效。
然后领导看你很闲,就会把别的问题单派给你,然后你读完代码之后比原作者更熟悉这个模块,然后之后这个模块再出问题,测试部就会直接找你,再然后你就莫名其妙接手了一个不是你写的、写的超烂、返工的话工作量又太大的模块。
然后这个模块天天出问题,到评绩效的时候问题单全都来自于你负责的模块,所以你的绩效最差。
对我知道会有人提这样一个问题:前面不是说谁处理的问题单越多绩效越好吗?
……
所以作为一个码农,聪明的办法是使劲塞代码量,把代码写得臃肿无比难以维护,这样带来的好处是:
1,提高你本人对于项目组的重要性,因为现在只有你看得懂这套代码,坏处是你随时要on call,好处是树立你高手的形象,因为别人一动你的代码就会出bug,只能你出手,并且你的代码越难懂,别人越觉得你厉害。
反之如果你写的代码简洁清晰易维护,调试接口完善,功能抽象易复用,模块独立,那就意味着任何人都能取代你的位置。接手你的代码,给人一种你随时可被取代所以无关紧要的感觉。
此外,你的代码越简单逻辑越清晰,领导读代码的时候就越会觉得简单,也就会觉得你负责的工作太简单。
2,给领导留下一个奋斗者+高手形象,你不但努力通宵写代码,而且你熬夜通宵写了五千行代码竟然没有出一个bug直接可以上线运行。
3,由于和其他模块高度耦合,所以你有机会树立一个善于跨部门沟通的形象。有给领导发邮件的机会,也就有机会给领导留下印象。
我真的在代码评审会上看到一个SE写了几千行代码实现了一个功能,(因为这个功能比较重要所以由SE来写),当时我年幼无知,还在心里默默吐槽这么差的代码水平是怎么混到SE的?明明几行代码就能搞定的事情(夸张的说法)。
当时还自以为很老成的没有在会上直接说出来,现在回想一下当时自己只是在第二层,人家SE才是第五层。
你说华为高层不知道这些问题吗?
当然知道,人资也给基层发了不少关于绩效考评的误区之类的胶片,然而知道归知道,基层执行起来还是老一套。
声明:我已经不做码农好多年了,以上的事情由于记忆久远,细节我也记不清了,可能存在主观上将事情朝着对我有利的方向歪曲的问题。华为付给我的遣散费很优厚(但是如果不是人资提醒,离职补偿差点被直属领导给直接弄没了,这件事我会一直记得很清楚),我很满意。以上。
所以这话是对将军说的,你要是个小兵就别信这一套。
推荐阅读
微信扫码关注该文公众号作者