我是前好未来前端事业部负责人郑庆新。LeapFE是我们团队的简称。曾几何时,我们团队的共同愿景是成为业内知名的前端团队。今年,由于政策对公司的毁灭性影响,这一愿景将被搁置,但对于我们大多数人来说,已经或将会有一个更好的开始。三年来,每天春节假期前,我都会写一份团队纬度的年终总结,以周报的形式在公司内部发出。今年虽然有点不一样,但是最值得总结的一年,无论是对团队还是对我个人。LeapFE从最初的5人到近35人,再到今天的0人,用了大约三年半的时间。快速阶段。与“造轮子”相比,业务发展的成就感可能更令人兴奋,因为自己开发的产品被更多人使用,更多人依赖。一个高级程序员可能不会被一些冠冕堂皇的概念打动,但肯定有几个让人过目不忘的产品。我们经历过成功的项目和失败;我们做了无用功,也做了日日夜夜带来的快乐。三年时间,我们支撑了多个业务线,教学、营销/流量、数据、客服等,每年服务数十万学生。我们从零到一个开发了自己的课件系统,并已遍布全国,至今零事故;首批上线“在线实时互动课件”产品;搭建了统一的内容生产平台,输出数千个课件,数万个互动练习题;孩子学习的动力;我们创造了一种将设计稿转换为课件包的方法并获得了专利;我们利用业余时间支持了公司70,000人的年会抽奖计划;我们在央视新闻中看到了我们的产品;点点滴滴构成了团队的记忆线。这种经验的积累对我来说是难得的。业务部的技术建设历时三年多,团队技术从“野蛮生长”走向逐步规范。一开始,我们5人的小团队非常享受“开发自由”的感觉。后来随着团队规模的扩大,我们做了一系列的技术搭建。随着接手的项目越来越多,我们遇到了技术栈不一致、代码风格不一致、lint规则不一致等问题。同时,部分项目技术栈陈旧,不易上手。同时,基于刚刚发布的ReactHooks,市面上还没有成熟的基于Hooks的方案,所以我们自己开发了一个开发框架Luban。基于稳定性和性能保证,更容易异常跟踪的前提,我们开发了集错误、性能、行为于一体的sdk和数据dashboard,提供实时周报、异常告警等,以解决针对提高交互式课件开发效率的问题,我们针对不同的课件场景使用图形化编辑器(NoCode)、模板(LowCode)、D2C(DesigntoCode)。为了统一中后台设计和交互规范,我们封装了自己的UI组件库,创建了公共业务组件库。为了提高开发效率,我们搭建了一个私有的npm,创建了各种公共的业务组件,比如jsBridgesdk,中后台业务组件,小程序业务组件,课件相关的业务组件等。为了统一编辑器环境,我们发布了自己的vscode插件包。为了减少底层问题,我们规范了发布流程和cr流程,并增加了性能和安全审核等环节。同时,我也会提醒自己要更加务实,以真正解决问题的态度去建设。我认为技术建设应该因团队而异。过度的建设或刻意的过程是没有意义的,甚至可能会给团队带来很大的负担。在里布的这三年里,我也经历了几个没用的项目。我的“技术观”逐渐成熟了,“自尊心”也少了很多。渐渐明白了技术服务业务的道理,开始更加关注Cost-effectiveness,availability等。当然,有时候我们不能完全理性,否则会扼杀一些创新,所以我们需要找到一个平衡点。适度的管理方式已经实施了三年多,随着团队数量的落地,我的心态也在不同阶段发生了变化。前六个月,我把自己定位为leader,包揽一切,为的是让自己快速适应工作,获得更多资源。另一方面,对于之前的学长们,我也尽量让大家舒服,融入大家,一切都进行的很顺利。后来随着业务的扩大和人数的增加,大团队分成了几个小组。当时,我一度迷茫自己的定位,没有目标,觉得自己离代码很远,没有安全感。我记得这种感觉持续了将近两个月。我有点不知所措,强迫自己看了一些管理书籍。同时,我还参加了公司提供的各种培训课程,如星火训练营、金牌面试/绩效官、真北、情境领导力等等。我开始写双月的OKR,加上隔一段时间的汇报,我渐渐明白了这个阶段的工作重点。问题和挖掘痛点的能力。没想到,我变成了以前天天鄙视的那种“写ppt”的人,才发现这份工作远比写代码难。然后我学会了如何设定目标,如何拆解分工,如何推进,如何平衡业务支持和技术提升,明白了量化指标的重要性。对于团队成员,我是一个温柔的管理者。这种风格易于营造轻松愉快的工作氛围。对于一些主动性很强的合作伙伴来说,还有更大的发展空间。同时,我也深知自己的不足。有时会出现团队奖惩机制不足,目标紧迫感不足等问题。所以后来我才明白,管理的需求因人而异,对不同类型的伙伴采取不同的策略,大致可以分为:指导、辅导、支持、授权。同时,这几年,我也变得顺风顺水了。我从来都不是一个健谈的人。刚开始工作的时候,我不敢和老板说话。有时我说话都会脸红,更何况是在数百人面前讲话。但在过去的几年里,这些对我来说变得不那么困难了。相对于单纯的开发工作,我要面对各种各样的合作伙伴、产品、运营、教研、老师、客服、家长等等,我可以用不同的方式和不同的角色交流,但是尽量做到真诚和同行的心态.我辞职后,亲身经历过一座楼塌了。这一年,我失去了很多,但也见证了很多,思考了很多。我经历了80%的股票一夜之间蒸发,几万同事一起刷屏风风雨雨。我看到无数学生和家长因为停课而哭泣,我看到一个伟大的企业家的信念是多么的坚定。我从不觉得自己不幸。相反,对于出身平凡的我来说,能够赶上时代的潮流,享受互联网的红利,已经是一件非常幸运的事情了。选择离开的主要原因是因为球队,最舍不得的也是球队。关于裁员,我无法做出选择。我怕自己的选择给人们的生活带来麻烦,又见熟悉的战友们陆续离开,我就跑了。说到面试,幸运的是,对于31岁的我来说,找工作的过程还算顺利。我没有太多面对面的采访。在过去的几年里,我采访了很多人。面试中除了一些基础的硬指标,比如一些基础的笔试题、算法题、八股作文,最重要的是想办法让面试官有一种眼前一亮的感觉。最理想的是你提一下他不会的点,以此来刺激他。那么如何让他发光呢?一方面是简历的内容。一定要提前列出每个项目的亮点。比如我项目中使用的缓存方案比较特殊,所以一定要在面试的时候突出重点,引导面试官在这里问。另一方面,提前准备一些比较新颖的方案也是很有必要的,不过这里可能比平时更依赖积累。再举个例子,比如有一个问题问我们如何防止在抽奖页面刷卡?首先,我们需要确定面试官问的是什么。下面是如何唯一标识用户的?所以这个时候如果我们直接回答登录,或者用手机号,那肯定不是他想要的答案。其实这个问题是一个openquestion,有时候面试官自己也没有标准答案。那么这就提供了一个让他眼前一亮的机会,因为我们回答了很多方向。针对这个问题,首先要分清场景,有登录吗?在什么容器里?微信还是所有浏览器都可以访问?如果有登录,或者微信里面,我们通过账号,或者UnionID/OpenId来识别。如果没有登录也没有容器限制怎么办?那我们可以用IP和cookies来辅助限制,除了这些还有没有其他的?是的,我们需要说一个不常见的解决方案,我们也可以使用Canvas指纹来识别设备。那么对于这个问题的回答,面试官可能会有两个亮点。一是我们区分场景,二是Canvas指纹方案。虽然在实际场景中可能效果不佳,但可能存在兼容性问题。但这并不耽误面试。我们终将拥有光明的未来。2021年,我们见证了太多的大事。有人说,互联网的红利已经过去了。我觉得与其说分红,不如说整个行业更平静,大家更谨慎。.这几年,我们亲眼见证了太多的变化。其实它们都只告诉我们一个道理,那就是跑得快不如跑得稳。2022年,我们可以静下心来想想自己喜欢做什么,有能力做什么,可以长期做什么。时间就像一列火车,载着我们一路前行,回首过去,总有一个地方让我们久久驻足,前程似锦。
