为什么有些公司的IT很乱?
——别问,问就是赛马,问就是KPI驱动
为什么很多公司甚至是闻名遐迩的资深IT公司,都被吐槽IT技术建设很烂呢?按惯例,问为什么之前,先问是不是。
▒壹·鹅厂▒
2018年一个名为“当下腾讯的技术建设是否处于落后同体量公司的状态?”的问答一石激起千层浪,一位网名叫toughguy的腾讯人写下一篇著名檄文,炮打香港帮,以至于有阿里人留言:“你的回答已在A厂里传阅过了,包括很高很高的老板们,我们看完这篇文章并没有幸灾乐祸的心情,而是对技术人的可惜。”
作为课代表,我总结一下当时各方人士对鹅厂IT技术建设的矛头所向:
(也许因为)CTO缺位:不是说鹅厂一直没有CTO,而是CTO缺位。表象之一是,此前没有人站出来“拉通”整个集团所有BU的技术和规范,各干各的。表象之二是,迟迟还没有集团层面的技术委员会(反观美团、58同城、蚂蚁金服等公司早早就设立了技术委员会,负责顶层设计),直到2018年第三次大规模重组中,由于内部争斗爆出几篇文章抨击鹅厂不重视技术,才在重组变革清单的最后加了一条要成立技术委员会。
(还可能因为)业务导向太严重:据说鹅厂可能是互联网Top巨头中技术地位最低的公司,毕竟是产品驱动的企业文化。
(其实最重要的原因是)内部赛马机制:鹅厂不同BU之间不敢说势如水火,至少是如同防火防盗,究其原因就是内部赛马文化,成也萧何败也萧何。“一个新点子,四五支队伍同时做,谁做得快谁就享受流量支援”,在这种情况下,谁会分享技术,谁敢采用其他BU的技术?!
(导致)技术债务沉重:以至于有人吐槽:“如果你来自于其他IT公司,那么你进入鹅厂之后会有极大的自由,自由到你无法意识到你是在一个庞大的市值世界前十的公司工作,自由到和十几个人的创业公司差不多。”
* 拉通:互联网高端大气术语,本文中特指由一名得到更高层授权、拥有一定决策权的人跨部门或跨公司沟通协调。
▒贰·其他大厂▒
2015年有一个著名的“为什么有些大公司技术弱爆了?”问答一箭穿心,虽然提问者说的是一家“卖机票的”大型互联网公司,但射中了IT人的脆弱,无数人将心比心、换位思考地为技术团队中的 Bad Smells 辩护。
比如雷军旗下的公司,各搞各的体系建设,感觉没有人抓总,小米集团技术委员会姗姗来迟,2019年4月成立的。但58同城就很明显有技术委员会在抓总,举个简单例子,集团以前名下有统一的配置管理和过程控制部门,把下面各个公司的版本控制、持续集成和持续发布牢牢地抓在手里,后来好像因为成本核算的原因才把配管打散了下放到每一个公司里。有人抓总和没有,确实不大一样。
再比如2015年我们就了解到蚂蚁集团有着庞大的产品研发支撑体系,可以浓缩为四个平台:ACP(阿里协作平台)、九州资源管控平台、AQC(蚂蚁质量基础设施平台)、Zpass(蚂蚁集团发布部署平台)。ACP是总驱动,九州、AQC、Zpass作为基础设施,整个形成一套CI/CD流水线,如下图所示,注意这只是2015年我画的快照。
我可以把大家的辩护解读为“从熵增到熵死”:熵增:这是热力学第二定律所描述的原理,在孤立系统中,体系与环境没有能量交换,体系总是自发地向混乱度增大的方向变化,使整个系统的熵值越来越大。熵死:熵达到极大值,系统达到最无序的平衡态,整个系统最终慢慢地退化成毫无生气的、死气沉沉的一团物质——这是一种持久不变的状态。
但我不愿意承认“熵增”是根本原因,也不愿意承认“熵死”是必然结局,因为菊厂一直致力于“熵减”,此病虽积重难返但并非无药可解。
虽然2016年一位名叫“泥瓦匠”的海归程序员写下了那篇《华为到该炸掉研发金字塔的时候了》,从组织、流程、环境、工具等四方面阐述在菊厂做研发之不易,但2017年菊厂总裁办发布了一封《华为之熵,光明之矢》的学习邮件,试图从企业宏观层面论述如何解决企业发展过程中出现的组织惰怠、流程僵化、技术创新乏力、业务固化守成等问题。此处不再赘述,感兴趣的同学可自行搜索。* Bad Smells:坏味道。Martin Fowler在其名著《重构:改善既有代码的设计》中生动形象地使用“代码坏味道(Bad Code Smells)”来比喻低质量的代码设计和实现所显现的“症状”。
▒▓三·问题出在哪儿呢?▓▒
我跟一些大厂的人深入聊过,我们自己人也有不少人去了大厂,确实有不少声名显赫的大厂虽然业务高歌猛进,新闻高潮迭起,但IT缺少顶层设计,各自为战,高高砌起部门墙和公司墙,缺乏自发革新和革命。
我试图从组织行为逻辑上解释这个问题,首先我把它归因为“缺少德才兼备的长期主义者”。
其次,我从组织管理上描述一下表象,看看你是到哪一行心有戚戚焉,感慨这不就是我们公司嘛:
A.一开始有CTO的:
A.1.业务发展太快,CTO跟不上
A.1.1.CTO德不配位,水平不够,大家不服
A.2.公司押中赛道,巨量资金进入,同时引入了阿里腾讯百度等内企、微软谷歌等外企的风格迥异的技术大咖,这些势力互不买账,纠缠掣肘,公有公理,婆有婆理,做业务都一个头九个大,更别提顶层设计高举高打了
B.一直没有CTO的:
B.1.始终缺一票拉通抓总的人(比如技术委员会),BU们各自为政,自然而然,必然结果
B.1.1.技术选择太多了,光是Apache基金会里顶级项目就一大堆,每一个聪明人都想引入更好的,结果谁也不听谁的,你一个,我一个,慢慢地,集团里就脑裂成不同技术路线,各自演化
B.2.换人如换刀:现实中还有一种常见情况是,外行指挥内行,不解决问题专门解决人,工作达不成就换人,再达不成就再换。很容易在产研团队里导致这样一种后果,刚要有所起色就换了一拨人,又刚要有所起色又换了一拨人,最后搞得一团糟,满地全是无主的“焦油坑”。
* 焦油坑,参见软件工程经典著作《人月神话》。
▓█四·小结█▓
最后我总结一下:因为“缺少德才兼备的长期主义者”,面对企业不期而至的“熵增”,既不敢像马云支持阿里云王坚一样去寻求管理层的理解、信任和支持,也做不到“日拱一卒,功不唐捐”,更无法像王坚一样“所有理想主义都是用命来填”,最后变得像印度一样大而不强。
资源链接:
1,2018年著名问答,https://www.zhihu.com/question/278473776
2,2015年著名问答,https://www.zhihu.com/question/32039226
3,2016年,《华为到该炸掉研发金字塔的时候了》
4,2017年,《华为之熵,光明之矢》
昀哥 写作于2021年6月18日
关键词:IT建设,基础设施,长期主义,熵增,熵减,熵死
-全文完,如果觉得有收获,记得点推荐或“收藏”-
为什么有些公司的IT很乱?的更多相关文章
- 多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用 今早上接到一个电话,自已多年前写的一个ASP.NET网站管理系统,一个公司在用,出了点问题, 第一点是惊奇,5,6年前的东东,手机号码换了 ...
- 怎么用MathType解决Word公式排版很乱的问题
现在办公室起草文件,期刊论文投稿.学校试着编辑都要先在Word中编辑好后再打印出来.在Word中编辑这些文本内容时,如果遇到公式就要使用专门的MathType公式编辑器.而有很多人在用MathType ...
- Jmeter日记,很乱很随意
这个笔记是写给自己看的,很乱很随意,可能以后自己都看不懂.哈哈 Jmeter两种录制方式: 1使用badboy 2.使用代理 浏览器设置代理 参数化 随机参数化 插件的使用 官网下载和说明https: ...
- 安装storm的一些很乱的笔记
下面是自己安装和测试storm的一些笔记,比较乱,后续有时间在整理一篇. storm jar all-my-code.jar com.storm.MyTopology arg1 arg2这个命令会运行 ...
- angular学习笔记,很乱哈哈。
1.鼠标悬浮出现的信息v-bind:title="message" 2.对该便签进行结果判断显示隐藏v-if=''控制台设置 app3.seen = false(消失).控制台设置 ...
- sqlplus 打印很乱,而且很短就换行
set linesize 可以解决 设置行打印的字符长度,set linesize 400解决
- 手提wifi双卡配置+window7同时多用户远程+有些公司限制网络环境方案
该公司只提供几台机器,同时限制并连接到内部办公网络的机, 我们更多的临时工作人员,项目紧张,而另一种是太麻烦了申请, 当被问及其他网络管理,说没有变通方法. 在我的尝试,最后,找到一个解决方案; 解决 ...
- 移动端目标识别(3)——使用TensorFlow Lite将tensorflow模型部署到移动端(ssd)之Running on mobile with TensorFlow Lite (写的很乱,回头更新一个简洁的版本)
承接移动端目标识别(2) 使用TensorFlow Lite在移动设备上运行 在本节中,我们将向您展示如何使用TensorFlow Lite获得更小的模型,并允许您利用针对移动设备优化 ...
- centos 7.0 lnmp成功安装过程(很乱)
下载nginx [root@localhost src]# wget http://nginx.org/download/nginx-1.7.9.tar.gz --2015-01-24 12:55:2 ...
随机推荐
- Linux查看进程和查看端口占用
查看进程 ps -ef|grep ****.jar 查看端口占用(如果出现命令找不到,安装一下工具即可) netstat -lnp|grep 端口号 (命令找不到解决办法) yum install n ...
- Mac 右键强化工具-超级右键
App Store 功能介绍 1.新建文件 默认支持新建:TXT/RTF/XML/Word/Excel/PPT/WPS文字/WPS表格/WPS演示/Pages/Numbers/keynote/Ai/P ...
- SpringBoot邮件报警
SpringBoot邮件报警 一.介绍 邮件报警,大体思路就是收集服务器发生的异常发送到邮箱,做到服务器出问题第一时间知道,当然要是不关注邮箱当我没说 二.配置邮箱 (1).注册两个邮箱账号(一个用来 ...
- FreeSWITCH的安装与使用
FreeSWITCH
- OO第三单元总结——JML规格
一.JML简介 1.JML语言的理论基础 JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言.JML是一种行为接口规格语言 (Behavior In ...
- .Net平台的GC垃圾回收
一.先了解下必备的知识前提 内存中的托管与非托管,可简单理解为: 托管:可借助GC从内存中释放的数据对象(以下要描述的内容点) 非托管:必须手工借助Dispose释放资源(实现自IDisposable ...
- 【转载】CentOS 7自动以root身份登录gnome桌面 操作系统开机后自动登录到桌面 跳过GDM
CentOS 7自动以root身份登录gnome桌面 ################### #cd /etc/gdm ]# cat custom.conf# GDM configuration st ...
- 【BIGDATA】Grafana告警之webhook的坑
近日搭建一套基于ELK&Grafana的监控告警平台,目的是将生产端某性能日志导入ES中,通过Grafana进行可视化监测,同时设置告警. 告警内容推送到自建的webhook服务后,转发到指定 ...
- JNLP配置WIN10
依据网友的反响和我自己的考查,发觉JNLP的情况是大多数网友的困惑之处,针对此问题小编给大总结整理了(关键此)的处理技巧,并对它进以加工改善,整理出JNLP的详细教程,只用你按照1:首先配置电脑的ja ...
- Installing SFTP/SSH Server on Windows using OpenSSH
Installing SFTP/SSH Server 1. On Windows 10 version 1803 and newer In Settings app, go to Apps > ...