Local Optimization Revisited
十年前刚入行的时候,做为一名被agile刚洗脑的新兵,觉得自己仿佛掌握了什么神兵秘器。你看,你们这里那里都是在做local optimization,你看你不懂什么叫value driven吧,你做这些事情有什么价值。回想起一副众人皆醉我独醒的神态,我也是醉了。
现在才发现除了少部分人真的是蠢的,是不知情的情况下去做Local Optimization。更多人和组织的是在精明地去做Local Optimization的事情。而我也终于成为了自己当年最讨厌的那种人。
为什么Microservices那么流行?不怀疑有的应用确实很复杂,确实需要拆开来管理复杂度。但是Microservices更重要的价值恐怕是能够创造更多的部门,创造更多的leader位置吧。当一个组织架构因为有head count,而不断膨胀之后,没有比打着Microservices的旗号创造岗位更得人心的事情了。为什么没有怎么听说过谁谁拆分过度了,需要整合一下Microservices的?为什么没有听说过几个遗留系统功能非常类似而被合并成一个的?不是因为这样的事情不值得去做,而是因为它们是反人性的。拆分应用意味着分出更多的蛋糕给中层领导,合并应用意味着必然要动到谁的奶酪。对于一个小部门来说要做全局优化,意味着去挑战全局的利益分配,躲起来自己做Local Optimization更多是不得以为之。
就一个普通的码农来说,很少因为编码问题而导致进度问题的。从大的方面来说,更多的问题来自于不合理的代码架构。而挑战代码架构,也往往不是一个技术问题,而是一个切蛋糕和宗教信仰的问题。从小的方面来说,不外乎跨角色沟通的问题。需求不明确,测试做得不好,环境总有问题。但是一个有追求的码农是真的做不好需求沟通,做不好测试,弄不环境么?曾经以为这是一个能力问题。现在发现这尼玛是一个个人利益与公司利益对立的问题。从公司的角度来说,当然希望这些事情都有人去搞定,但是做为一个有代码写的码农愿意去做运维么?愿意下一份工作变成运维或者运维开发么?这个社会的职业发展通道使得个人被迫把个人利益至于公司利益之上,我就写好我的代码就好了,你们爱咋地咋地。哈,Local Optimization。
过去的人总是期盼国家能够有一个好皇帝。现在在公司里就期盼公司是由一个超英明的CEO建立的。Local Optimization我们都无能为力,那些伟大的公司是如何避免这些问题的?哈,人家有超英明的CEO一手建立,从一开始就避免了这些问题。每个人其实都是一个系统的一部分。今天你我的袖手旁观,也是造成明日的局面的一份子。就好像革命一样,每个人都看着秋瑾们去流血,自己明哲保身,最终造成了社会的崩塌。
人终究还是自私的。咱们嘛,不管那么多了,有两行代码写就好了。内部咨询这种权责不对等的事情,指望委托给一个部门,一小部分只是领薪水过日子的人去做,没有一点成功的希望。
Local Optimization Revisited的更多相关文章
- The Brain as a Universal Learning Machine
The Brain as a Universal Learning Machine This article presents an emerging architectural hypothesis ...
- OpenCV——Delaunay三角 [转载]
从这个博客转载 http://blog.csdn.net/raby_gyl/article/details/17409717 请其它同学转载时注明原始文章的出处! Delaunay三角剖分是1934年 ...
- # Consumed parameters
consumed这个单词我并不能给出很准确的翻译,在这篇文章中,我把Consumed parameters称为耗用参数,它在OC中有着独特的应用场景. 在https://clang.llvm.org/ ...
- Scipy教程 - 优化和拟合库scipy.optimize
http://blog.csdn.net/pipisorry/article/details/51106570 最优化函数库Optimization 优化是找到最小值或等式的数值解的问题.scipy. ...
- C++ 基于凸包的Delaunay三角网生成算法
Delaunay三角网,写了用半天,调试BUG用了2天……醉了. 基本思路比较简单,但效率并不是很快. 1. 先生成一个凸包: 2. 只考虑凸包上的点,将凸包环切,生成一个三角网,暂时不考虑Delau ...
- 维诺图(Voronoi Diagram)分析与实现(转)
一.问题描述1.Voronoi图的定义又叫泰森多边形或Dirichlet图,它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成. 2.Voronoi图的特点(1)每个V多边形内有一个生成元: ...
- Use PSO to find minimum in OpenCASCADE
Use PSO to find minimum in OpenCASCADE eryar@163.com Abstract. Starting from OCCT6.8.0 will include ...
- paper 153:Delaunay三角剖分算法--get 这个小技术吧!
直接摘自百度百科,希望大家能根据下面的介绍稍微理顺思路,按需使用,加油! 解释一下:点集的三角剖分(Triangulation),对数值分析(比如有限元分析)以及图形学来说,都是极为重要的一项预处理技 ...
- Delaunay三角剖分及MATLAB实例
https://blog.csdn.net/piaoxuezhong/article/details/68065170 一.原理部分 点集的三角剖分(Triangulation),对数值分析(如有限元 ...
随机推荐
- (转)SpyGlass工具介绍
Spyglass工具有五大模块: lint, CDC(多时钟域检查), LP(低功耗),Constraint(约束),DFT(可测试性). 一,在RTL层面上预估芯片性能,从而引导设计人员开发出更加 ...
- 继续努力刷题--BE STRONGER AND STRONGER
Come on,baby~ (1)Contains Duplicate 有自己的思路:两个for双重循环直接一个个比较,但肯定不是最优解.所以,使用Set中的HashSet(一种没有重复元素的无序集合 ...
- iOS相关思考题
1.iOS如何应对APP版本升级,数据结构随之变化? 一般程序app升级时,数据库有可能发生改变,如增加表字段,增加表等. 此时有两种操作: 1 就是毫无留情的把本地旧数据库直接删掉,重新建立新的数据 ...
- 自动获取socket链接状态
C# TcpClient在连接成功后无法检测连接状态,即使对方关闭了网络连接.以下扩展可检测连接状态: static class TcpClientEx { public static bool Is ...
- [转载] Android逃逸技术汇编
本文转载自: http://blogs.360.cn/360mobile/2016/10/24/android_escape/ 摘 要 传统逃逸技术涉及网络攻防和病毒分析两大领域,网络攻防领域涉 ...
- 如何用Jquery实现 ,比如点击图片之后 ,该图片变成向下的箭头,再点击向下箭头的图片 又变成原始图片呢
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>切换 ...
- Nginx-->进阶-->原理-->Nginx+php+fastcgi的原理与关系
一.用户对动态PHP网页访问过程 用户浏览器发起对网页的访问:http://192.168.1.103/index.php 用户和nginx服务器进行三次握手进行TCP连接(忽略包括nginx访问控制 ...
- Windows server 2003 WINS的配置和使用详解
NetBios名称概述 网络中的一台计算机可以使用NETBIOS和DNS两种命名方式为其命名,在NETBIOS标准中,使用长度不超 过16个字符的名称来惟一标识每个网络资源,用于标识资源或服务类型.在 ...
- SDAutoLayout:比masonry更简单易用的自动布局库
SDAutoLayout:一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应,致力于做最简单易用的AutoLayout库. [SDAutoLa ...
- Uploadify 上传文件插件详解
Uploadify 上传文件插件详解 Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中 ...