微拍堂工作盖论
# 题记
2022 年 3 月 21 日,我从微拍堂离职。
幸运的是,我遇到了一群近乎完美的人组成的完美的团队,我们之间的关系没有任何缝隙,我们互相信任,彼此坦诚,真诚分享,并肩作战,共同成长。
在最后一次团体吃饭当晚,我们每个人都感慨着,细数着每个人的优秀与负责任,并真切感受到这样一个团队氛围的珍贵。
几个月后,我在朋友圈发表:再也遇不到了,好在曾经拥有过!今天这篇文章,算是给这句话做上一个注解。
# 前言
后来,微拍堂在互联网上有很多负面消息,以至于如果有人在脉脉上问微拍堂某某岗位如何的时候,网友都会评以:最美逆行者。
有人是随着潮流胡乱评论,有人是真切受伤有感而发,桩桩件件,不一而足。
而在这样一个众人不看好的公司里,我已工作了三年,九百六十多天。在我的内心当中,对公司则有一番与网络上的评价完全不一样的感受。
回想起入职之前,我也曾在网上检索过关于公司的网络评价,彼时已然看到一些劝退的负面消息,但那时我还有几分迷之自信,总觉得没有恶劣的环境,只有矫情的人。而且向来喜欢体悟各种境况的我,反而会期待一些挑战,于是,我毅然接受了公司的 offer,踏上了难忘的三年工作之旅。
三年中,我经历了太多,经历了公司业务飞速增长到发展放缓,经历了部门人员流失殆尽到后来部门队伍再次壮大,经历过一些憋屈的时刻,更经历过轻松的欢乐。
我的技术能力长足提高,做事思维与眼界得到锻炼,也收获了职场中难得的同事友谊,以至于后来,在这个外人都是差评的公司里,我仍过着舒心愉悦的工作生活。
# 经历
我是 2019 年 7 月 29 日入职公司,最开始的时候,我还只是一个入行两年,没有太多技术沉淀的小白,而部门内都是拥有着丰富经验的前辈,每次开会与他们交流,都会使我感受到极大的压力。记得那时候我跟朋友聊天时曾感慨:我来到这里,就好像是一个初中生,一下子来到了高中的教室中上课一般。
很多内容已经是人家的常识,而我却都还只是第一次听说,于是只有主动抓住一切下班的时间,一切周末的时间,在拿到小伙伴的一些知识点之后,自己私下里悄悄补齐。这种情况持续了将近一年时间,这一年当中,我几乎没有什么个人的休闲时间,大多数都是投入到了工作当中,慢慢开始对业务熟悉起来,工作也变得得心应手起来。不过所做的内容也都中规中矩,基本还都是运维本职分内的事情。
大概从 20 年年中的时候,部门的人事开始变动起来,最早我刚来时的那一批同仁,山哥,伯洋,余老师,建飞,芳姐,他们都因为这样那样的原因,一一离去,彼时运维部部内,除另外两位比我在职时间稍长一些的 DBA 同学之外,我则成了资格最老的员工。
于是,那一段时间成了我在这段工作经历中的至暗时刻。
尽管那一阵儿已经有了四五个新同学补充了上来,但是因为他们都还在业务的熟悉阶段,不能直接上手对接业务,以及处理问题。在开发者眼中,运维部门熟悉的人也只有我一个,于是许多需求或者咨询类的东西,都一并朝我涌来,彼时压力不可谓不大,每天我的整个人都是超负荷运转,忙到晚上八九点工作仍是做不完,想着离去的老战友,我也曾动过撤离的念头,然而,在那样一个被需要的时刻,我实在无法说服自己狠心离去。
于是,咬着牙硬扛,最后总算带着这一波新的兄弟们,走了出来,新一批兄弟同样都是非常优秀的人才,所有人如八仙过海一般,各显神通,最终完成了我们不平凡的成绩,也把整个运维部打成了一个牌子响亮的 最佳团队
。
# 人与事
现在回想起来,我们团队成员的配置,完全符合一个优秀团队该有的各种特质,各种角色人才一应俱全,每个人在能够独当一面的情况下,还都彼此扶持,关爱,以至于我们的关系已经超越了同事之情,而上升到了一种深厚的朋友情谊。
首先从部门领头人田老师说起,他是在 20 年十月份左右开始做部门领导,之前一直是 DBA 的角色,在 DBA 这一亩三分地上来说,很有一番功力,这算是他作为技术人的立身之本。除此之外,作为部门在职时间最久的员工来讲,他性格外向,擅长与人打交道,在我看来,这是一个部门级领导非常重要的一个性格特质。他并没有专门学过管理,后期果真也没有对我们过多的干涉管理,把握住了大方向之后,充分相信下属,给我们极大地发挥空间,并且在当我们需要外部资源协助的时候,还能够及时交涉,拿到资源,这是我们部门能够把事情做出来的最核心的基础保障。
其次就是 20 年底时入职的一个大佬力哥,力哥在技术层面的眼界,认知都是极高的,远超我们当时的认知水平。并且为人和善,很能与下边兄弟们打成一片。力哥与田老师一样非常能侃,而且还都是思考有深度,思路有价值的侃。当然,力哥的开车的速度也非常快,部门小伙伴们日常工作中,经常会被这位老司机带晕。从运维技术角度来说,力哥弥补了田老师的空白,从而给我们之后运维工作的规划以及安排提供了明确详实的支撑。另外再多说两句,力哥给我们部门带来的整个运维眼界的冲击是非常大的,如果没有在后来的工作进程中遇到力哥,恐怕我们这十来个兄弟,还都停留在几年前的传统运维思维当中,那么成长也就非常有限了。其实力哥很卷,尽管他不是部门最卷的,但常常会给我们带来认知空缺上的压力,从而逼迫着我们不得不卷起来,让自己快速了解并强化那些认知,以期让自己在后续的工作当中拥有多一些主动,少一些被动。如果没有力哥的出现,我们很少能够以 SRE 的视角审视运维与业务的关系,这些都是力哥带给我们的财富。
再往下十几个基础运维同学,又简单划分了三个小组,我带领永春,刘帅为一个小组,张博带领陆游,正伟为一个小组,秋阳带领振华,慧贤为一个小组,我们三个小组按照业务做了一些划分,除了日常需求对接之外,我们还会临时组队进行专项项目攻坚。
从 20 年九月份开始,到 2022 年,我们做了许多重大且价值很高的项目。这里简记如下:
发布平台统一
将原来存在的五种发布系统,全部合并到 Jenkins 当中,项目历时五个月,有我全权负责。在项目结期之后,我们再也没有为交付一个项目的发布而惆怅,烦恼过。另外值得提一句的是,这个项目似乎有一个魔咒,那就是每做一期,参与在项目中的人,就会有离职的,我与陆游则是项目参与过程中唯二留下来的。最最早的发起人,张同学在第一期还没开始,就已经撤了,后来参与进来的蔡同学,在第一期还没结束的时候也撤了,再往后第二期又引入了测试环境这个复杂凌乱的项目时,刘同学也跑了,他们撤离的原因可能各不相同,但都没能完整地将这个项目拿下来,实属遗憾。彼时我的心态也有一些动摇,但是田老师曾找我聊过一次,提到说不管啥时候走,或者以后走去哪里,至少在这里把这个事儿做成了,那么以后出去也能成为一个吹牛的资本,这话挺触动我的,在这之前,我从来没有在工作当中独立完整的负责过一个项目,大多都是日常工作的支撑,交付,非常零碎,因此内心里对田老师那番话还是比较触动的。只是没有预料到项目当中会遇到的如此多凶险,我曾一度在项目过程中把头皮挠破,但好在,都熬过来了,这也成为我第一件全程负责,完美,完善,完整地把一个项目给做成了。
测试环境重做
我进入公司的时候,所有服务的测试环境还都是跑在一两台宿主机之上,也只有那一套测试环境,后来随着运维人员的更迭,测试环境逐渐转移到了 k8s 当中,然而又是都没有任何规划,没有任何设计的,并且后来公司规模越来越大,测试环境也越来越多,就导致问题越来越多,开发测试叫苦不迭,运维更是痛苦不堪。更加可怕的是,当初做这一套的人员,已经全部都不在了。我们当时面临的就是这样一种困境,且因为测试环境的问题,已经严重影响到正常编码开发迭代,老板也十分重视这个问题,在 20 年底的时候,将这个项目指派给了我们,并且各部门都投入了人力,一共十二三个人,专项来搞这个项目。记得很清,那一个月,我们一行人每天都聚在 312 会议室,闭关搞环境。原来的环境已是一团乱麻,一百多个服务之间的互相调用形成了一张复杂的网,千头万绪,我们一个也抓不住,然而还得一个一个抓。重新梳理所有项目的所有信息,重新制定代码,配置,部署,调用等相关规范,一切也都是摸着石头过河。现在回想起来,那段日子的确很难熬,但好在,我们也熬过来了,我们付出的功夫总算没有白费。对了,测试环境项目前两期都是我在负责发布统一项目过程中阴差阳错成了负责人,再往后的工作中,力哥也加入了进来,提供了很多的思路与帮助,第三期力哥则作为这个项目的负责,把项目彻底推完了,我则在同期做其他项目了。
日志统一项目
这是博哥的杰作,以往各语言日志都是按照开发者自己的想法或者习惯打的,有一些很不标准,给后续通过日志配置告警带来很大挑战,而且运维在日志的维护工作中也投入精力非常大。博哥也带领了各语言栈的开发人员按照统一的规范设计基础日志包,然后推进落实到每个项目中,这个项目也持续了一两个月,相信博哥在这个项目推进当中也获得了不少的成长。项目结束之后,果然运维同学再也没有为新上线应用采集日志的问题烦恼过了,给博哥一个大大的赞。
监控系统高可用建设
以往的 Prometheus 是单点拉起,后来数据量越来越大,Server 稳定性总出问题,就安排由正伟调研负责, 最后结合腾讯开源的 kvass 对监控系统做了高可用建设,自那以后,我们再也没有发生过监控 Server 挂掉的情况,正伟也成了我们部门内的监控专家。
大屏监控项目
由秋阳与刘帅一同研究推进,为大促活动保障提供了一个大屏参考。因为我没有参与,了解不细致,因此不多展开。
自动伸缩系统
前期由振华调研推进入口 OpenResty 集群的收拢工作,后期结合运维开发完成了整个平台的建设,为 119 活动提供了强大的支持。
成本压缩
力哥牵头,部门成员有力出力,大家共同推进的一个项目,经过几个月奋战,我们将云产品的整体费用缩减了 20%每月。
还有一些其他的项目,这里就不一一列举了。
此外:还有我没提到的 DBA 层面,斌哥,刚哥,鹏哥,都是非常优秀的 DBA,后来刚哥与鹏哥都撤了,剩下斌哥,而斌哥仍旧能够独挑大梁,将 DBA 整个事儿担当起来,这是我非常佩服的。我们曾多次搬换工位,有那么几次我都是与斌哥挨着坐,斌哥是个特别有责任心,做事也很有条理的一个人,他来做 DBA 真的太合适了,有一次我们几个人约着去漂流,我们几乎都不用操心,所有衣食住行,以及景点相关交涉,都是斌哥操心负责的,而且漂流是在下午去玩的,结束的时候已经很晚的,天已经有点冷了。我们出来的时候,斌哥竟然在家还带了保温杯,里边装着在家煮的姜茶,分给我们喝,这个事儿带给我触动还是非常大的。
如上一系列操作下来,直接让整个运维部,在 21 年年会上,拿到了最佳团队奖。当时发了两万奖金,我们拿着这钱,聚了一次又一次美好的晚餐。
除此之外,在整个三年工作生涯当中,还认识了许许多多优秀的个体,想起来自己经历也真算丰富,遇到了如此多鲜活的灵魂。接下来简记一些印刻在我脑海当中的人和事,其中有话则长,无话则短,话短不代表情浅。
- 董承(前端):我俩同一批次入职公司,工号也是挨着的,印象很深,有两次年会,他的工号都中奖了,而我都是失之交臂。董大哥是杭州本地人,家资十分雄厚,然而他与我认识的一些其他杭州本地上班族不同,是个十足的工作狂。运维有值班制度,好几次我晚上十二点值完班回家时,看到办公室空无一人,只他独坐着死磕业务问题。果不其然,在后期,他已转变为一个业务线中的前端顶梁柱。我们平常聊天不多,但偶尔也会真诚地谈心。
- 祝翔翔(PHP):微拍堂篮球协会主席,是他最响亮的名号,诚然后期我们因为篮球结下了深厚的友谊,但在我脑海中,则是另一件与之交集的事。他比我晚入职一个月左右,随后就安排开发一个新的项目,当时我是运维方的对接人,但很丢脸的是,彼时我被项目中前后端调用的跨域问题难住,迟迟找不到解决方案,而翔翔当时我们不熟,但他并不坐着干等运维给解决方案,而是一并搜索研究,最后还是他试出来了一个配置方案,让项目成功调通了。那时在我心里就感觉到,这是个技术态度不错的小伙子。然后,再往后三年的时间里,与他就再没有什么工作上的交集了,基本上都是篮球上的交集了。翔翔热爱篮球,并且打的很好,我则属于人菜瘾大的那种,最开始篮球群成立的时候,每周能聚集的人不多,我俩则是最早期操心定场地,对接的人,打完球他也坐着我的电车回公司打车,一次两次,我俩很快熟识起来,后来打的越来越多,我们成了亲密的球友。
- 王金贝(GO):我常常叫他王大哥,王大哥技术造诣很高,思维灵动敏捷,说话语速也非常快,就算会议中所有人思维都凝滞跑偏了,他也绝对不会被带歪,如果有什么针锋相对的辩论,我则绝对不敢与他对线。但他人又是一个非常友善的,与他的交流总会让我禁不住生欢喜心。印象最深刻的一件事儿是:20 年时,go 官方也才抛出 go mod 的概念,恰逢彼时我在公司引入了 nexus 私服,那时候 nexus 也支持了 go 的私服代理,于是我就把公司的 go 私服也接入了。但是后来开发者在实际使用过程中,遇到了拉包失败的问题,当时我不了解这里边的原理以及门道,很是蒙圈,后来做了一些配置调整,算是能用了,但是真正的为什么失败,我却不甚清楚。王大哥回去之后,仍旧觉得这个问题不应该稀里糊涂,于是做了许多实验,最后摸索出来,是当时 go1.14 版本引入了 sumdb 的问题,公司内部包不应该走这个校验。经过王大哥的摸索讲解,我终于在这里悟透了。这件事儿还单独有一篇文章,详见:go1-12 与 1-14 之私服使用的差异与变化 (opens new window)
- 吴裕欣(GO):我们叫他吴大佬,他的确担得上这样一个称号,公司的 go 微服务体系就是他与王大哥携手打造出来的。有相当一段时间,我是部门内安排对接他们的,于是经常会接触到吴大佬。吴大佬是个有技术洁癖的人,性格上也非常缜密严禁,我常常坐在他身旁,看着他的操作,所有问题很快就迎刃而解,而且各种语言,包括运维的事情,他都涉猎颇深,因此认知广度很大,是我常常讨教学习的对象。
- 王明:我忽然记不起来,该如何给明哥标注技术类别,因为印象中,他最开始好像带领着 PHP 部门,部门里还写 go,后来又带领着 Java 部门,然后 Python 也玩,网页中前端 JS 说干就干,我没有问过他,有啥是他不会的,这在我心里是个迷,但也不难知道答案,因为明哥是我见到过的人中,对技术算是卷中最卷的了。我有好几次在白天跟他聊到一个不怎么熟悉的东西,然后就各自生活去了,结果总会在十一二点,甚至凌晨一两点的时候,收到明哥的消息,分享着他对这个技术的研究以及见解。明哥是这样的性格,他部门的同学也都大多颇有神通,以至于,他们部门业务对应的服务器,一度成为运维的禁飞区,其他部门的业务服务器,无论测试还是生产,运维上去就是直接起飞,但到了明哥他们业务对应的主机上,运维则怎么也飞不起来,因为各种奇技淫巧效率工具,各种软件软链错综复杂,以至于运维遇到他们的主机,都不敢轻举妄动。话说回来,他们在整体基建还很弱的时候,就把各种运维技术卷了进去,然后形成了他们的一套生态闭环,运转良好,只是别人插不进去。这种现象直到运维把各种基建统一推行完成之后,才得以缓解。
- 万斌(Java):斌哥是从阿里而来,但性格极其温和,技术自不必言,彼时 Java 语言栈初开,我作为对接人,与斌哥一并订立规范,设计统一风格,接入监控等等,做了很多事儿,我们的合作是愉快地,以至于后期这块儿 Java 语言栈里的几个人,曾成,浩鹏,凌涛,文会都成了很好的朋友。回到他们部门的位置,我就像回到了家里一样,因为这里的项目都是我一手缔造,这里的一切我清晰明了,这是一种特别的情感,也是工作带给我们的附加成就感。斌哥离职之后我们仍有联系,离开杭州之前,他请了我一顿饭,特此记录。
- 成达舜:舜哥,总被我觉得和胡海泉长的很像的男人,有好几次,他被我主持的会议吸引,因为我总偶尔会蹦出一两句古言古句。之前朋友圈发过有人评论我是个有江湖气息的人,这个评论就来自舜哥。舜哥作为中间件团队负责人,做出了很多不俗的成绩,因为中间件有很多组件,以及一些与业务绑定的组件,于是他们团队的人成了与运维团队打交道最多的,其中的白小狮,索碧桐,王啸,沈兴全,关钊都是运维部门的熟客,是的,我们有相当一部分精力花在为他们服务了。说回瞬哥,瞬哥人高马大,同样热爱篮球,一招小后仰常打遍全场无敌手,这些都是美好的回忆。
- 高瞻(前端):我的邻县老乡,一个颇有南阳人性格特质的美女,做事踏实靠谱,很难想象,一个女生,在某一个阶段,会成为公司所有前端项目的知情人,可见她付出的时间与精力。有一阵儿我专门负责对接前端,于是常会与她一起对接一些工作,整个过程都是非常愉快的,在她这里,不会遇到因为开发者技术能力问题导致对接卡壳的情况,我要再次为这位优秀的老乡点赞。
- 仁义详(测试):最早的结缘在于 Jenkins。彼时他正负责维护测试部门使用的 Jenkins,构建安卓 iOS 包,但他搞不定,于是那一段儿总是跑我这儿,坐我旁边,让我来搞,他讲话非常有意思,我常被他讲的话逗笑,我于是总是一边咧着嘴一边干活。后来我把事情搞定了,他也因此拿了一个优秀,于是一直对我很交好。
- 其他亦有很多交集颇深的同事,一起共事的经历都是那么美妙,过往可能有过的痛苦记忆,反而都已淡出脑海,留下了许多美好的记忆。
# 美好回忆
接下来通过一些照片,来再现一些三年内的美好回忆。
2019 年过年的时候,疫情爆发,公司全员远程在家办公,我当时应该在家里延迟了二十多天,才辗转到了杭州,远程办公期间,公司薪资完全正常发放,没有任何折扣。我也正是在这个时候,每天看七米的 go 教学视频,入了 go 语言编程的道儿。
在第二次晋升 PPT 当中,我分别放置了两次周年贺卡以及自己发在朋友圈的诗。
下图就是发布统一项目期间,我与陆游两个人常常钻到一个会议室里边闭关奋战。
我们一遍一遍把项目逐个梳理,一遍一遍整理项目的配置文件,一遍一遍整理项目的 yaml 文件,一遍一遍整理项目的引导文件,一遍一遍优化部署流程的模板库文件,在这个过程中,多少次,都是陆游我俩一同来搞的,正是这些时候的并肩战斗,培养了我俩深深的战友情谊,成为了彼此惺惺相惜的好友。
非常嗨皮的团建
我们每周都会有分享,图中正是力哥这位老司机在给我们宣讲马赛克里一些不可描述的内容。
记振华同学的一次分享
我们的周会常常会开怀大笑
我与慧贤,力哥,振华,陆游,正伟的自拍
有幸参加第二届篮球比赛,我们队取得冠军。难忘记,一次次约球的各位好兄弟!
2021 年牛逼的我们成为公司最佳团队。
我与陆游离职当天
离职当天,最后一次全员吃饭了
最后一次吃饭,离愁别绪,涌上心头,桌子上玻璃杯内并非开水,全是白酒,我没有任何收敛,无不大口倾倒,很快便醉到不省人事,只记得最后是永春和陆游将我送回住处,第二天醒来,则一晚上的事儿,全不记得了。
# 最后
我仿佛经历了一个与网络上口碑不一样的微拍堂,诚然,微拍堂有它不完美的地方,幸运的是,我遇到了一群近乎完美的人组成的完美的团队,我们之间的关系没有任何缝隙,我们互相信任,彼此坦诚,真诚分享,并肩作战,共同成长。
吃饭当晚,我们每个人也都感慨着,细数着每个人的优秀与负责任,并真切感受到这样一个团队氛围的珍贵。
几个月后,我在朋友圈发表:再也遇不到了,好在曾经拥有过!