国内公司普遍不注重基础设施建设,这也是可以理解的。吃饭都吃不饱,就别提什么荤素搭配,两菜一汤了。但也不能全说是这样,还是有很多公司投入大量的人力物力去做好公司的基建,比如很多阿里和美团的小伙伴对公司的基建还是很认可的。
为什么工程师都很在意公司的基建
有人说再好的磨盘也只是提升了驴拉磨的效率,便宜了资本家,要那么好的磨盘干什么呢?有必要讨论和对比么?还是有的,这就好有一比:比如我们都是个给老板开货车的司机,除了老板给我们发的薪资待遇外,开什么车,车况如何还是挺影响心情的,有的开沃尔沃,有的开福田, 还有的开三轮。
我们每天都在公司工作,工作环境和工具对于我们的工作效率有很大的影响,对我们的工作心情也有很大影响,如果每天郁郁寡欢,长期影响寿命啊。
什么是基建 infra
基建,主要是指一个公司的软件基础设施 infrastructure,比如:
通用的协同协同办公软件,比如通信沟通软件im,文档,邮件
通用的 IT 基础设施:vpn、跳板机、SSO
项目管理工具和工单:任务管理与流转
服务端的产研平台 devops, gitlab, nexus, k8s等等
APP端的Mac/android打包,提测,发版,线上apm监测,crash统计,合并代码lint监测,app加固,统一的三方库封装,跨平台框架基建
数据库,存储,监控日志告警,限流熔断中间件,消息队列,任务调度,服务注册发现,配置中心
自动化测试平台,测试环境隔离(包括服务和数据的隔离)
私有云infra,开发、测试、线上生产环境快速获取、部署以及方便使用和管理
如果以上的所有工具和服务如果能友好的接入和使用,并且稳定性强,那么就说这个公司的基础设施建设(基建)合格,如果大多数的工具和服务能超出部分人的期待那么这样的基建就值得一个大大的赞。
硬件基础设施
一些硬件infra比如WI-FI,工作笔记本,独立显示器等,我们一般视作硬件基础办公环境,这些公司投入一些很容易达到,软件的基础设施其实更重要,也更难建设一些。
一线大公司的基建
之前写过一篇文章《一二三线互联网公司划分标准和榜单》,里边介绍了互联网公司的划分标准以及给出了这个标准下的国内 Top10 公司
一线互联网公司:腾讯、阿里、字节跳动、百度
二线互联网公司:美团、京东、网易、拼多多、快手、携程、贝壳、滴滴
三线互联网公司:B站、微博、爱奇艺
本文主要是讨论这些典型的互联网、软件公司的基础设施建设情况。
典型互联网、软件公司基建排名
我们主要从1)工具链完整性,2)功能完备性和易用性,3)支持和服务以及4)员工满意度四个方面来考虑。「非常主观地」得出如下的一个顺序:
阿里(蚂蚁稍逊)>美团.........>滴滴>拼多多(Java侧)>京东科技>携程=去哪儿.....>字节>京东商城......>oppo>Shopee,网易,B站
从上面我们把这些公司从基建这个角度分成了四个阶梯
阿里和美团绝对的在第一阶梯,这里不但有各种各样的工具,而且提供了方便的接入和服务,让你可以很快上手用起来。员工非常认可公司的基建建设。
第二阶梯的工具链在以上几个方面的某一个方面有所缺失,但员工对工具的满意度还可以。典型的如拼多多在C++侧的工具链就需要再完备一些。
第三阶梯的工具链在以上三个方面除去有需要改进的方面,更体现在员工对基建的满意度差。典型的反馈就是「又不是不能用」
第四阶梯员工对公司的基建非常不满,比如 shopee的员工对 git 服务器卡顿的「愤怒」
这里有个比较让我吃惊的地方是「腾讯」,很多从美团去腾讯的同学反馈,腾讯的基建相对于美团来说还是有很大改进空间。讲道理说以腾讯的体量和资源,建设起一流的基建不但对自己有益,又可以输出到投资的很多公司,还可以放到云上售卖,自己做的非常好才是,但是的确是反馈不佳。鉴于反馈的差异较大,暂时没有排名。
百度的排名也比较有争议。有个粉丝说百度EE yyds,应该放到第一位。结果下边立刻有人质疑他去了一个假百度,回复只能说功能都有,称不上好。也有人觉得放到第三梯队比较合适。鉴于反馈差异较大,暂时也没有排名。
本文总结
上面的排名相对来说,因为信息有限,难免有失偏颇,而且比较「主观」。但大家应该也能从中看出一些问题。基础设施建设团队一定要到一线团队去多走走多转转,去舍身处境解决一线同学的问题。很多团队在那里无情地卷着自己还卷着别人,自嗨到不行却没有顾及用户的感受。
欢迎大家反馈,给基建好的公司和自己用到的好的工具打call,比如美团的 cargo,阿里的 odps,滴滴的 Lean。
我的其他文章