今天不连载了,另外原谅我开篇会写一些 “废话文字”,目的是交代一下过去以便于更好的理解现在。

感悟

不知不觉转型纯业务 JAVA 后端研发已经接近一年了,我记得整个零售产品技术部测试转研发的也只有我一个人。那时也正是双十一之后,因为彼时我在交易域,需要坚守完大促的最后一班岗,保障大促平稳度过。

在此,我也感谢一下我之前的老板,以及现在的老板,感恩他们给予卡农 Lucas(本人)同学在职业选择上的指引和帮助。毕竟,在我和恒温这个年纪,跨领域转型是需要极大的决心和毅力,毕竟开发和测试是两条赛道,即便是纯测试平台底层基建的同学,没有纯业务的实战,同样会面临严峻的考验。

我之前一直从事测试效能平台的研发,在京东的代表作是云测平台,底层是基于 OpenSTF 做的二次开发,我还在社区创建了一个 STF 组,但是很遗憾,随着我转移方向,对云测技术的探索也画上了句号。之所以换个赛道,是因为我需要更多更广的技术积累,而微服务、大数据、云原生、流计算、并行任务、检索等在 150 多号人的测试团队里是很少用到的,而且用什么技术、采取什么架构也缺乏有效的评估。另外一个因素是走出去,看看大厂都在玩什么,虽然我参加了很多技术论坛、分享会,但总感觉很多内容飘忽在上不宜落地。

赛道

换个赛道后,视野确实拓宽了。这里还有个插曲,因为来本地生活之前,我本来是想去蚂蚁紫嫣老板那里,在此也感谢一下紫嫣总。后来今年年初又转岗蚂蚁。最后在经历过一番思想都斗争后,选择留下来做业务开发,希望在还能够奋斗的岁月里挑战一下极限,梦想着有朝一日,对梦想着。

拓宽的视野体现在以下几个维度:

技术维度:

  1. 接入了几乎所有中间件,包括 HSF、任务调度、限流、消息队列等
  2. 接入了 blink 流计算,踩了流计算插件的坑。
  3. 接入了 SLS 日志存储,由于 blink 管 sls 速率过快,踩了限流的坑。
  4. 接入了监控、运维、日志、告警等一些列基础平台。
  5. 接入了数据开平台,对数据开发有了一定认识。

平台维度:

  1. 接触了流量回放平台。
  2. 接触了端到端插件平台。
  3. 体会了集团持续集成的强大。

业务维度:

  1. 熟悉了集团整个交易链路,涉及商户、商品、营销、库存、交易系统、支付等。
  2. 熟悉了稳定性、资金安全、红蓝演练、废单演练等。
  3. 参与了重大项目奖。

但这里有几个点:

  1. 测试工具维度业务逻辑不复杂,不需要过度的设计和抽象。
  2. 平台维度,能够发挥的空间非常有限,夹缝里寻创新。毕竟在集团你能想到的东西都有现成的平台,重复造轮子是一种资源浪费。但是很遗憾,已有的轮子并不能满足每个 team 的需求,都是按照自己当时的情况构建和开发的,缺乏扩展性。但如果共建,就意味着巨大成本和人力付出。
  3. 业务维度,测试站在最底层,对于架构设计的理解是欠缺的。很多好的工具和平台,是在开发过程中造出来的,不参与其中,不知创新的点。现在也在提倡研发效能,如何提升?

起初我的动力是想成为研发的同时可以洞悉系统的创新之处,辅助或横向输出可以提效的框架或平台,现阶段疲于业务代码的奔命中。当然,每个人的情况不尽相同,对于那些到哪都能发光的同学我送上一句诚挚的问候,“Respect!”

高阶知识的熟练程度

高并发场景使用少,毕竟服务与一个测试团队 200 以内的,并不需要什么高并发设计,即便 200 个人同时访问,两台机器扛起来绰绰有余。而这正是测试工具平台所不具备的。

大数据量场景机会很少用,如何快速高效的在几万条、几亿条、几百亿条数据中查询,也是很少用到的,即便数据全在 ADS,
稳定性的保障,包括系统稳定性和业务稳定性。你以为你判空就够了,空指针无处不在。
八股文的掌握程度。

顶层设计抽象的能力:

  1. 如何高效快速的完成需求,并支持可扩展,这是测试工具和平台所不太关注的,毕竟产品的复杂度在那。
  2. 如何做好建模,领域建模,数据建模,业务建模这也是需要在实践中总结的。好的建模和设计,可以提升效率。
  3. 往往忽略统计、报表类需求的建模,这类需求的特点是数据是实时、非实时及伪实时的,字段不在同一张表里甚至字段需要通过第三方接口取,毕竟网络开销是昂贵的。

框架的熟练程度:

1 对于 spring 全家桶的熟练程度一开始肯定不高。

  1. 框架的抽象封装能力在前期也是需要提升的方向。
  2. 框架的整合能力也需要提升。

其他杂项:

  1. 测试可以怼开发代码差。
  2. 开发相对于测试需要背负更多的责任和义务。
  3. 尤其设计的时候,需要全方位考虑到所有可能的问题,并找到解决方案,尤其需要第三方配合的,不提前识别出风险,对方大概率毙了你的需求。

一个小小的结论:

  1. 35 岁以后转开发,慎重;能力 OK,没问题;一般还是留在测试岗位或测开岗位或 SRE 团队。
  2. 30 岁转开发,如果有一定技术积累,我觉得没问题。3 到 5 年的时间追赶会让你有本质的变化。
  3. 如果技术一般就老老实实干测试。毕竟一个测开的开发能力,普遍在 P5 开发的水位线。
  4. 开发可以降维做测试,我非常同意这个观点。前提是质量意识比较好的开发。除了方法论,但这些方法论一个月就可以掌握。另外,互联网产品 95% 都是等价类(思维导图),之所以还留 5%(我本来想说 99%),是因为可能确实其他领域需要什么因果关系呢。

最后:

测试转开发真的不容易,需要付出比别人更多的努力,而且要忍受一段时间也可能是很长一段时间的寂寞,人们都渴望被重视,但你现阶段是爬坡阶段,接受现实,无论结果好与坏坚持总有回报。

创作不易,劳烦各位看官点个关注,感谢诸位的支持。
(完)


↙↙↙阅读原文可查看相关链接,并与作者交流