“过度设计”正成为一种晋升代币,而“大道至简”却在述职报告里查无此人。

17 小时 36 分钟前
 clemente
在大厂这种讲究“抓手”、“赋能”、“闭环”的语境下,这种现象被放大了。我为你将原作的核心逻辑进行了本地化重组,更贴合国内互联网的“卷”法和职场逻辑。

互联网职场怪现状:为什么“过度设计”的人总能先晋升?
在每年的大厂晋升季、年终绩效评定或者技术评审会上,有一种劣币驱逐良币正在毁掉我们的职场文化。

我们口头上都说崇尚“简单、高效”,但在实际操作中,那些把简单问题复杂化的人,往往拿到了最好的绩效;而那些把复杂问题化繁为简的人,却在述职时哑口无言。

这并非谁故意作恶,而是我们的评价体系出了一场“集体潜意识”的偏差。

1. 小 A 的“螺丝钉”与 大 B 的“大杀器”
想象一下你们组的两个开发:

开发小 A 接到一个需求。他通盘考虑后,发现用现有的逻辑改改就能搞定。他写了 50 行干净的代码,自测通过,两天上线,没出过一个 Bug 。后续运维成本几乎为零。

开发大 B 接到了类似的需求。他觉得这是个“绝佳的机会”。他没有直接写业务逻辑,而是先引入了一套复杂的插件化架构,搞了一个自研的消息中间件,甚至还为了“未来可能的扩展性”封装了一层玄学抽象。他整整干了三周,提交了十几个 Merge Request 。发布那天,他在大群里发了一篇长长的技术文档,表情包齐飞,显得极其专业。

到了晋升述职的时候,魔幻的一幕发生了:

大 B 的 PPT 战绩彪炳: “主导了分布式架构升级,自研可扩展插件框架,支撑了未来 3-5 年的业务演进,沉淀了一套通用的方法论。” 这听起来就是妥妥的 P7/P8 苗子。

小 A 的 PPT 憋不出词: “上线了 X 需求。” 没了。

小 A 的代码更好、更稳、更快,但在评价体系里,她是“隐形”的。没有人会为那些被“规避掉的复杂性”而买单,大家只看得到你造了多大的轮子。

2. 谁在逼我们“秀肌肉”?
这种“复杂崇拜”不仅存在于绩效里,更在面试和评审会里生根发芽。

在面试中: 你给出一个高可用、低复杂度的方案。面试官眉头一皱:“那如果日活突然翻 100 倍呢?如果数据库宕机了怎么切?为什么不引入 K8s 侧边栏和分库分表?” 为了证明自己“够 senior”,你不得不画出满白板的方框和箭头。你学到了一点:简单意味着没深度,复杂才代表专业。

在评审会上: 当你提出一个清爽的方案,总会有人跳出来问:“这个方案的护城河在哪里?有没有考虑过通用性?能不能赋能给其他业务线?”

迫于压力,你不得不回去给代码“贴金”,加上那些可能一辈子也用不上的抽象层。这不是为了业务,这是为了在评审席面前**“证明我的工作量和思考深度”。**

3. 什么是“未授勋的复杂度”?
复杂度本身不是错。如果你的业务真的要扛每秒百万级并发,分布式系统是必须的。

业务还在 0 到 1 阶段,你就开始搞微服务拆分;明明一个 if-else 能搞定的逻辑,你非要整一套观察者模式。

真正的高手,是那种看完代码后让你觉得“就这?我也能写出来”的人。因为他把所有的坑和复杂逻辑都挡在了外面。高级感的本质不是堆砌,而是克制。
6783 次点击
所在节点    程序员
77 条回复
Plutooo
17 小时 34 分钟前
并非“正在成为”,而是一直都是
clemente
17 小时 33 分钟前
多么的优雅
E=mc^2
jimages
17 小时 33 分钟前
古有云:善战者无赫赫之功 善医者无煌煌之名

