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),对数值分析(如有限元 ...
随机推荐
- [vivado系列]设置Xilinx Documention Navigator
版本:2015.1 ------------------------------------------ 这是一个很便利FPGA工程师的文档整理收纳神器. 针对个人使用上的习惯,进行简单的2项设置. ...
- jquery 删除数组元素
expertsId.splice($.inArray(thisID.split('&')[0],expertsId),1); 1. expertsId数组名2. thisID.split('& ...
- JavaScript ES6 的 let 和 var 的比较
在JavaScript 1.7中, let 关键词被添加进来, 我听说它声明之后类似于"本地变量", 但是我仍然不确定它和 关键词 var 的具体区别. 回答: 不同点在于作用域, ...
- c#访问Oracle问题及解决方法
Q:访问oracle 查询条件带汉字结果集为空的问题 A:数据库连接字符串中加入Unicode=true即可. 如 <add key="DbConnectionString" ...
- docker--wekan安装
最近因为搭建开源看板网站的需要,玩了下docker 一开始在redhat上安装docker wget http://mirrors.163.com/.help/CentOS7-Base-163.rep ...
- ByteArrayInputStream和ByteArrayOutputStream
public class ByteArrayTest { public static void main(String[] args) throws IOException { read(write( ...
- Android--多线程之Handler(转)
前言 Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不 允许Activity新启动的线程访问该Activity里的 ...
- 【笔记】CAP原理和BASE思想
摘自http://www.jdon.com/37625 分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能 ...
- apache的安装,启动和停止
一.apache服务器的安装 安装步骤直接傻瓜式进行安装.并没有太大的难点.apache的配置是学习的重点和难点. 安装好后再浏览器地址栏输入http://localhost.若能够成功安装,则会显示 ...
- CDN在中国的发展的九个年头的点点滴滴
对于发展快速的互联网行业来说,8年时间已经足够让一个产业跌宕起伏.但CDN在国内的发展却没有大红大紫,直到2005... 对于发展快速的互联网行业来说,8年时间已经足够让一个产业跌宕起伏.但CDN在国 ...