⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 www.zhihu.com/question/409246699/answer/2748932534 「网络」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

给大家分享一个我在知乎上看到的一个问题。

题目叫做:怎么理解“ 善战者无赫赫之功 ”?

下面有个来自前华为码农的高赞回答。

原文链接: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才是第五层。

你说华为高层不知道这些问题吗?

当然知道,人资也给基层发了不少关于绩效考评的误区之类的胶片,然而知道归知道,基层执行起来还是老一套。

声明:我已经不做码农好多年了,以上的事情由于记忆久远,细节我也记不清了,可能存在主观上将事情朝着对我有利的方向歪曲的问题。华为付给我的遣散费很优厚(但是如果不是人资提醒,离职补偿差点被直属领导给直接弄没了,这件事我会一直记得很清楚),我很满意。以上。

所以这话是对将军说的,你要是个小兵就别信这一套。

文章目录