这种事情常有。
clemente
17 小时 31 分钟前
任何人都能增加复杂度,但只有经验丰富且自信的人,才敢于留白。
encounter2017
17 小时 26 分钟前
完美不是无可增加,而是无可删减
penzi
17 小时 25 分钟前
过度设计:说明热爱工作,希望自己证明自己的价值
大道至简:已经没有热情了,得过且过


这种情况下你说应该奖励哪个人
penzi
17 小时 22 分钟前
完善一下

所谓大道至简
1. 已经没有热情了,得过且过
2. 水平真的不行
skallz
17 小时 20 分钟前
正常,经常看到有些人故意把某些简单的东西设计复杂,然后包装出一个精美的文档,并且将之与 roi 挂钩,相对容易获得认可,因为除了你的上级和你对接的同事,基本无人知道你在做什么,但是当你的产出有重点,并且对业务业绩有帮助,那你的产出就是有效的。全员狂热追逐 kpi 与 roi
seedhk
17 小时 20 分钟前
老生常谈的问题:
如何评估程序员的工作量和贡献程序
Cavalon
17 小时 19 分钟前
就和欲加之罪何患无辞一个道理,好坏判断全看角度,就像上面回复的,大道至简是说平不行,你就说服不服吧
ludan110
17 小时 16 分钟前
这让我想到了 aliyun 的后台
每过一段 ui 总会大调整 要重新去习惯操作
为了 kpi 而改
clemente
17 小时 15 分钟前
@seedhk 为什么要评估工作量? 这作为 eval 就是不公平的
liu731
17 小时 13 分钟前
OP 评价一下雄安新区
bojue
17 小时 13 分钟前
可以自己创业,以身证道,要不然评判的标准都是别人
encounter2017
17 小时 8 分钟前
@seedhk 这个问题早就有人回答过了,无法评估。https://martinfowler.com/bliki/CannotMeasureProductivity.html

评估下一下场景谁的水平高:
1. 我用 10 万行写出来的代码,你用 1 万行实现了
2. 我用一年写了有 100 个功能点的项目,你写了一个有 30 个功能点的项目
3. 过去一年,我负责 1 一个项目,成功了,你负责 5 个项目成功了 4 个
yolee599
17 小时 6 分钟前
本质是内卷,产品不是给自己用的,最终是要卖出去的。同样的价格,用户在选择的时候会选择功能多的产品,所以你友商的功能多一个用户都会直接选择友商的产品。你增加功能,你的友商跟着增加,你又不得不继续增加功能
franklinray
17 小时 6 分钟前
大道至简带来的价值是什么?你自己说不清楚,然后就等着外部的人自己去看去体会?你第一个故事里面的小 A ,明明在汇报的时候可以说为了解决某个问题,经过怎么样的思考,如何简洁快速解决,并且带来的好处是没有 BUG ,几乎没有运维成本,降本增效。这根本不是大道至简或者过度设计的问题,纯粹是你是否能有逻辑得把自己做的事情说清楚。
penzi
17 小时 5 分钟前
@clemente 奖励的目的是激励后来的人努力工作。你都已经大道至简了,还看的上奖励吗?

你要是觉得奖励对你的生活很重要,那你也去同样的赛道里面竞争。
franklinray
17 小时 1 分钟前
本质上根本不是说谁工作能力得问题,而是如何能把你工作的贡献量化出来,然后让外部人快速了解并且能肯定你的工作。我遇到大部分程序员的问题就在于,都闷头干,需要汇报的时候总是三言两语把事情说得很简单。那么上级在看到你的汇报时肯定会认为你做的事情都不难,裁掉你换个新人也是应该的。
penzi
17 小时 1 分钟前
@clemente 然后我告诉你为什么奖励不奖励这些不爱说话,不爱露脸,只想大道至简的人。因为中层领导同样要被考核。你作为中层领导给大道至简的打高绩效,经常在大领导前露脸,经常开会分享的人打低绩效。你要怎么给更上层的领导解释这不是你任人唯亲?

只有一个情况会产生上面的结果:
所谓的过度设计真的产生了巨大的财务亏损

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1195971

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX