国内公司普遍不注重基础设施建设,这也是可以理解的。吃饭都吃不饱,就别提什么荤素搭配,两菜一汤了。但也不能全说是这样,还是有很多公司投入大量的人力物力去做好公司的基建,比如很多阿里和美团的小伙伴对公司的基建还是很认可的。

为什么工程师都很在意公司的基建

有人说再好的磨盘也只是提升了驴拉磨的效率,便宜了资本家,要那么好的磨盘干什么呢?有必要讨论和对比么?还是有的,这就好有一比:比如我们都是个给老板开货车的司机,除了老板给我们发的薪资待遇外,开什么车,车况如何还是挺影响心情的,有的开沃尔沃,有的开福田, 还有的开三轮。

我们每天都在公司工作,工作环境和工具对于我们的工作效率有很大的影响,对我们的工作心情也有很大影响,如果每天郁郁寡欢,长期影响寿命啊。

什么是基建 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。

我的其他文章

DevOps | 研发效能价值如何衡量

DevOps|研发效能不是老板工程,是开发者服务

研发效能负责人/研发效能1号位|DevOps负责人

疫情大环境下科技互联网公司开源节流降本增效

研发效能|DevOps 已死平台工程永存带来的焦虑

DevOps infra | 互联网、软件公司基础设施建设(基建)哪家强?的更多相关文章

  1. 上海洋码头(www.ymatou.com)急招技术人才(职位:互联网软件开发工程师,.NET网站架构师,Web前端开发工程师,高级测试工程师,产品经理)

    对公司招聘职位有兴趣的童鞋可以把简历发送到zhangzhiqiang@ymatou.com,我们HR会快速给你答复. 互联网软件开发工程师 岗位职责: 1.参与洋码头各个平台(www.ymatou.c ...

  2. 报表软件公司悬赏 BUG,100块钱1个的真实用意

    上一篇文章我讲到,报表软件FineReport一反常态,做了个<提BUG,拿现金>的活动,1个BUG,100块钱.纵览软件行业,如金蝶用友浪潮IBM微软等国内外巨头,均没有这样的举动去征集 ...

  3. 传统IT公司/创业公司/互联网大公司的offer如何选择?[转载+原创]

    背景介绍: 第一家工作的公司是一家跨国外企安全公司, 骄傲的称自己不是互联网公司而是传统软件公司, 第二家公司是当下最热的知识分享社区, 创业公司. 第三家公司是挤走谷歌, 曾一度称霸中国的搜索引擎公 ...

  4. Atitit.研发管理软件公司的软资产列表指南

    Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...

  5. 4.2w起步的软件公司创业历程

    调查说,中国民营企业的生命期平均是2.8年,如今我的企业已走过近四年,而这一年却是我的迷茫期,不知道何去何从,现在写下 来与大家一起分享一下,写得较为凌乱,大家将就着看一下吧:) 先交待一下自己,我来 ...

  6. 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)[转]

    我一直在思考软件公司如何开源节流.当然,老板也在思考开源节流.当然,老板思考的开源节流在公司运营层面上,而我作为CTO,我考虑的则是在产品运营角度上来思考这个问题.否则,一个软件公司,它的生存与发展就 ...

  7. [转]美国的软件公司是什么样?---- 以Fog Creek为例

    作者: 阮一峰 日期: 2009年2月15日 Joel写过一篇文章,关于软件公司如何雇到优秀的程序员. 他说,软件公司的头等大事,就是找到第一流的人才.不同于其他行业,软件是一种纯智力产品,你有什么样 ...

  8. 软件公司的两种管理方式 总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组

    软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有 ...

  9. Atitit.互联网 软件编程 数据库方面 架构 大牛 牛人 attilax总结

    Atitit.互联网 软件编程 数据库方面 架构 大牛 牛人 attilax总结 Coolshell 称号.理论与c++ 阮一峰:: 理论高手与js高手 王银:理论高手 赵劼,网名老赵,c#高手 与理 ...

  10. 生意经:凡是现今比较会赚钱或是规模比较大的软件公司大都属于开发"消费型软件"的公司(而且登广告,应该定低价进行销售)

    c#之父是Anders Hejlsberg, 一个丹麦天才.他和idsoft的John Carmack都是自学成才的典范. 他对语言和汇编的理解全世界没几个人能超越. (今天偶然从网上了解到这个大牛, ...

随机推荐

  1. centos7.2 64位安装php7.2.12

    1 安装php所需要的扩展 yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel curl curl ...

  2. Spring RedisTemplate源码解读

    RedisTemplate类位于项目spring-data-redis-xxx的包org.springframework.data.redis.core下,是我们在Spring框架下操作Redis数据 ...

  3. 弹框tabel

    <el-dialog title="删除数据类型" :visible.sync="isDataType" width="60%" :b ...

  4. 拉勾java核心类库--String类

    String类 @author :magiclx 摘要:String类是用final进行修饰的,关于字符串的一个类,其中包含很多个方法 关键词:String,常量池,正则表达式,数组转化 正文: 参考 ...

  5. 语法分析~LL1的实现

    语法分析之 LL1分析法实现 一.设计目的 根据某一文法编制调试LL(1)分析程序,以便对任意输入的符号串进行分析.本次实验的目的主要是加深对预测分析LL(1)分析法的理解. 二.设计要求 程序输入/ ...

  6. 2020/5/14-笔记:Oracle数据库新建用户与给用户授权

  7. Halcon代码导出到.net FrameWork/WPF

    1. 应用背景 在工业项目中,往往需要使用机器视觉结合人机界面开发特定的,面向工艺的项目.机器视觉中,Halcon无疑是功能强大的,能快速应用到项目的视觉产品,而WPF则是解决人机界面的利器.因此了解 ...

  8. 解决idea xml文件中的中文注释乱码

    今天用idea编译xml文件的时候报错了,打开编译好的xml文件发现是中文乱码问题,按照百度上靠前的办法设置了一下,并没有解决乱码问题,在当前项目中直接设置就是不生效,最后删掉编译好的 target/ ...

  9. binder机制分析

    1. binder基本概念 1.1 特点 1)binder 是一种基于C/S通信模式的IPC(Inter_Process Communication). 2)在传输过程中近需要一次copy,为发送添加 ...

  10. JMeter压测脚本实例:单接口

    新建测试计划 添加线程组 添加HTTP请求 配置该请求相关参数 1.请求头部信息 ①HTTP请求同级线程组下添加HTTP信息头部管理器 ②填充该请求所需的头部信息 2.请求体 选中之前增加的HTTP请 ...