2023 年年初也做了一份年度计划,沿用 2022 年的 5 个核心目标,在 9 月中旬之前,稳步推进。
9 月中旬的时候,APP 突然因为某些原因被下架,公司和我自己的计划都被打乱,公司内部也发生了巨变。
下面的思维图列举出了今年做的一些比较重要的事情。
今年干的事情其实也是知识沉淀、提效保质、体验优化和研发标准,只是今年会概括为 4 部分:团队建设、体验优化、公司变化和日常生活。
一、团队建设
今年的业务比较稳定,没有出现新的产品线,不过团队建设有所突破。
1)年终述职
这个年终述职其实是针对 2022 年的,包括年度工作回顾和年度成果。
全公司 15 个组,得分排在第 7 名,这个分值有助于提升我们组员 2022 年的年终奖排名。
公司 2022 年终奖的得分分为 3 部分:团队得分,组长打分和互评得分。
互评很考验日常的协作是否和谐,对你这人的印象如何。
在日常工作中,我一直会要求大家积极主动的解决各类问题,在技术问答群中多冒泡。
现在人员充足也稳定,所以对于 2022 年来不及做的各种优化都提上了日程,受益人很多都是协作方。
最终我们组个人的得分都不低,当然其他组有人表现比较糟糕,他们的得分都比较低。
最终排名出来后,我们组有一个排名第二,一个排名第五,可以拿 3 薪和 2 薪。
2)组员成长
组员在今年,无论是技术方面,还是业务方面,相比去年都有显著的成长。
今年内部技术分享举办了 20 场,平均每个人准备了 4 场分享。
从这些分享中,不仅可以让我了解到他们感兴趣的技术点,还能锻炼他们的演讲和概述能力。
有机会的话,也会鼓励他们将一些分享的内容集成到项目中实践。
虽然不能严格按照双周一次分享的频率,但我觉得只要经过思考,有了收获就可以了。
今年进行了 18 轮的 Code Review,想通过讲解代码细节提前解决潜在的问题,降低线上业务事故数。
还有一个目的是在团队内部推广编写适量的注释,以便在换人维护时,可以迅速理解代码意图。
8 月公司让每个组长和自己的组员进行一对一的会谈,为了及时发现并解决问题。
但我还发现通过一对一可以了解到组员希望的技术成长,例如想尝试新技术,将 AI 引入进来。
未来可以将某些与她感兴趣的技术比较契合的需求,交由他来处理。
还发现其实每个人对公司产品都很有想法,例如对于某个收费功能,希望给他们提供个意见反馈,可以让开发在后台了解到痛点。
3)主动意识
大家今年都有了主动思考痛点的意识,在日常工作中,或多或少的都在为业务着想,主动优化各类问题。
APP 中有许多协议都是 H5 网页,后台有个富文本的页面可用于动态填写协议,也就是让运营们自己维护。
但是它的功能并不完善,有新协议时,需要进行二次开发,后面组内一个成员自己去做了优化。
优化后同步给产品,产品经理非常高兴,也很意外,因为他也没想过这处的优化。
另一个优化是成员缩短代码发布流程,在聊天界面引入飞书机器人,输入命令后,在聊天页面就能直接发代码。
由原先的每天打开代码发布页面 30 次,到现在几乎不用打开,每天节省了相当多的时间。
在 7 月优秀员工和团队评选中,凭借这个优化还让团队荣获最佳创新奖。
对于产品中有设计缺陷或不合理的地方,大家也会主动与产品协商,并且能给出合适的解决方案。
二、体验优化
体验优化包含性能优化,并且其优化对象包括产品用户、公司员工和研发自己。
1)监控系统
监控系统从 2021 年上线至今,可以说经历了 3 个阶段:完成,可用和好用。
今年对监控系统做了很大的功能补充,包括错误详情分析、各类新图表、用户行为轨迹等。
通过监控系统主动发现并解决了 3W 多个错误,页面的稳定性有了进一步的提升。
自动告警规则也做了进一步的优化,避免 46% 左右的误报,增加定时任务的告警。
对于性能监控,也做了很多的功能补充,包括Lighthouse 性能测试开关、阶段时序图、操作系统饼图和区域条形图等。
2)技术栈升级
从 2022-06-01 至 2023-04-21,终于完成了对 4 张 jQuery 页面升级至 Vue2 技术栈的改造。
各组资源的紧张导致上线的一再延期,好在终于完成了,也算是一个里程碑。
5 月初,将 Ant Design 从 3.X 升级至 4.X,并发布到预发环境,组员内部先做验收,然后让业务人员参与验收。
经过半个多月的修改和维护,在 5 月中旬替换线上的 Ant Design 版本。
7 月份对 Vue3 进行了调研,原先是想在 Vue2 的基础上直接升级,但发现成本比较高。
于是新开一个项目,先将 3 张页面升级至 Vue3,在 10 月份完成了上线计划,未来只会将新需求加到新项目中。
3)性能优化
在 7 月份,公司提出要对海外的用户提升体验,当时顺势就未海外增加了 CDN 加速,包括接口和静态资源。
开启加速后,海外 2 秒内的白屏时间从最高 633 降到最低 206,付了钱后,优化显著,有时候优化需要一股东风。
8 月份,让运维在活动的预发环境开启强缓存,为了能有效的破除页面 HTML 代码的强缓存,向客户端提了两个需求。
对两个活动的地址进行短链改造,原先是写死的地址,现在是动态跳转的地址,并且可以加一个时间戳参数,破解强缓存。
客户端的版本已经发布,待到覆盖率差不多的时候,再让运维开启生产环境的强缓存。
10 月份将一个重要的常规活动迁移至 Vue3 项目,在优化依赖包后,脚本尺寸比 Vue2 项目降低了一倍以上。
此活动的白屏 1 秒内占比从 93.2% 提升至 96.3%,首屏 1 秒内占比从 70.5% 提升至 82.1%。
但是对于 2 秒以上的白屏占比,并没有显著的变化,这个得等到强缓存开启后,看看是否有变化。
3)开发优化
在 2 月份,将 3 个比较重要的榜单活动全部进行了前后端分离的改造。
在管理后台中,只要是新的页面,一律采用分离规则,服务端提供接口,但其实还有相当一部分的后端服务还是由我们组在维护。
3 月份的时候,试着推广 E2E 自动化测试,提升页面交付质量,减少测试资源的消耗。
但结果并不如意,针对管理后台,本来就投入不了人力,测试更不会去写 E2E 代码了。
而活动页面有很多与客户端的交互,选的 Cypress 框架只能使用普通的浏览器。
4 月份完善全链路日志追踪,定时任务的日志增加标识,用于快速而准确地过滤日志。
7 月份对支付宝服务进行迁移,废弃原先无法维护的代码,其实原先是想把支付服务交接给后端组的。
但是在与他们联调时,一直拖延,最后选了个折中方案,与支付宝的交互由我们完成,订单和商品的发放由他们完成。
8 月份将非业务数据迁移至单独的数据库中,删除800多G数据,并且将一些非业务接口也分离成单独的服务。
当月还对管理后台的页面进行了一次瘦身,页面文件从减少了 79 张,但其实构建时间并没有减少很多。
不过在 10 月份,对后台页面的构建进行了大包单独拆分、路由懒加载和所有脚本不压缩的 3 层优化后,时间从 5~6 分钟降低到 3~4 分钟。
三、公司变化
9 月底的 APP 下架对公司营收的打击是重大的,尤其是 iOS 也被下架后,都无法支付。
在国庆假期的前一天,集中了团队人力,增加了 H5 版的支付宝支付,并且将客户端中的支付都引导至 H5 商品页面。
开屏广告、轮播图等位置也增加了商品页面的地址。即使如此,每天的订单数还是减少了。
1)裁员
因为之前也被下架过一次,下架时间要好多个月,据说当时也做过一轮裁员。
公司的反映很快,立刻给出了策略,那就是裁员,本来以为是整个公司裁员,没想到只裁技术部。
10 月中旬,将技术部人员裁掉一半,直接空出三排座位,不过赔偿还是蛮敞亮的,直接 N+1,也不啰嗦。
但是现在这经济环境很差,并且还是年底,工作还真不好找。这些被裁的同事反映,很多企业都不会有反馈。
我自己也特地去招聘软件上看了下,现在还在大量招聘的就是外包、游戏和电商,并且现在很多会卡本科学历。
也向一些老同事打听,他们的公司也基本上没有在招人。
我对被裁掉的组员进行了简历辅导,也帮他们完善项目经历,该优化的都做了优化。
其中一个同事反馈,他面了几家,项目问的不多,八股文倒是问了很多,准备不充分,现在还在恶补中。
其实公司技术部的离职率是很低的,这一两年里,只有进来的,没有出去的,加班可以调休,每年还可以调薪,工作强度也不大。
到点就可以跑,楼下去抽烟也不会限制时间,休息半小时上来都行,管理其实很松,HR 也不会搞事情,要不是裁员,我相信窝在这里的人不会少。
2)氛围
经过这么一折腾,整个技术部的氛围降到了冰点,没有了以往的欢声笑语,只有键盘的敲击声。
人员压缩后,很多业务也就不做了,留下来的有些人上班也会心不在焉,经常拖延进度,有个需求甚至从 9 月底延到了 11 月底。
我自己换了个位置,和小组的另一名成员可以坐的近一点。
目前在公司,自己比以前说的话也要少很多,可能就开会的时候话讲的多点。
项目方面,好在之前做了组件化、标准化、工具化等工作,接手成本并不高,还能从容应付。
四、日常生活
上文也提到,目前这个活强度不是很大,周末可以双休,日常也不用加班,自己可支配的时间比较多。
每天的作息其实也比较规律,7 点自然醒,7 点 50 送送小孩上幼儿园,9 点到 10 点之间到公司,10 点后订餐,12 点吃中饭,13 点午睡,14 点开工,18 点到 19 点之间下班。
19 点半到 20 点半之间到家,和他稍微互动下,再刷会儿手机,在 22 点到 23 点之间睡觉,每天不熬夜。
周末带他去上兴趣课或者商场、动物园、海洋馆、植物园等地方玩,基本上休息时间就是围绕着他转。
1)旅行
今年与往年有个最大的不同就是出去旅行的频次变高了,自己统计了一下。
今年带小孩去了 8 个地方,最远的是北京,其他都是上海周边,包括南京、宁波、苏州、杭州、湖州等地。
总耗时 20 天,其中工作日请假 4 天,其余都是周末两天。
带着小孩旅行,考虑的点就比较多,住的地方条件也会拉高些。
还有很多不适合小孩的地方也不能去,比起单独出去,肯定是要累一些的,不过,也很快乐。
2)职场
最近身边有 3 个大学同学失业了,两个是被裁员,一个是公司倒闭,还陆续收到几个老同事也要失业的消息。
人到中年,上有老下有小,可能还有车贷房贷,找工作要考虑的点就比较多,例如薪酬、距离、加班情况等等。
所以一般也不敢轻易离职,我那同学三人都是被动的,现在两个在找活,一个计划先试试转行,我自己也不得不思考未来该如何规划。
前几天和一个老同事面聊,他在某一线大厂干了 7 个月,扛不住离职了,太卷太累,还要出差,没时间顾家。
现在这边虽然平台不大,薪资一般,但胜在环境比较舒适,离家也不算远,干的活也不机械。
为了自己不与程序员这行当强绑定,也尝试过搞些副业,有些是完全跨行,有些则是基于技术能力做些业务。
例如自媒体、公众号等,但最后都因为各种原因都失败了,现在其实还在继续思考中。
3)道德经
大学的时候,操作系统的老师曾建议我们去读一些哲学书,有提高我们的编程能力。
当时并不很能理解两者之间的关系,在经过这么多年的工作经历后,有了点体会,老师的意思应该是通过哲学的思想来解决各类实际问题。
这些问题其实并不仅仅编程,还包括生活、工作、人际关系等方面。
道德经我本来以为是一本讲思想品德和宗教的书,读了以后才知道是一本经典哲学书籍。
老子的思想远远领先于当时的大众,道德经中的道是指世间万物的自然规律,德是道的外在体现,尊重自然按规律办事。
虽然全文只有五千字,但其内容不仅包含朴素辩证理论(一切确定皆否定,既对立又统一地看待问题),还有为人处世、修身养性等各方面。
许多名句名言诸如"千里之行,始于足下","福兮祸之所伏,祸兮福之所倚","上善若水"等。
目前只读了一遍,体会还不够深刻,抽空再读一读。