又到了一年一度年终总结的日子,看了不少人学的东西做的东西。回顾自己,半放养野蛮式生长,硬通货进步一般,软技能算有成长,关键词应该是责任感。

工作

正式工作快三个年头,算上大学时就已经接触前端,也算个老人。风风雨雨,流水账的记录一下一年来的感受和成长。

责任感&项目管理

从今年一月份开始,主要从什么都不管什么都不想,有需求就接没需求就自己折腾的一线开发,转变到了会着实为项目着想对项目负责的同学。 年初开始被迫担上了项目负责人的责任,不光负责自己的前端开发,还要协调产品,Server,业务方的各种需求情况,凡事搞不定的都希望能自己上马,感觉自己从产品到开发到运维啥都掺和一点。也是这段时间,感觉自己的沟通能力有了一定的飞跃。

晋升

二月份答辩三月份成功晋升。一年半从 T3 到 T5,这个速度还算快,但也不是仅此一人。比较神奇的一点是,在答辩完之后偶然翻到了自己 17 年的备忘录,也忘了当时写的心境,感觉是想做的东西。

然后在自己答辩的 Slides 中有个模块,主要就是前端工程化的贡献,包含脚手架,研发模式,接口管理等比较基础的涉足,和当时该模块核心讲编译部署流程的优化,在整个部门的四五个团队均有落地。

自己其实比较懒,有每天 todo 的习惯,但并没有太大的长期。有时候觉得好像有种刻进心里的惯性,在拉着自己朝某个方向走。当然也可能前端来来去去就那几个领域,不小心碰到也正常。

不过到年末再回想,哪有什么基本完善的东西,当时觉得 ci 编译 docker 部署前后端分离这么一套下来已经很完备,现在想想还是太薄了,很多历史项目,不同的环境,其实都没有考虑到位。抛开实际场景说我们应该怎么做,技术方案的实现其实都不难,但是道在哪里,不能说业界主流大家都在玩,我们就跟着玩,然后照搬过来了就觉得自己做了一件很牛逼的事情。很多事情其实都是看似简单,真要深挖下去,随便一个小点都能放大很多倍。看的东西越多,越不敢说自己会什么,兴许过多几天,又能有新的思路新的玩意。

面试

年中,组织架构调整,几乎每隔一周都可以吃到一顿离职请吃饭的大餐,团队走到剩两个人,自己因为种种原因选择了留下,很感激留下来的另外一个小伙伴。紧接着的就是疯狂招人面试,社招校招,一面二面,从最开始需要网上疯狂搜面经,一问一答。到后来慢慢的学会了引导,基本上,如果从理论知识开始一到数组扁平化去重排序能聊一个小时还聊不完,或者直接上来问觉得最后挑战的事情然后顺着聊基本上也不需要去找什么网上常见面试题。总结下来最大的认知还是,面试这种东西一方面是准备充足基础不错,再有一方面真的是靠运气和缘分了。

团队建设

到九月团队终于回到了正常,五个正式五个外包一个实习生,而作为呆得还算久的员工,不光本职工作,还肩负着带新人的任务。每天脑子里面想的都是怎么带团队,怎么提升大家的幸福感,让每个人都有所成长找到自己的意义,而不只是搬砖。各种请教其他组的负责人心得体会,让帮忙协助,巅峰时期有两个 T7 一个管理岗固定参加团队的周会。也是这段时间,慢慢的觉得,越往上越不容易,只对着需求写代码其实是一件很幸福的体力活。慢慢的开始探索,想要怎样的工作环境。

  • 愿景: 一个公司有一个公司的灵魂,而一个团队也需要有一个团队的目标,否则只是一堆人的聚合体。怀着以上理念,在团队介绍的下面敲下了几句话。兴许幼稚,兴许不一定所有新人都能看得懂,但这就是目前心中理想中团队该有的样子。

* 带着问题去学习: 这里放图懒得解释了,大概意思就是总结了日常大家遇到的问题,或者觉得有意思的问题,然后希望大家能去带着问题去学习探索再讲出来,而不是直接从头开始流水式啃书。

说带团队,除了各种规范的完善,理念确立,主要费神的还是在人力分配层面上。十个人,十张嘴等着吃饭。活多了怎么排优先级,活少了去做什么基础建设,有问题解决问题,没问题识别风险。几条产品线并行,有时候在月初整体排期的时候,工位的人就没停过。有时候觉得,能专心几小时不被打扰,都是一种奢求。怎么去做时间管理又成了另外的一门学问。

Code Review

今年开始提倡 review 多评论,在团队中尝试实行了轮流值班 code review 的制度,还写了相关的礼仪。但是到最后,过是过了,但是认真过代码的,好好评论给建议的,经典问题沉淀的,一连串问题都落地得不是很好。刚开始自己带的项目评论率能飙升到千行 13,后来大家忙起来也基本都松懈了,特别是当提交的量多了之后,也只是象征性的走走形式,找找规范类的错误了。

后来开始思考,真的每行代码都需要被 review 吗?应该去 review 什么东西?最后的答案是需要 review 的主要应该是架构思想,其他的代码风格规范交给机器。但是,单从几行代码,透过皮肉看筋骨的事情,很难。对于 bugfix 之类的,将代码跟需求卡片有所关联能看出个大概。但是对于一个新的需求,作为外人,很难理清楚他要干什么,于是思想开始朝着设计文档层面的改变。再后来的故事就是,一个展示型 UI 组件从 api 设计到整体架构,前后讲了两三次经历了几周才合入主库,form group 组件,让组内的一个同学零零散散搞出了好几篇长长的文档出来,最后觉得太残忍开始写了代码。此处需要感谢组内小伙伴的包容及不杀之恩。至于后续怎么玩,还有待继续思考前行。

项目

虽然在团队管理上面,的确会消耗一定的精力,但是该写的代码还是要写的。单从提交记录来看,自己应该还算勤奋,在家一时兴起周六周日的提交也不少(不过一般懒得去公司,所以系统上真正的加班记录少得可怜)。

几个有意思的小点

  • 框架混用

团队之前使用的框架是 riot,后来给全面切换成 react + ts 体系。 期间产生了一系列问题:历史项目怎么维护?重构是什么什么情况下需要做重构?对于大型系统怎么去做渐进式重构?新老系统之间的数据怎么交互?虽然技术债是挺恶心的,但是一一去思考解答,折腾起来挺多好玩的点。

  • 抽奖系统

年会抽奖系统,光同步奖项配置信息,从人员名单里随机抽几个不难。但是在时间非常紧的情况下,去考虑几万个人员信息怎么比较好的拉取?怎么去做不确定尺寸大屏的适配?各种视频背景人员头像等资源 preload 和缓存,动效 threejs 的速成和性能优化,怎么保证离线情况下系统能正常运行,主机备机快速切换的容灾策略等其实是一个比较大的挑战,也有幸真正意义上的第一次跟高 T 一起半封闭合作写代码。一个小感悟,大多情况,处理正常业务逻辑难度和工作量其实都不会很大,反而各种异常分支的考虑和处理,通过一个个需求卡片去追本溯源,才真正的体现出了人与人之间的差异,需要学习的点还很多。

自己折腾的一些小东西

平时项目中的一些优化,或者在系统里面白屏黑字的写着的组件库之类的基础建设抛开不说,几个没有写进 OKR 系统的,但是凭借着兴趣折腾了一阵的一些小点,初有成效离落地还有些距离。

  • 文档预览发布

一直对于重复工作量有很大的抵触,特别是那种无脑的还费时间的,比如说,文案的修改,文档平台的发布等,本就应该自动化。不知道为什么,偌大的我厂竟然没有一个好用的平台。写了个 demo 基本能 work,但是由于时间自己需求不大等原因,没有很好的去完善和落下来。但是后面有机会肯定还是会捡起来。

  • 接口管理

