这是「二三线中型互联网公司研发效能团队规模、职能划分和优劣势分析」的一个铺垫,一个背景。因为如果不写此篇,大家可能仅得到一些经验总结,恐怕难以获取当时为啥做出那个决定。做决定要有上下文环境,要有场景才好理解。
本篇主要写了我在五八同城期间做的一些事情,介绍了五八同城的服务端一站式研发管理平台iwork,接手英才网、安居客、赶集网的经历,从北美国际中心搬家到酒仙桥IT产业园,以及做移动端效能平台sunflower。还是比较怀念曾经那个团队,那个「万能的PMO」。#研发效能#
1北美国际中心
15年我加入五八同城的时候,它还在北苑附近的北美国际商务中心。当时我们在E座,五八到家在K2,无线团队(移动App)在F座。每次去北美国际中心都要从地铁5号线「大屯路东」下车,沿着北小河走10多分钟才能到达北美国际中心。北美国际中心的东边有个「黄草湾郊野公园」,中午吃过饭还可以去走上一圈。向南走不远是「完美世界大厦」,很多受不了长期吃美餐的小伙伴就去那边打牙祭。
当时我加入的时候,五八同城的产研人数在人这个数量级,团队很年轻。当时我本着去投奔甄诚大叔的,可惜我刚去不久,甄诚大叔就去蚂蚁金服了。大叔在百度阿里腾讯都工作过,很多对于互联网团队的看法和认知都来自大叔,每次遇到犹豫不决的问题都会向他请教,他的很多观点都精辟犀利,发人深省。我和大叔很聊得来,现在也常联系。
在北美国际中心的时候,我俩座位背靠背,经常讨论问题。那个时候其实还没有网盘。文件共享一般通过ftp、samba来做,有点不便而且还涉及权限的问题。当时有一些团建的图片和外边下载的资料,我问他怎么看这个问题,他说放svn里。于是我们就新建了一个仓库专门用来放图片和文件。因为五八同城有个一站式管理平台iwork,所有svn的权限是托管到这上面的,只需要针对域账户做权限分配即可,非常方便。其实对于svn这种工具一般是存版本管理的,放代码比较合适,放二进制文件一般都是禁止的,但是如果做好隔离和管控觉得也没啥问题。格局打开了。
五八同城在研发基础设施建设这块的投入还是很早的。整体上前期五八同城还是百度技术的底子(好像百度技术是北京好多公司的底子)。负责研发管理部的江老板是百度过来的领域专家,对研发基础设施建设这块业务有很深的理解。后来遇到了她百度的同事,一个同事对她的评价是「整个百度对这块业务最懂的人之一」。
江老板的很多想法在百度经过了验证,到五八后创建了研发管理部,从0到1把五八同城这块的业务给带起来了。底子打的早打的好,后面就十分顺畅,反例就是如果底子差做得晚还要很快有结果,基本上接手的时候一地鸡毛撒手的时候鸡毛一地。
2研发管理部组织架构
组织架构:TEG(CTO)-研发管理部
五八同城也是腾讯系的公司,所以也有个一级部门叫TEG。TEG还有其它的二级部门,比如数据智能部等,但是因为和我们不太相关,所以没在上图中展示出来,只展示了和我们交集比较多的架构部和运维部。
研发管理部有三个团队,主要负责四方面职能:
PMO团队是刘总带队,一个老北京,脑袋机灵,当时开车带我去办了香港招商银行卡和富途的账户,可是亏了不少。现在我香港招行卡的联系地址还是北美国际中心。
平台产品是PMO团队的许晨同学负责,半个江南大学校友
平台研发是新跃带队,一个靠谱的帅气小伙
配置管理就是我们团队
当时我们团队负责的主要职责:
研发管理平台建设:作为平台的需求方,对业务线需求进行分析,负责方案调研、制定与技术选型,平台使用培训与推广
源码管理:开发模式、分支策略、基线版本等
基础设施:搭建、维护和管理配置管理相关系统,保证服务的稳定、高可用(Subversion,Git,Maven,Jenkins,Artifactory,Nexus,Ansible,Supervisor)
构建管理:建立和维护多平台构建服务器(Java,Android,IOS,C/C++等),保证服务快速构建上传
规范制定:负责规划软件配置管理策略(分支策略、发布策略)及软件配置管理解决方案、制定产研规范(JAR包管理规范、SVN授权管理规范)
脚本工具:完善构建脚本(Shell,Python)、备份还原策略和工具
业务线支持:对用户进行培训和支持,支持所有业务线业务发版
3一站式研发管理平台iWork
提到五八同城的产研就不能不提iWork。iWork是五八同城的一站式研发管理平台。在很多公司svn/git手动管理的时候,五八的iWork已经上线,规范了产研协作流程,把规范落到iwork平台,大大降低了产研协同的沟通成本,极大提高了工作效率和质量。那个时候能做出来iWork,思想和系统都还是很先进的。
精细化的目录权限管理,通过组授权代替用户直接授权
自助式账号创建、密码修改、密码重置
权限审批下放业务线,可定制的多级权限授权流程
对各种开发模式的良好支持(主干开发主干上线,dev分支开发rel分支上线,分支开发分支上线)
流畅的研发全流程支持(需求-排期-代码-构建-提测-上线)
bug/issue/feature状态的自动流转、自动变更(比如分支送测、上线后任务状态自动变更)
我15年加入五八同城的时候,上面的功能就都已经具备了。而我19年加入快手的时候,快手的gitlab还经常崩,svn还需要手动改密码,差距之大。好在两年多过去,我们在快手做的Kone也已经做得相当出色(对比三天两头被在脉脉上骂的kdev强太多了),这还得感谢「巨人的肩膀」,感谢五八和滴滴带来的成长。
4接手英才网ChinaHR、安居客
那个时候五八同城收购了ChinaHR和安居客,所以我们也开始接手这两个公司的相关所有工作。基本的思路是做好权限交接,检查系统备份还原方案以免数据丢失,保持系统稳定,先过渡一段时间后迁移到五八这边的系统上来。只接手业务不接收人。整体上这两个公司之前的技术和五八还是差了一点。留下的人也希望有人来接手,否则很多事情都做不了。所以我们团队很快就完成了这些系统的交接。
5酒仙桥IT产业园
在北美国际中心待了没多久,公司就在酒仙桥IT产业园买了两栋楼,要往那边搬,所以涉及服务器的迁移。当时能部署一套的,我们就直接在酒仙桥部署了一套服务,同时把北美国际中心这边的数据频繁地同步过去,在那边测试;不能同时部署的,最后只能直接搬服务器。
还记得一天夜里,我们(洪雷、宏伟、赵丹、张蕾、帅华)用货拉拉叫了一辆小面,拉着几台服务器去酒仙桥了。结果拉过去后插上电显示器就蓝屏了,帅华对着蓝屏的系统,卡卡一顿盲配IP,最后居然能访问了,震惊了我们一众小伙伴。
系统迁移过去后,我们团队的妹子们开始验证功能,中间发现有个研发都不记得的服务需要部署。好在大周末的搞了一上午完成了,又惊又喜。
6接手赶集业务
总体上说赶集的技术实力还是不错的,在一些小点上比较有特色。比如docker