我的 2018 年终总结
在 2019 农历新年即将来临之际,趁着在家闲适的日子,我也对我的 2018 年进行下年终总结。这一年,我也不知不觉迈过了 30 岁,成为了大家口中的“人到中年”。想总结的内容挺多,就从工作、生活、个人成长和困惑几部分进行展开吧。
工作
在 2017 年,我开始承担了部分技术管理的角色,个人的工作内容和重心也有了一些转变。在 2018 年初,随着部门的组织架构调整,之前我所带的测试开发小组也变成了测试开发部,部门工作职责也进行了更明确的划分。打个比喻,如果产品测试部是冲锋在各大战场一线的战士,那么我们测试开发部就是兵工厂,保障一线战士拥有理念先进、功能强大、稳定好用的武器就是我们的首要责任。当然,我们也会经常对一线战士进行指导和培训,让他们掌握武器的技术原理,从而更好地使用武器,发挥更大的战斗力。因为是全新的部门,因此我也从 0 开始梳理了适合当前大部门环境的测试开发团队规章制度,主要包括目标价值导向、协作机制、统一技术栈、技术规范、项目运作机制、培训机制、奖惩机制等等,并且团队人数也从年初的 3 个人稳步增长到当前的 7 个人。
在工作内容方面,今年我们做的事情比较多且杂,主要包括技术体系建设和重点项目支撑两大方面。
在技术体系建设方面,今年重点建设了接口自动化测试平台和性能测试平台,这两个平台都是基于 HttpRunner 来做的,因此也很好地实现了脚本的复用,并初步在公司内数十个项目中投入了使用,为后续要做的数据服务平台、线上业务功能监控、CI/CD 也做好了铺垫。在功能测试方面,基于商业测试用例管理平台 TestRail 做了些二次开发,将所有测试覆盖项目的测试用例全部统一规范管理了起来,告别了之前全靠 Excel 文件传来传去的低效,也极大地推动了开发自测,保障了质量体系规范的落地。在项目质量度量方面,我们基于 Jira 建设了质量看板,为项目质量概况、部门质量概况、业务线质量概况等不同维度提供了共二十余个质量度量指标,实现了各项目的可视化质量度量,并对于月度质量数据统计、项目质量回顾这类统计工作也提大地减少了人力时间投入。另外,团队在 UI自动化测试(Katalon)、网页资源爬虫检测、移动 APP 自动化(外购 MQC)等方面也有投入,但覆盖的项目有限。
在重点项目支撑方面,主要是进入到重点项目主导进行效率提升。当时我们的测试技术平台初步建成,虽然在一些项目中开始投入使用,但效果并不理想,我们也开始重点考虑怎么让我们的测试平台能更好地在项目中落地。后来我们听取了一位领导的建议,与其将10个项目都提升10%~20%,不如集中精力将一个重点项目提升70%。于是我们选择了一些重点项目,测试开发团队的人员深入到项目中,帮助项目组建设并梳理质量保障体系,并带领项目组成员(主要是产品测试和开发人员)一起进行效率提升方面的建设工作。在这个过程中,我们测试开发团队成员更加贴近了实际业务场景,对产品测试同学的痛点有了更多的体会,同时也收集了很多需求,帮助我们后续的迭代优化。
乍一看,感觉我们今年做出了挺多的成果,但实际上也存在比较多的问题。概括地说,就是我们在 2018 年做了非常多的事情,但目标不够聚焦,并行项目太多,人力投入分散,并且缺乏对工作内容和成果的数据化度量。最终造成的结果就是,2018 年我们建设了很多工具平台,支撑了很多重点项目,并且协助产品测试同学解决了很多技术问题,团队成员也都非常辛苦,但具体有多少工作内容对公司的业务和项目产生了正向作用,产出了多大的价值,我们很难给出数字化的展现。我们也不得不承认,没有度量的提升不算提升,无法展现的成果不算很好的成果。在《如何度量测试开发的价值产出?》一文中,我也很是赞同一个观点:我们可以反过来看,现在有了这些测试工具平台各个项目组可能都在用,那假如没有了这些测试工具平台会怎么样?是毫无影响?是变得有点不大方便?还是无法正常开展工作?显然,当然我们做得离不可或缺还存在比较大的差距。
这一年来,我感觉自己也发生了比较大的变化。在之前做工程师的时候,崇尚技术,“在墙角安静地写代码才是我的最爱”,不想去碰管理,因为感觉比较繁琐且不够纯粹。当然,我现在也非常热爱技术,后续也会一直都在一线参与开发工作,但对于技术和工作本身,却有了更多的感悟。最主要的,就是深刻认识到了相比于“攻克技术难题”、“快速开发实现和交付”,将问题想清楚、明确方向和重点会更加重要。比较幸运的是,领导给了我充分的自由度,让我有机会按照自己的想法去选择团队工作方向、建设和管理团队,但这同时我也具有更多的责任和义务,带着团队走对方向,做出更多的价值产出,收获更多的认可,最终帮助团队成员收获更高的回报。其实对于每个人来说,工作基本上都奔着两个方面,更高的经济回报和更好的个人成长。经济回报方面我能决定的有限,这很多时候会受到经济大环境和公司、部门业绩的影响,我能做的就是尽量让团队在正确的方向做对事情,对他们的工作成果更好地对外进行呈现,最终在帮他们争取荣誉和经济回报的时候也有更多的砝码。在个人成长方面,我有更多的自主权,也有更多的责任,给团队成员更多的支持和帮助,给予他们舞台和机会,让他们获得更好更快的个人成长。值得庆幸的是,今年我们测试开发团队成员一共收获了 3 次月季度优秀员工的称号(占比质量部全年的 1/4),并有一名成员被评选为质量部年度优秀员工(占比质量部总名额的 1/2),这对于我们团队成员数仅占质量部总人数 1/10 的情况来说,还算是个不错的成绩。另外,在 2018 年事业部内部建立了职级通道,所有岗位拉通了职级,我们团队有两名成员成功完成了晋升,成功率 100%,远高于事业部的总体通过率(不足20%)。团队成员能在质量部层面和事业部层面收获到这些认可,我真的着实为他们高兴。不过,我仍然清晰地记得,每次替团队成员争取优秀名额最终落选时懊恼和自责的心情。希望在下一年,团队能做出更多的成绩,收获更多的认可和回报,这也是我努力为之奋斗的方向。
生活
在生活方面,总体来说还是很幸福和满足的。
2018 年,是我当爸爸后的第一年,我也有幸见证了小坚果从 0 到 1 的成长。从学会翻身到爬行,再到走路、小跑,小坚果总是在我们不知不觉中又学会了新的技能,给我们一次又一次带来惊喜。说到爬行,小坚果的运动能力着实惊人,当时在还只会爬行的时候带他去参加了一个爬行比赛,结果毫无悬念地获得了冠军,拿到了他人生中的第一块金牌。当然,随着他逐渐长大,也越来越调皮捣蛋,在还只能勉强走路的时候,就开始翻箱倒柜,一不注意就把家里进行了乾坤大挪移,一会儿把厨房的小米袋子提到了书房,一会儿又把书架的书全翻下来扔满了客厅,让我感觉家里像是刚被洗劫过一番。除了运动,小坚果的音乐感也十分强大,一听到音乐就开始摇摆,小手也挥个不停。在发现家里有把尘封多年的吉他后,就经常拉我的手让我给他弹。当然,我也早忘了怎么弹了,但装着样子拨几下弦,他也开心的不得了。哦对了,其实小坚果最感兴趣的还是我的笔记本电脑,在他还只有半岁不到的时候,一看到我打开笔记本电脑就啥也不顾地非要往电脑前挤,然后在键盘上乱按一通,手法还有模有样,看着屏幕有变化,就特别开心,流着口水对着我笑,让我一度感觉他以后又要继承我程序员的衣钵。不知道是不是父爱泛滥,对小坚果的笑完全没有抵抗力;得益于老婆的创作能力,用微信给他做了好多表情包,我也很是嘚瑟,经常在微信群里发他的表情包。有件令我老婆很是想不通的事情,虽然我平时上班很少在家,每天陪小坚果的时间基本上只有早上半个小时,但他特别喜欢我这个爸爸,看见我的照片就”baba~baba“叫个不停,有时候刚睡醒还迷糊着也是不停地叫着”baba“。在外面逛的时候,基本上只要我抱;而每次早上我要去上班的时候,更是生离死别般哭个不停,有时让我也很是不忍。
今年与小坚果一起度过了两个重要的日子。一个是他满百天的时候,当时带着他第一次回到了我的老家,办了一个百天宴,也让我的爷爷奶奶第一次抱上了曾孙,两位老人异常高兴,一大家人久违地聚在了一起,拍了四世同堂的全家福,非常圆满。另一个就是在他满一周岁的时候,给他在深圳公租房家里办了一个生日 Party,当时我妈从重庆过来了,也来了许多朋友和邻居,很是热闹。当时在生日 Party 上,老婆让我讲几句,我酝酿了下,终究没有讲出来。其实我想说,感谢小坚果的到来,我非常幸福,也非常自豪;此生我一定会做一个好爸爸,陪伴小坚果健康快乐成长。
一口气唠叨了这么多小坚果的点点滴滴,还这么煽情,这些在我当爸爸之前都是完全不敢想象的。
从广州搬到深圳两年多以后,我也基本决定后续不会再回广州工作了。因此索性将户口从广州迁到了深圳,之前在广州空了两年多的房子也租出去了。得益于公司的福利,这两年一直都住的是公租房,因此在深圳的住房方面没有操太多的心。刚开始的时候是在龙海家园,还只是一室的,有了孩子后比较拥挤;而在今年则换到了深康村的三房,除了小区商业配套差了不少外,住房宽敞了不少,小坚果在室内也有了充分的活动空间。交通也很是方便,小区门口有地铁站,离公司四个站,早上开车去公司也只要十几分钟。而房租每个月只需交600块的物业水电费,这地段这价格,着实让不少朋友羡慕不已。
但在国人的内心,普遍都崇尚安居乐业,对拥有自己的房子也充满了信仰。我本来是对此不太在意的,觉得租一辈子房也没啥,但有了小坚果以后,不得不考虑得更多。再加上公司的福利,满足条件的情况下可以申请到10年期150万的无息房贷,在同事的劝说下,我也动了些在深圳买房的心思。不过在我初步去看了几处二手房后,内心感到异常难受。三四百万的价格,实打实的真金白银,但在深圳只能买到老旧破烂的小房子,着实很不甘心。想着当前对买房的需求还不算强烈,暂且作罢。
个人成长
在个人成长方面,今年我仍在持续学习中,并有幸完成了一些个人突破。
首先是我从 2017 年开始做的开源项目 HttpRunner
,经过一年半的时间,居然从最开始的个人业余练手项目一路迭代至今,不仅在大疆内部成为了测试技术体系的基石,在测试业界也有了一定的知名度,形成了一定的开源生态并被众多公司广泛使用。截至当前,HttpRunner 在 GitHub 上收获了一千多个 star,在 TesterHome 的开源项目列表上也排到了第一的位置,这都是我始料未及的。不过,因为工作和个人时间的关系,今年在该项目中我也存在做的不好的地方,一个是该项目在 GitHub 上的 issue 我没能及时的处理,当前已经累积有一百多个未处理的 issue,在 TesterHome 和天使用户群的好多提问我也没能完成解答;另外就是在文档方面比较滞后,好多新的功能特性都没能及时更新文档,这些在后续都是要重点进行改善的。在 2019 年初,2.0 版本也正式发布了,《HttpRunner 2.0 正式发布》,后续我也会持续地优化 HttpRunner,并希望能找到更多的朋友一起来维护该项目,让 HttpRunner 能有更好的发展。
源于 HttpRunner,今年我受邀参加了 4 场行业大会进行技术分享,包括移动互联网测试开发大会(MTSC2018)和 PyCon China 2018
这些千人以上规模的大会,并且收获了比较不错的成绩。在移动互联网测试开发大会(MTSC2018)中,在大会开幕式上我有幸收获了两个奖项,个人的年度社区贡献奖
和 HttpRunner 项目的 年度开源贡献奖
;大会结束后,最终经过听众投票,我也有幸被评选为服务端专场明星讲师,在此也非常感谢大家的认可和鼓励。而在 PyCon China 2018 中,我的 topic 也有幸在 30 余个分享主题中,被推选作为主会场分享主题(总共 3 个),与 Python 海外核心开发者一起在主会场面向千余名听众进行分享;这是我第一次面向这么多的听众进行技术分享,听众还基本都是 Python 开发者,这对于我也都是全新的挑战,《PyCon China 2018 归来,感谢曾经没有怂的自己》。
在个人职位方面,今年在公司内部开始建设职级通道,所在的事业部也将所有岗位拉通了职级,包括开发、测试、产品、运营、数据等。一年有两次申请机会,在第一次申请的时候,毫无意外地没有通过,通过率低得吓人,高级工程师升架构师(或技术经理)仅有一人通过(1/6)。在第二次申请的时候,本就不敢再报希望了,但想着要充分利用好每次锻炼和磨练(自虐)的机会,仍然尽力去做了准备,没想到最终竟然成功通过了(1/6),然后就有了测试架构师的 title,在此非常感谢事业部各领导的认可。不过我也非常清楚,我当前距离我心目中架构师的title仍然有非常大的差距,我后续也会不断努力,争取早日能配得上这个title。
在个人学习方面,今年极客邦出了极客时间这个产品,我也成为了铁杆用户,前前后后差不多买了三十来门课程。之所以这么喜欢这个产品,一方面是上面的课程内容基本都面向互联网从业者,专项技术和技术管理都有,内容质量也都非常不错,很多课程我买来后没有都看,但将其当做一个资料库,在需要的时候经常能找到不错资料(不过检索功能十分欠缺,希望后续能加强)。另一方面就是课程基本上都附带音频,特别适合在开车途中使用,这样我就能很好地将每天上下班途中的固定时间利用了起来;不过,很多时候下班回家时大脑十分疲惫,基本上就听歌了,所以主要还是上班途中用的比较多。通过极客时间这个产品,一方面在知识上开了眼界,另外也被不少讲师大牛圈粉了,有了奋斗的目标和方向。特别地,在今年参加大会做分享的时候,我也有幸认识了《软件测试52讲》的作者茹炳晟,《趣谈网络协议》的作者刘超,面对面进行了更多的交流。
说来惭愧,今年有几家出版社(也包括 GitChat、慕课网、实验楼 这类在线知识付费平台)跟我联系,询问我是否有意向进行合作和出版,而我在 2017 年年初跟博文视点签的出版合同,本来还打算在小坚果出生前出版呢,现在儿子都一岁多了,至今还没交稿,确切地说,是搁置好久了。唉,时间是一方面,主要还是执行力不够。不仅是写书,今年的博客和公众号也是沉寂了大半年,整个 2018 年基本就写了十来篇。回头再看看去年年终总结时的展望,打脸打得生疼。
个人困惑
在这一年,我也遇到了不少困惑,或者说,当前我暂时还没有想清楚的问题。
今年,我有幸收到了多个在其它公司前辈的邀请,他们都给出了非常诱惑的条件。想走技术路线,可以给到更高职级的title;想带团队,预期团队规模是我当前团队的好几倍;而薪资待遇,也会有不错的增长。说实话,这些都是非常不错的工作机会,再加上在当前公司待了两年多后,多多少少会有些不如意的地方,所以到底要不要换个环境,着实也会有些犹豫。其实这也回到了对于工作本身,我到底追求的是什么了。前面我也说了,每个人对于工作基本上都奔着两个方面,更高的经济回报和更好的个人成长,只是对于每个人的不同阶段来说,这两个方面的关注重点或权重可能会有所侧重。在经济回报方面,毫不掩饰地说,我在乎钱,期望能给家庭更好的经济基础;但在我当前阶段,对于自身的个人成长和职业发展我应该是更在乎的。还记得之前在 UC 工作的时候,在一次内部分享会上,UC浏览器总经理朱挺分享了他自身的一个观点,我也很是认同,跳个槽也许可以在月薪上涨个几千块,但如果只是冲着这个点,终究是量的提升,相比下来,个人能力和格局成长带来的经济回报才是质的飞跃。
那在职业发展方面呢,对于我所在的行业来说,主要就是技术和管理两条路线。前段时间在极客时间《重学前端》专栏中看到一篇文章,其中一段话着实让我扎心了许久。
做了管理,技术没跟上,并且还错过了最佳的学习时间,这个境遇可想而知,他们在工作中大概率只能是被动地接受需求解决问题,然后也同时焦虑着自己的未来,焦虑着自己的竞争力。
显然,这并不是我想要的状态,我个人也是希望更多地在技术线发展。但我觉得这里说的管理可能偏向于纯管理角色,而我即使是作为团队负责人,也更多地是希望成为技术 leader 的角色(关于 leader 和 boss 的区别,可参考陈皓在极客时间《左耳听风》专栏中的解释),因此并不冲突。那最终的核心点就在于,我到底想在技术这条路上走多远,以及,我要怎么去走我的技术之路。
去互联网大厂(成熟型),有更多地解决海量用户技术难题的机会,也有更多与技术大牛共事的机会,在工作内容上可以在某一细分领域上持续投入,在技术深度上可以有更好的积累,我上一家所在的 UC 基本上也算是这种类型。而在当前类型的公司(成长型),可以有更多的机会按照自己的想法从 0 去做很多事情,工作内容覆盖面比较广,得到较为全面的锻炼,个人也有更多晋升的机会。所以说,这两种选择更多的就像是围城,不能说哪种更好,关键还是在哪种环境更适合自己,或者说自己更想要哪种环境。
如今我已经 30 了,可以说前 30 年基本上都挺中规中矩的,读书、毕业、参加工作、工作日上班、跳槽换家公司继续上班,稳步提升自己的个人能力和市场价格,总体上来说还是十分安稳的状态。如果我要打算在深圳买套还算不错的商品房,可能也要像同事那样,首付两百万,月供两万多,持续二三十年,然后也成为有房贷要还有娃要养的中年群体中的一员。一场说走就走的旅行?嗯,我之前没有想过,今后估计也更不敢想。
之前在网上看到过一些自由职业者(独立软件开发者)的故事,他们可以自由安排自己的时间,挑选自己喜欢的工作地点,按照自己的节奏做自己喜欢的事情。很多人都很羡慕这样的状态,表示等自己财务自由后就去过这样的生活。但什么才算是财务自由呢?年薪百万、千万?还是资产过亿、十亿?每个人的标准并不一样。前些天 stormzhang 发了篇文章,《我,自由了!》,里面提到的一个观点我也很是认同,其实财务自由更多的取决于一个人的欲望,简单来说,如果收入能覆盖所需的支出,那么就可以算作是财务自由了。
我也开始反思为什么要在深圳,为了更好的生活?还是为了孩子更好的未来?显然,都做不到。如果说生活,在重庆老家的生活品质比我们在深圳高太多了,每次回老家感受都特别强烈,不管是住房小区环境,消费水平,还是生活节奏,都能生活得更好。特别是今年回家去表姐家的洋房转了下后,着实惊叹不已,很不错的地段带前后花园的房子当初才买成两百多万,即使是在经历了近两年的大幅涨价后也才四百多万,而四百多万在深圳可以买到什么品质的住房呢?如果说是为了孩子,论教育资源和医疗资源,深圳的资源跟重庆也没好多少,甚至可以说还不如重庆(或成都)。
那为什么非要留在深圳呢?为了更多的工作机会,为了更好的工作环境,为了安放我这颗年轻躁动可能还没想清楚自己要什么的内心,嗯,真的就更多的是为了我自己。但为了我自己,让老婆孩子在深圳过更差的生活,真的是一个好的选择么?在若干年后,我真的可以通过自己的努力,让老婆孩子在深圳也能过上跟老家同品质的生活么?说实话,我没有十足的把握。
在这一刻,我有些迷茫了。
展望
本想就对自己的 2018 年进行下年终总结,结果不知不觉就写了这么多。不过,这些也的确是我 2018 年在工作方面主要投入和思考的内容,索性都记录下来,虽然会显得稚嫩且琐碎,但能给未来的自己多留点记忆也挺好的。
最后再展望下 2019 年吧。
1、找到内心的平静。当前存在的困惑和迷茫只能靠自己去寻找答案,也只有真正明确了自己内心的追求和渴望,才能获取内心的平静,做出最合适的选择。
2、持续提升个人能力和认知水平。个人能力方面,在前后端 Web 开发方面会加强系统性的知识积累,并锻炼更多的产品思维,期待能在测试开发领域做出更好的产品。
3、坚持阅读和写作。多阅读,勤思考,并通过写作进行记录,记录下自己成长的轨迹。
4、学会生活,锻炼身体,陪伴家人,工作是长跑,讲究的是可持续发展。再次引用了去年和前年的展望,希望 2019 年做得更好。
5、做好时间任务管理。明确工作任务的优先级和重要性,更好地管理个人时间;滴答清单是个不错的产品,后续会坚持使用。
成长轨迹
- 《我的 2017 年终总结》
- 《我的 2016 年终总结》
- 《我的 2015 年终总结》