十年前刚入行的时候,做为一名被agile刚洗脑的新兵,觉得自己仿佛掌握了什么神兵秘器。你看,你们这里那里都是在做local optimization,你看你不懂什么叫value driven吧,你做这些事情有什么价值。回想起一副众人皆醉我独醒的神态,我也是醉了。
现在才发现除了少部分人真的是蠢的,是不知情的情况下去做Local Optimization。更多人和组织的是在精明地去做Local Optimization的事情。而我也终于成为了自己当年最讨厌的那种人。
为什么Microservices那么流行?不怀疑有的应用确实很复杂,确实需要拆开来管理复杂度。但是Microservices更重要的价值恐怕是能够创造更多的部门,创造更多的leader位置吧。当一个组织架构因为有head count,而不断膨胀之后,没有比打着Microservices的旗号创造岗位更得人心的事情了。为什么没有怎么听说过谁谁拆分过度了,需要整合一下Microservices的?为什么没有听说过几个遗留系统功能非常类似而被合并成一个的?不是因为这样的事情不值得去做,而是因为它们是反人性的。拆分应用意味着分出更多的蛋糕给中层领导,合并应用意味着必然要动到谁的奶酪。对于一个小部门来说要做全局优化,意味着去挑战全局的利益分配,躲起来自己做Local Optimization更多是不得以为之。
就一个普通的码农来说,很少因为编码问题而导致进度问题的。从大的方面来说,更多的问题来自于不合理的代码架构。而挑战代码架构,也往往不是一个技术问题,而是一个切蛋糕和宗教信仰的问题。从小的方面来说,不外乎跨角色沟通的问题。需求不明确,测试做得不好,环境总有问题。但是一个有追求的码农是真的做不好需求沟通,做不好测试,弄不环境么?曾经以为这是一个能力问题。现在发现这尼玛是一个个人利益与公司利益对立的问题。从公司的角度来说,当然希望这些事情都有人去搞定,但是做为一个有代码写的码农愿意去做运维么?愿意下一份工作变成运维或者运维开发么?这个社会的职业发展通道使得个人被迫把个人利益至于公司利益之上,我就写好我的代码就好了,你们爱咋地咋地。哈,Local Optimization。
过去的人总是期盼国家能够有一个好皇帝。现在在公司里就期盼公司是由一个超英明的CEO建立的。Local Optimization我们都无能为力,那些伟大的公司是如何避免这些问题的?哈,人家有超英明的CEO一手建立,从一开始就避免了这些问题。每个人其实都是一个系统的一部分。今天你我的袖手旁观,也是造成明日的局面的一份子。就好像革命一样,每个人都看着秋瑾们去流血,自己明哲保身,最终造成了社会的崩塌。
人终究还是自私的。咱们嘛,不管那么多了,有两行代码写就好了。内部咨询这种权责不对等的事情,指望委托给一个部门,一小部分只是领薪水过日子的人去做,没有一点成功的希望。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2008-10-31 API Hooking 的原理
2004-10-31 NUnit和JUnit