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),对数值分析(如有限元 ...
随机推荐
- new String(“a”)与String a="a";
String a=new String ("a"); String b=new String ("a"); //这是比较地址 System.out.printl ...
- Cannot assign to 'self' outside of a method in the init family
今天在重写父类的init方法时报错如下: error:Cannot assign to 'self' outside of a method in the init family 这种问题以前从来没有 ...
- Redis 软件和配置
Redis 下载 1.通过CMD命令进入redis 文件目录 2.运行[redis-server redis.windows.conf]
- html特殊字符转义问题(转!)
html.javascript.url特殊字符转义在实际编程中都是有用到的,有的人对特殊字符转义的使用不是很清楚,下面就对html,javascript,url特殊字符的转义做一下说明和归纳. htm ...
- ELK日志管理
ELK一般由三部分组成:logstash(日志格式化) + elasticsearch(检索) + Kibana(前台报表展示) 官网地址:https://www.elastic.co/ 本人在这用的 ...
- javascript this
最近看了很多人的微博,主要是“追梦子”的微博,总结了一下.希望大家多多指点. 1. 没有new this的指向问题 this的指向在函数创建的时候是决定不了的,在调用的时候才能决定,谁调用的就指向 ...
- 常用UML模型简要小结
关系: 关联(组合,生命周期相同:聚合,物以类聚),依赖,泛化(继承),实现 还有 包含,细化复用已有用例:扩展,非必要主要的用例 图: 1.用例图:就是描述一个功能场景(集合),其实用例编写(前后置 ...
- textfield设置左边距
CGRect frame = f;//f表示你的textField的frame frame.size.width = ;//设置左边距的大小 UIView *leftview = [[UIView a ...
- C++矩阵运算库armadillo配置笔记
前言 最近在用C++实现神经网络模型,优化算法需要用到矩阵操作,一开始我用的是boost的ublas库,但用着用着感觉很不习惯,接口不够友好.于是上网搜索矩阵运算哪家强,大神们都推荐armadillo ...
- lvm snapshot(lvm 快照)
lvm快照有多种实现方法,其中一种是COW(Copy-On-Write),不用停止服务或将逻辑卷设为只读就可以进行备份,当一个 snapshot创建的时候只是拷贝原始卷里的元数据,而不是物理上的数据, ...