接口管理,直接把去哪儿开源的 yapi 部署到了起来,接入内部账号体系,各种系统打通之类的,也借此接触到了一些其他部门的大佬,感觉自己的思想慢慢开始有了转变,从什么都想自己造轮子到觉得有好用的现成的就用,要有造轮子的能力,和不造轮子的觉悟。

  • 数据管理平台&群机器人

群机器人 18 年就一直想做的一个功能,一些动作通过 ci 或者 hooks 等某些流程自动推送到群里,终于在 18 年随着内部 im 支持的完善,带着我厂的鸡翅红包的文化,完善了一下团队的奖惩规则,对于一些不按照规则的有奖励,对于帮助同学解决问题,主动分享等有适当奖励。自动计算各种数据,避免手动维护遗漏。

另外,对于数据的存储,一直觉得每次撸Server端需要搞服务器搞数据库太麻烦,于是用 mongo + eggjs 做了一个简易版本的数据管理平台,参照 alloy 的 nedb 的接口,不过是在线版,加了些项目分割和权限控制等功能,部署到线上供内部同学自己折腾小玩意用,从而实现数据的协同共享。后来偶然间调研小程序,突然发现了云数据库云函数等概念,突然觉得竟然思想出奇的一致,不过人家完备很多。真的是眼界很重要。

当然,后来也跟部门的运维团队探讨,觉得随着资源上云,对于资源的治理和前后端合作流程的优化,这也是个方案,计划年后补补课看能不能折腾点东西。

生活

  • 晋升铲屎官

今年最幸福的事情就是接了小呼回家,看着它一点点成长,慢慢对你信任,每天起床下班对视一眼,幸福感满满。

  • 哈尔滨之游

18 年元旦计划去的地方,最终偶然在 19 年圣诞达成了。从来没怎么见过雪的南方人,到了零下二三十度的地方,冻成了傻子,但是也是超级开心的傻子。

最后

  • 做好的
    • 在工作中基本认真负责,身边的大多数人评价都还不错。
    • 算是从零开始组建了一支十来左右的团队,让整个 team 没有完全崩溃。
    • 身为程序员,作息还是保持非常规律的状态。十一点多睡早上七点多起,每天精神状态都不差。
  • 做的不好的
    • 技术上,感觉成长和沉淀速度都有一定放缓,缺乏基础沉淀。作为一个 T 系列对新人的技术指导也略微匮乏。
    • 工作上,虽然能独自负责一些东西以及带人,但还是略有依赖感想着后面有人,只算努力但没有竭尽全力。
    • 没怎么注重身体和锻炼,维持了四五年的体重稳定胖了两公斤。

总结

回顾的线拉长一点,从在阿里的实习,到现在在百度工作的几年,遇到了很多人,也受到了很多帮助。回顾起来自己的成长,除去技术方面,有的让自己明白了 owner 精神,找自己的亮点,有的帮助锻炼自己的沟通协作能力,也有的让自己学会了接纳自己。总觉得自己很幸运,很感恩总能遇到许许多多能给予帮助的人,一直以来感觉也都特别顺利。

自己也还有很多不足,有很多想做的东西,新的一年新的开始。曾经刚上大一助班让我们写了对自己期望,大四的时候拿到大致的核心思想就是:不要让未来的自己讨厌现在的你。现在的期望,应该也是如此吧。非要具体的话,就:

  • 希望自己能在某个领悟有所专长,有所影响。
  • 希望能遇到相互喜欢的人,势均力敌。

最后的最后,以上其实说了很多很多的点,但是由于篇(lan)幅(ai)有(wan)限(qi),其实有很多值得分享的东西都没有好好的讲出来,无论技术还是某个时候突然的感悟,平时也有不少笔记零零散散的。立个 flag,希望自己能够好好的去沉淀,让自己能多思考总结,也让知识能够延续下去。