点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

  • 原创 | Java 2021 超神之路,很肝~

  • 中文详细注释的开源项目

  • RPC 框架 Dubbo 源码解析

  • 网络应用框架 Netty 源码解析

  • 消息中间件 RocketMQ 源码解析

  • 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析

  • 作业调度中间件 Elastic-Job 源码解析

  • 分布式事务中间件 TCC-Transaction 源码解析

  • Eureka 和 Hystrix 源码解析

  • Java 并发源码

来源:www.zhihu.com/question/

409246699/answer/2748932534


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

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

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

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

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

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

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

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



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)

熟读,理解,背诵,融会贯通!相关推荐

  1. MySQL基本使用(内容较多建议熟读并背诵)

    文章目录 前言 DDL 数据库的创建 操作数据库表 对表的CURD DML DQL 单表操作 简单的运算 模糊查询 子查询 约束 外键 级联概念 表的关系 一对多 一对一 多对多 主从表 级联操作 联 ...

  2. 1.面试中如何回答“请简单介绍一下Ioc、Aop”,建议熟读并背诵

    对Spring两大特性Ioc.Aop的简单理解 1.Ioc(控制反转)和DI(依赖注入):Spring是通过依赖注入的方式达到控制反转的.IOC是一种设计思想,DI是一种方法. 控制反转就是为了达到代 ...

  3. Android面试必问的Activity,初阶,中高阶问法,你都掌握了吗?(要求熟读并背诵全文)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cXs1wGDx-1605843173409)(https://upload-images.jianshu.io/uplo ...

  4. 阿里开发手册 学习 记忆 理解 表达 融会贯通

    BigDecimal 用compareTo 会比较精度(不要用 equals 了) , 如果结果是0, 就是相等 hashmap 叫resize 而不是扩容,没有二义性的话

  5. 网络协议层次(熟读并背诵全文)

    应用数据报→传输层报文段→ip成组→链路层成帧→物理层比特流:

  6. 劝学篇翻译软件测试,劝学翻译

    <劝学>又名<劝学篇>.劝学,就是鼓励学习.本篇较系统地论述了学习的理论和方法.前一部分(第一段),论述学习的重要性;后一部分(第二.三段),论述学习的步骤.内容.途径等有关问 ...

  7. 12天背诵楞严咒的技巧_宣化上人:教你一个背诵〈楞严咒〉的妙法

    导读 我教你一个方法,你不要全读,你一句一句地读,一行一行地读:记得这一句,再读那一句. 〈楞严咒〉背诵之妙法 ◎宣化上人 就好像我们新出家的果宁说:"唉!这〈楞严咒〉对我可是一个大障碍,我 ...

  8. 管理类联考——英语——趣味篇——背诵单词

    考友方法推荐 词根词缀巧记考研英语大纲词汇 ⼀.词根词缀构词法的威⼒ <考研英语⼤纲>要求考⽣掌握 5500 个词汇及相关词组,我们将这 5500 个单词,分成了三类,通过第⼀类" ...

  9. 在滴滴和头条干了 2 年后端开发,太真实了…

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 先简单交代一下背景吧,某不知名985的本硕,17年毕业加入滴滴,今 ...

  10. 一位群友作为后端开发在滴滴和头条分别干了 2 年的经验总结

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 先简单交代一下背景吧,某不知名985的本硕,17年毕业加入滴滴,今 ...

最新文章

  1. 计算机视觉方向简介 | 自动驾驶中的车道线跟踪技术
  2. shell脚本中执行 source /etc/profile 或者 source ~/.bashrc 不能生效的原因
  3. 游击式(移动)开发的两种方式
  4. 共享单车数据集_共享单车数据可视化报告
  5. python学习-日志(logging的定义、参数、format、示例代码、创建logging对象、设置Handler)
  6. 计算机考研的调查和改进建议
  7. 列表页时间日期标签靠显示html,帝国CMS列表页面list.var分别调用年月日,显示个性时间日期...
  8. hanlp加载预训练模型
  9. libvlc media player in C# (part 1)
  10. [转载] python定义整型常量_Python笔记——数据类型、变量和常量
  11. Spring WebFlux – SpringReact式编程
  12. mysql安装无法创建mysqld_MySQL 5.7安装错误`mysqld:无法创建/写入文件’/ var / lib / mysql / is_writable’...
  13. SAP ABAP里数据库表的Storage Parameters从哪里来的 1
  14. dell r620 升级idrac_DELL R630 如何利用IDRAC升级BIOS固件和IDARC
  15. Yii中处理前后台登录新方法 | 饭饭博客
  16. 移动硬盘插到电脑后显示在设备和打印机解决办法
  17. html 禁止触摸事件,html5的触摸事件
  18. 二阶低通滤波器IIR的五个参数推导过程
  19. MY云顶之奕上分阵容
  20. 【BZOJ4372】烁烁的游戏(点分树)

热门文章

  1. 剑指Offer(十九):顺时针打印矩阵
  2. 二次元个人主页html源码
  3. Deep Residual Learning for Image Recognition浅读与实现
  4. Java项目:SSM医院分诊管理系统
  5. 中小型园区网络的设计与实现 (一)
  6. 一个BI就能做出的报告,你却用EXCEL和PPT花了好久
  7. Swift语言官方文档翻译(1)
  8. 用友U8年度帐结转解析
  9. 如何利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物等?
  10. “SaaS+PaaS+生态”三位一体,用友树立公有云flag