今天在某问答平台看到一个问题:如何突破职业瓶颈?
刚好接着这个问题分享一下去年的一段经历,回答一下。
去年某个时候,感觉自己在接口测试这个方向上走到死胡同了。不管是自动化还是性能测试,都已经轻车熟路。对于日常工作,真就只剩下搬砖的一种感觉,缺少挑战,也就失去了方向。在接口性能测试方面,我探索了一些其他场景,比如:全链路压测、链路支路、等比压测、提高数据精准度等等。单感觉是东一榔头西一棒子,一个点,一两周就完成了,只能换去另外一个角度。后来短暂去搞了静态代码扫描,后来效果不佳也放弃了,中间倒是学了不少细碎的 Java 知识。
这样情况直到换了新工作才打开了局面,开始专职做性能测试,接触了更高的性能场景,迎来一个有一个挑战,也都在逐个克服,感觉进步飞快,像在草原飞奔的野马。总结起来有两方面经验很值得分享。
说人话就是一个数量级一个世界,在做性能测试过程中,单机 1k 的 QPS 跟单机 1w 的 QPS,针对服务端来说,架构方案肯定是不一样的。对于性能测试工程师来说,所用到的技术栈可能一样,但是在实施过程中需要克服的困难和用例场景也是不一样的。差别大到可以分成两个平行的工种。
在某本书里面讲,要为了那些 10 倍的目标去制定战略。
当我们感觉瓶颈的时候,通常是在当前的赛道上已经没有大的发展前景,这个时候需要拓宽或者换一条赛道。我现在回头去看自己去年的处境,感觉就是在舒适区待久了,差点忘记拓荒的勇气。
给自己一个 10 倍的目标,瓶颈就会变成阶梯。
一级一世界,一倍一台阶。
我常用语言是 Java 和 Groovy,现在基本能用 Groovy 的地方就不用 Java 了,之前还写过一段时间的 Python。之前我常说,学会 Java 一招鲜,基本都能解决工作遇到的任何问题,如果遇到解决不了的,那就继续深度学习 Java。
人总是在不断自我否定中成长。我在今年新学了一门语言 Go,然后又发现了一个新世界。
虽然 Java & Groovy 的组合依然这么优秀,但 Go 语言带来更多乐趣。也能收获更多技能,毕竟多门语言多条路嘛。Go 语言在很多方面的效率是远远高于 Java 的,有很多诸如 goreplay 和 K6 这样优秀的测试框架,在阅读其源码的过程中,也给了 FunTester 测试框架提供了新的思路。我就毫不客气发动拿来吧你的抄能力把一些思路重新用 Java 写一遍,在这个方向上,既能开阔视野又丰富吹牛的素材。