- Published on
2024年会发言
- Authors

- Name
- Ethan
今天要讲的内容,紧接去年的故事。去年主要讲的是自己怎样加入这家公司,以及加入后在生活方面有了哪些变化。今年主要以我的工作视角接着讲后面的故事。作为公司第一个到岗上班的员工,我觉得也有义务向大家讲讲这些事情背后的一些碰撞和思考。大家可以放松的听,这次就有点像每天早上的立会大家会讲昨天做了啥,只是这次讲的人变成了我,时间也从一天拉长到了六年。
早期我们的工作模式是非常有松弛感的。那会前端后端产品运维美术测试行政加起来就10个左右。大家主要都还在熟悉业务,熟悉代码,以及各组之间的磨合。也就在那个时期,我们的运维和前端建立起了深厚的革命友谊。你们肯定想不到zf和zf他们两刚开始的时候互相之间都是非常客气的,直到开始做第一版本的前端自动化发布,他们开始每天有了频繁的交流。从一开始的互相试探到后面的不按套路出牌再到现在的相爱相杀,这段关系可算是有口皆碑的~
那会的松弛感是怎样的呢?就是后端的HG同学,忽然有一天说自己想去写前端,根据我对他的了解,感觉问题不大,于是我们团队马上有了个全栈工程师。当时我们还用普通的微信来工作交流,开发需求也基本靠口头传递,每天还没有晨会。记得很清楚我们开始晨会的原因是因为有一次口头传递的需求,好像是admin后台相关的,有两个人都感觉是要自己来做,于是过了一段时间后才发现两个人做出了一套一样的东西出来。为了避免这种"巧合",我和浩总商量之后,才有了每天的晨会,让大家互相知道都在做什么需求,避免重复。至此,晨会便成了我们的"标配"。
说到这你们是否会怀疑写单测和code review也是因为什么原因加入进来的呢?这个还真不是。这两项算是浩总从巴黎带回来的"高科技"。虽然以前我们经常听见看见这两个词,但真正在哪家公司坚持执行过吗,我是没有这样的经验的,不管曾经待过的大厂小厂都没有。你们应该也没有,简历都是我筛选出来,记得顶多是有一些非强制性的搞过一下。单测和code review现在来看带来多少好处不用多说了吧,这两项作为我们团队的特色也将会一直进行下去。
还有一个主打松弛的是需求的完成时间,不用像之前国内大部分公司一样,天天有老板派产品经理或者项目经理跟你压时间,压完后天天盯你进度,进度赶不上就加班,晚上加不够就周末加,最终就是996。这套流程我们大家应该都一样熟了,深圳打工人,懂得都懂。在这里需求都会给大家很充裕的时间,不用加班都绰绰有余。可能有些同学刚加入公司的时候,作为新"演"工的自我修养,刚开始还会演一下工作到忘记下班时间的剧情。本以为是一场群众戏,演了几天发现只有自己,变成独角戏,然后就开心的加入到下班准时离开的大部队中去了。早期的我还有一个不成熟的想法,认为如果下班后我不先走的话,是不是会有人等我走后再走。后来经过我的多次观察... 是我自作多情了~
早期的几个月,我们招人还是挺快的。大老板每个月会来几天,同时也会带来很多法国特产 需求,就差程序员来实现的那种。我们也很快就换了更大的办公室,每个组也基本有了组长。当时小组长的一个重要作用,可能就是招人的时候帮忙进行一面吧。现在在座各位面试的时候,每次都只会有一个人面试你,但之前有一段时间是我和浩总一起坐在面试者对面轮番提问的。听着是不是很刺激?如果有人想体验一下的话可以来联系我:)
在外面和朋友们讲我在公司干嘛的时候,我都喜欢说是打杂的。在以前公司也是,经历过不同title,还是一直喜欢这么说。回想自己过去的经历,虽在不同的公司不同的时期或者不同的需要而被搭上不同的名堂,但人就是这么一个人,做的事也没多大变化,还挺喜欢打杂的。因为在技术上,我算是个激进派和广义派,前端后端客户端运维端都折腾过,也喜欢研究新技术和使用新技术。
在各个小组成型之前,我基本就是个全职的后端,每天也是和大家一样写需求为主。后面各小组人员多了之后,需求一般有多的才排给我。我也就开始有了些时间去研究新的技术和做一些所谓的管理的工作。之前也说过,在以往公司需求无限压下来的情况下。很多工作包括管理都是被裹挟着走的。无非就是考虑怎样划分需求,怎样排期,怎样更快的产出,怎样还技术债,怎样救火等等。当这些外界压力不存在的时候,就会有一点点迷茫。
迷茫这个词说起来有点矫情,但它确实是那个阶段的真实写照。没有了外界强制的压力和明确的指示,也没有什么可参考的对象,也没有过类似这样的经历,就很难找到节奏做的恰到好处又不至于把大家折腾的鸡飞狗跳。这跟写代码的时候有点像,怎样把代码写的刚好满足需求而又不过度设计很重要。以前的工作经验中,听过见过经历过各种上级不懂装懂没事找事带来的恶果。所以我宁可大家看起来所谓的工作不饱和,也不要大家在为了一个不切实际的想法而瞎忙碌。
当时有段时期就是想到一些事之后就找浩总去楼下喝个咖啡聊1下,喝的多了,楼下那个瑞幸前台妹子我们都给起了个"小蓝妹"的称号,差点就要联系方式去了~不过见小蓝妹的频率后面变的越来越低,因为就对10来个人的小团队来说,大家都离得很近,有问题吼一声就解决了,没多少管理事务是需要摆在桌面讨论半天的。而且我也坚信如果招人的时候把关严一点,招到对技术对工作有追求的人,是不太需要微观管理的。所以当时招人的时候我算是比较忙的,我筛简历算是很严的,会把拉勾上能匹配到岗位的人全都仔细筛一遍。每天上班第一件事也是翻遍招聘网站上今天比昨天多出的每一份简历。好多次招人浩总和人事那边都会催我说:差不多的了,先找几个人面着先。
也就在那个时期,我提出GRP这个概念。因为人员逐渐稳定之后,团队开始进入一个新的阶段。我们不再只是完成最基础的业务需求,而是要主动探索一些优化的方向,比如提高代码质量、优化开发效率、尝试新技术等等。GRP可以囊括了以上的各个方向。也可以说是把之前我和浩总来安排工作的方式,转变为一种众筹大家idea的方式。磨刀不误砍柴工。从那以后,在我们团队磨刀工作就有了这么一个洋气的名字。那会儿每过一段时间,我就召集前后端小组分别开会,收集大家的想法。大家也是比我想象中的积极很多,提出了很多优秀方案。其实大家心里还是很多想法的,只是缺少一个人牵头而已,所以我只是简单的牵了个头。
在GRP运作了一段时间之后发现了一个比较深的问题,大家提出的很多方案,往往是自底向上提出的,主要集中在局部的优化和解决某个特定问题上。这些方案固然有价值,但往往只是解决某一小块区域的问题,未考虑到整体的系统性问题。我们需要用全局视角做一次架构的重新设计让项目更加的规范统一。简洁架构就是在这么个背景下引入进来的,我对这个架构也做了些简化,主要目的是为了避免系统的复杂性逐渐积累,最终导致无法有效维护和扩展的问题。也很高兴大家认可这个架构模式。特别提一下的是MC同学也做出了很大的贡献。一起共事这么多年,他的成长是很可观的,现在的他已经对得上架构师这个称号了。
我们从国外继承下来的优秀作风除了按时下班,写单测,code review之外。还有每年一次的安全检测,以及压力测试。这两项也算是标准的法国特产。安全测试是请的第三方安全公司来做的,确保我们的系统能在面对各种潜在风险时依然稳定可用,同时有这份检测报告,也可以给我们已有或者潜在的客户更好的背书。第三方的参与让我了解到了一个比较全面的视角。也意识到很多被忽视的问题。这个高价的报告我们好像是做了两次,那之后巴黎那边就改成我们自己来做了。于是有一段时间我在极客时间和其他书上恶补了很多安全相关的知识,有了些心得之后也给大家做了一次有关信息安全的分享。后面团队的工作流中加入了一些漏洞扫描还有值班的事情。所以现在大家每周值班检测漏洞报告的事情,背后的剧情是这样发展而来的。
不单是GRP和漏洞检测,我们的团队内部好多机制,往前追溯的话都有它的一些前置因素,并不是我或者浩总哪天突然拍脑袋就整出来了。这里面可能有一些随着时间的推移变得不合时宜,也欢迎大家提出来。我们可以讨论和改进。我觉得团队的管理工作和写代码有一点是很像的,就是都可以在必要的时候重构一下,做到与时俱进。
再往后的故事,大家就比较熟悉了,因为就发生在这两三年吧。对我来说也有几个比较大的事件。第一个就是Zeus这个内部系统。这玩意其实我在上家公司的时候就已经设想做个类似的东西。只是一个团队要抽出前端和后端,不做需求只做内部支持工具,很难,得是比较稳定的中大型公司才具备条件。当时DJ刚来的时候我们就定了要做这套系统的目标,后端和运维端都是没什么问题的,就是前端react这一块,我只能说是十窍通了九窍,还剩一窍不通。不过既然目标已经定在那,只好硬啃这一块,于是有那么一段时间,我又做起了全职的前端工程师。把第一个版本捣鼓了出来。其实Zeus这个项目无论在前端还是后端来看,都是不难的,做的都是基本的操作。很适合让前端的同学去学后端或者让后端的同学学前端。所以Zeus刚开始上线的时候,就鼓励大家去看一下学一下,很适合全栈入门。运维的同学还是很给力的,Zeus第一版上线后,后面基本是运维在维护了,他们也算是全栈了。当然ZF在写Zeus前端的过程中和ZF甚至整个前端组之间发生的恩怨情仇,那又可算是彩蛋环节。
AI这几年的火爆程度大家已经有目共睹。这主要是GPT这种大模型出来之后把AI带入了平民化时代。但在GPT之前,AI在业界已经开始暗流汹涌了。我们的大老板菲利普已经在此前就有很多这方面的想法,并且在几年前就在国外招了一个全职的AI工程师来做一些尝试。大家可能偶尔会听到我讲一些代码是某英文人名写的,指的就是那边的AI工程师。大约也就在那边刚开始招这岗位的时候,我开始学习AI相关的知识。当时巴黎那边第一位AI工程师离职的时候,浩总还跟我说可能要我们这边来接手他的项目。压力一下就来到了中国队这边。AI的自学比起学一门编程语言或者一个框架,感觉难了起码2个数量级。它涉及到了三门高等数学,微积分/线性代数/概率论,每一门我都啃了好多本书,也给大家做了分享,就是数学之殇系列。这个系列大家听起来可能昏昏欲睡,这个感觉我很熟,因为那三年每天中午,我都是看个半个多小时数学看到昏昏欲睡了再去午休的。最终巴黎那边换了两次人选,最初那个用的传统机器学习的AI项目Impact,到后面也变成了只需简单调用一下大模型的API即可,这个小项目就折射出了AI时代的快速变迁。不过那几年学数学的经历不算白费,我从中受益良多。这个在分享的时候也给大家讲过了。还有就是懂得一门技术的底层原理,遇到问题的时候也能更从容。
最后想说的是每个月的月会。这往前追溯也就是上面说的和浩总去喝个咖啡算是月会的雏形。后面有一段时期,是我单方面定了几个大目标,让组长牵头去推进,每个月对一次进度。后来发现效果并不好。这种单向推动的方式,一是缺少大家的独立思考和主动性,二是上下游的信息并不透明。后面就有了各小组开会的时候轮值做会议记录的事宜。目的也是让浩总和我能够更了解大家日常工作的主要问题。同样的,每个月的管理月会的信息,我们也会和组长对过一遍之后再传递给大家,做到信息的双向透明。组内的年度目标,也改成了各组自行商议决定。目的也是保证大家有个共同的方向。如果问我现阶段对管理有什么认识的话,归结起来也就恰恰是这两点:信息的透明性和方向的一致性。
总结来说,过去六年,我们从一个松弛的小团队,发展成为了一个在技术和管理上都不断进化的团队。在这个过程中,我们经历了各种各样的挑战,这些挑战也塑造了我们现在的模样。很开心能与大家一起并肩同行,期待未来能够继续和大家一起在技术的道路上不断前行。感谢这些年来大家的配合与支持。谢谢。