一个测试工程师的成长复盘
转载:https://www.cnblogs.com/imyalost/p/15184433.html
前几天微信群有个同学加我好友,向我咨询一些问题。他说,看到我在群里说了一段话:
成年人,最重要的是获取知识的方式和思维逻辑,而不是只追求知识量的增加,提升增量,而不是存量。
学习,永远是学习能快速变现的,对现在的工作生活能带来帮助的,而思维逻辑能力和学习能力的提升,需要长期坚持的刻意练习来习得。
这句话出自李善友的《第一性原理》,我根据自己的理解在群里说了出来。
他说,感觉自己就处在那种低水平的思维模式,总是不能真正解决问题,现在不知道怎么突破到更高的思维模式,问我有什么建议?
我和他聊了一些我自己的经历,帮他分析了他目前的处境和不足之处,以及需要提升的点。最后,他应该是有所收获,也祝他能早点找到适合自己的思维模式。
可能我们在工作或者生活中,会遇到这种类型的人。
初看知识面是有的,口才和文笔也是有的,但是做事情,总是差那么一点,你作为Team Leader,面对这种队员是很痛苦的。
他认为他很努力了,但总是不能真正解决问题,他做的事,总要你或者你认为「靠谱」的人去检查一遍,他团队效能一定是很差的。
别笑,我曾经也是这样的人。现在回头看,当时的自己就差临门一脚,但就是迈不过去。
这篇文章,无关工作,也非技术文,纯粹是我自己工作几年来的成长复盘。
前传
先说说我的游戏开局吧,大专毕业,土木工程专业,和互联网一点关系都没有。
我现在还记得,我的第一次网购经历是13年毕业时候,注册了淘宝账号,买了人生第一件网购商品:行李箱。
14年6月,凭着想去大城市看看的想法,怀揣1000块钱,就来上海了。
去电子厂找工作,嫌我年纪小;做了三个月房产销售,每天顶着烈日暴雨出门发传单带客户看房,结果三个月了一套房子都没有租/售出去,拿了三个月底薪,最终灰溜溜走人了。
心灰意冷之际,有培训班打电话,说培训软件测试,培训结束包找工作,月薪6K起步。
那个时候,6K对我来说真的是可望不可即的高薪。培训结束,稀里糊涂终于找到了工作,月薪3K,试用期六个月打八折,对我来说真的是黑暗中的一点希望。
现在回头看,真的是开局一把烂牌,幸好,一把烂牌我也没放弃,才坚持走到今天。
做测试以来,我的职场经历,大概可以分为四个阶段,每个阶段都有不同的一些经历和收获。
经历
迷茫
从事软件测试工作的前两年,一直没什么进步,无论是技术提升,业务熟悉程度,还是沟通协作能力,一直很差劲。
幸好那个时候移动互联网爆发,测试也没那么高的要求,点工还是有点市场的。迷茫中度过了2年,薪资从3K提升到了6K,在上海这个大都市,也算能勉强生存下去。
有一天晚上加班很晚到家,洗完澡看着镜子里的自己,突然觉得很不甘,对现状的不满,对自己平庸的愤懑,让我辗转反侧。第二天我就提了离职,裸辞。
之后一个月就是四处投简历找工作,中间大概有一个半月处于没有收入的阶段,捉襟见肘。
印象最深刻的是去唐镇那边的银联面试外包测试岗位,我以为自己工作两年也算有点积累,结果面试过程让我难堪不已。
我记得面试官问了我一个关于HTTP协议的问题:状态码500和502各代表什么意思?我没回答上来。
后来每每在有跳槽想法时,我都会想起这件事,并扪心自问:你现在的能力可以承担跳槽出去的风险并且获得更好的平台或者机会吗?
厚积
16年下半年去了某快消零售企业,最初的想法是给的工资也不低,也不怎么加班。
传统企业的IT部,大多是给内部的业务部门做一些系统,版本迭代慢,有一些BUG也还能忍受,工作较为清闲。
当时的领导是IT部的架构师,他给我安排的工作内容,反而和具体的测试工作没有太多直接联系。比如:
- 公司门店供应链系统要重构,安排我去学习供应链仓储相关业务知识;
- 公司和天猫联合搞双十一品牌大促,让我和阿里的技术同学对接搞压测;
- 回归测试比较费时间,就让我研究自动化测试、脚本录制回放甚至按键精灵;
- 业务部门要搞个财务结算系统,就安排我去学了2个月的财务结算相关业务知识;
- 有时候工作上犯了些错,他也不会直接训斥,而是告诉我怎么做才能避免下次犯错;
- ............
当然,作为一个技术男,他算是一个很有文艺细胞的领导,给我经常灌输一些比较鸡汤正能量的话,比如:年轻人要有信仰、你们这些年轻人应该多看看书,别整天玩游戏看剧。
他也经常给我推荐一些不同类型的书,因为公司的业务是快消零售行业,他就推荐了7-Eleven的创始人铃木敏文的著作《零售的本质》,让我对便利店的商品货架摆放,补货和物流相关有了新的认识。
在这家快消公司两年,我最大的收获是摆脱了之前焦躁的心态,同时在零售物流仓储供应链财务结算方面积累了一些业务知识,技术上也尝试实践了很多。
至今我博客阅读量最高的一篇文章“《微服务架构》——17W+阅读量”就是在这个阶段完成的(公司要尝试系统重构微服务,领导给了我很多资料,让我给他整理成一篇PPT便于宣讲)。
在领导的影响下,这个阶段我也看了很多技术类的书籍并做了大量实践,有网络协议、自动化测试、性能测试、精准测试,也有Redis、MQ、docker、设计模式、系统架构,甚至产品经理、市场运营等相关的书籍也看了不少。
职场的某个阶段,如果能遇到一位好领导,是很珍贵的一件事。它能告诉你如何避免走弯路,如何做正确的事情。也会给你学习成长实践的机会,甚至以身作则培养你养成好的工作习惯。
成长
从快消公司离职后,去了某银行信用卡中心,做性能测试工作。虽然之前累积了很多理论知识,也有一定的实践,但整体来说还是小打小闹。
靠着知识储备面试通过后,凭着之前累积的理论知识和已经成为习惯的学习实践习惯,我快速熟悉了团队的日常工作,入职2个月就独立负责整个信用卡中心60%的业务线日常压测和管理工作。
在银行工作,我最大的收获主要有下面几点:
- 标准严格的工作流程(比如如何写测试方案测试报告);
- 对结果负责的工作方式(工作只看最终结果,过程如何只对自己有影响);
- 大量的技术实践和探索机会(复杂的系统架构、不同的技术和业务体系);
- 开始明晰职场的某些潜规则(汇报、邮件、职责边界和所谓的甩锅能力);
- ............
在银行工作了一年,出于某些原因,我选择了离职,不过这次跳槽,我有信心凭借自己的能力去承担风险,并且去追逐更大的平台和机会。
整体来说,大公司的好处还是很明显的,履历镀金、项目经验、复杂度更高的业务和系统以及更多更优秀的人,能从他们身上看到并学到很多受用终生的能力。
薄发
从银行离职后,面了很多公司,最终决定去了某电商行业细分领域的独角兽公司。
我算是该公司真正意义上的第一个专职性能测试工程师,入职后,从性能测试体系建设、环境搭建、工具选型到618大促,基本都是从零开始探索前进。
入职没多久,公司来了新的CTO,原来的阿里高P,此时公司的业务也开始高速发展,业务的发展要求技术能不断的发展支撑。在这家公司,有几件事,让我成长了很多。
19年双十一
公司业务快速发展后第一次搞双十一大促,CTO对大促也比较看重,提出要搞全链路压测。
但技术团队大多没有相关的经验,且基础的技术建设相对比较薄弱,因此我们搭建了一套和生产等配的仿真环境,用于全链路压测。
压测团队经过2个多月的多轮压测,性能定位和优化,将系统整体性能在原有基础上提升了9倍,但大促当天还是发生了宕机。
双十一凌晨2点多,CTO组织了大促复盘,一直复盘到凌晨4点,也是这次复盘,让我学到了2点:
- 优秀的技术管理者,除了管理能力,技术能力以及对业务的理解,依然是很重要的;
- 及时复盘,不放过每一个细节,不断寻求问题的本质,在更高的维度寻求更优解,才能避免再次犯错;
交易系统重构
由于老系统的历史技术负债较多,19年底CTO决定对核心交易系统进行重构。当时由于新系统的环境复杂性,要对新系统进行压测,面临的是一个混部环境(测试+预发+生产)。
原有的压测方式不适用了,为了解决这个问题,技术团队决定落地生产全链路压测。我调研参考了业内很多的生产全链路压测方案,最终输出了生产全链路压测技术方案以及功能的PRD并评审通过。
正好20年疫情来临,交易系统重构面临严重的按期上线风险。年后很多团队同学都是远程办公,工作压力都很大,也因为环境的复杂性,只有通过生产全链路压测才能保障新系统上线后的性能和稳定性。
我自告奋勇充当了全链路压测的负责人和PMO角色,组织压测、复盘以及性能定位优化验证。
最终系统如期上线,也没有出现大的性能问题。这是我职场生涯最丰盛的一段经历。也让我明白了一件事:优秀的工程师不仅需要好的技术能力,项目组织、沟通协调、抗压等软能力更重要。
20年618大促
之前的全链路压测都是在仿真环境、混部环境进行,这次618大促,是真正意义上的生产全链路压测。虽然618相对双十一,没有那么高的峰值流量,但从意义上来讲,更加重要。
由于之前的一些实践以及核心交易系统重构时候累积的经验,618平稳度过,我们也证明了自研的全链路压测框架,能真正的解决生产压测的痛点。
20年双十一大促
双十一算是电商企业每年的一次大考,不仅业务玩法复杂,而且双十一零点的流量冲击对系统也是个极大的考验。
经过一个多月的积极备战和多轮压测优化,最终我们将系统核心链路的处理能力,从7W多TPS提升到了25W以上,峰值QPS也超过了35W,算是有了质变的提升。
在双十一之后,我在技术部门进行了一次分享,分享的Topic名字叫《大促利器:全链路压测》。
20年底我晋升了,开始带技术团队,主要负责性能、基础架构、大促稳定性保障等相关的测试工作。工作中我也会经常在部门里进行一些技术培训或者分享,这些分享的经历也加深了我在部门的影响力。
21年中旬,带团队做完618大促的项目后,我离开了公司,测试相关工作,也算到此画上了一个句号。我开始了新的职场生涯,去寻找更大的可能性。
总结
这就是我这几年软件测试工作的经历和自我复盘,从一把烂牌,到不断选择新的方向,我的总结如下:
- 开局一把烂牌并不能决定未来,坚持走下去,你会有不一样的经历,也能看到更精彩的风景;
- 迷茫或面临挑战时,扪心自问,你现在的能力是否可以承担风险并且获得更好的平台或者机会;
- 职场中能遇到一位好领导,是很珍贵的一件事。它能告诉你如何避免走弯路,如何做正确的事情。也会给你学习成长实践的机会,甚至以身作则培养你养成好的工作习惯;
- 大公司的好处是显而易见的,履历镀金、项目经验、复杂度更高的业务和系统以及更多更优秀的人,能从他们身上看到并学到很多受用终生的能力;
- 优秀的工程师不仅需要好的技术能力,项目组织、沟通协调、抗压等软能力更重要;
- 优秀的技术管理者,除了管理能力,技术能力以及对业务的理解,依然是很重要的;
- 及时复盘,不放过每一个细节,不断寻求问题的本质,在更高的维度寻求更优解,才能避免再次犯错;
- 知识不是你知道多少,而是你坚持学习并且大量实践后才能成为你自身的核心竞争力;
- 不要放弃尝试新的可能性,要跳出舒适区,过程中要努力思考自己未来的发展路径和规划;
- 长期坚持做一件事,阅读、时间、思考、复盘、交流,是必不可少且一定有所得的成长方式;