自从 09 年误打误撞进入测试圈子以来,已经快十个年头了,不知不觉中已经快成一只测试老鸟了。在这十年职业生涯之中,经历过外企,民营企业,创业公司,也从通信项目转到了互联网项目,大大小小也踩过不少的坑,在这一年跳槽之际,分享一下自己的一些经验,希望能够为一些入行不久的测试小姐姐,小哥哥门作为一个参考。

初出茅庐

刚毕业那会,因为学的是偏硬件,一心想找嵌入式的工作,奈何在成都始终没找到合适的,于是进了一家外包公司开始做自动化测试。当时主要做的是一个路由器产品的本地化测试和界面测试项目。什么是本地化测试呢,就是一个软件有多个语言发行版本,需要测试每个版本对应的语言都是正确的。都涉及到了自动化的开发,当时用的是 QTP,perl,vb 这些技术栈,大家现在听起来可能觉得很古老的技术。因为第一分工作来之不易,也比较努力,年终时候还获得优秀员工称号。在做了大概一年半以后,我觉得当时项目有些枯燥,技术栈也不是自己感兴趣的。在项目比较闲的时候选择去了第二家公司,当时想法也很简单,希望到更大的平台学习更多的东西。那个时候的我还不会学会利用论坛,github 来进行自我充电,把知识的积累完全寄托在工作上。

总结:如果在公司的项目不能积累太多经验,不用急于跳槽,学会利用线下线上的资源进行充电。

探索尝试

第二家公司是一家北欧的外企,这家公司继承了北欧公司的一些文化和风格,相对比较比较轻松一些。做的项目呢,还是外包,不同的是做的是大厂的外包,流程相对比较规范一些。因为公司当时处于一个快速发展期,我们的团队也发展很快,很快从当时的十来个个人发展到了后来的七八十个人,也从测试小组转到了自动化工具平台组,并且做了小 leader。在这期间,接触到了一个全新的行业,电信行业,电信产品是一个极其复杂和庞大的产品,接触后不久就会被浩如烟海的电信知识淹没。当时作为一个单纯的技术人员,就想可以终身投入电信事业中。可是好景不长,做了三年多之后,电信行业开始发生巨大的动荡,客户也开始做一些调整。虽然当时我拿到了客户公司比较好的一个 offer,可是我却想去更有挑战和前景的互利网公司,在经过了一番挣扎和纠结之后,选择去了一家创业公司。
在这个期间个人的技术和工作经验有了更多的成长。学习了完整的持续化集成的流程,敏捷开发模式,robotframework 框架和 python 语言。但是,因为整体工作氛围比较轻松,团队整体技术氛围不浓,节奏也不够快,现在回过头看自己成长还是不够快,并且学习的目光总是停留在技术这一块,没有尝试去学习技术之外的产品,运营,这些跨界的东西,提高自身的综合实力。

总结:如果公司氛围相对轻松,空闲时间比较多一些,一定不要随波逐流,合理规划自己的空余时间。IT 行业发展很快,变化也很快,稍不注意就会被淘汰。

痛苦转型

14 年互联网行业逐渐火了起来,我毅然决定从电信行业转向互联网行业。可能对很多技术人员来说算不上转型,但实际上对当时的我来说很多东西需要重新开始,因为电信行业的一套玩法和互联网行业完全不一样。从管理上说,之前公司有很规范的管理流程,任务相对也比较明确,只要努力积极做事情就行了。而创业公司和一些民营企业管理风格可能差别很大,基本以项目和任务为导向,并且就算你 24 小时不睡觉也做不完事情。这个时候如果根据任务的优先级和紧急程度来合理安排自己任务显得尤为重要。从技术上说,电信项目很复杂,协议族很多,并且我们做的测试都是没有界面的通信协议测试,和互联网的 http 协议也是不一样的,我们用的自动化编程语言 TTCN3 可能很多小伙伴都没听过。还有互联网行业更多是利用开源的技术,快速搭建一个产品原型,来解决某个特定场景下的问题,比如滴滴打车的目的是解决打车难这个问题。从沟通上说,在创业公司你更需要积极主要去和老板、产品或者 leader 沟通,保证自己做的事情始终处在正确的轨道上面。所以工作模式和技术上的一个巨大变化,对我来说经历了一个痛苦转型期,因为当时我虽然在已经工作三四年了,可是在互联网行业仍然算是一个菜鸟,无论是对于 web,还是 App,都没有太多的测试经验,互利网经验可能还比不上一个刚毕业的。大一点的企业基本去不了,但是当时一根筋想要转型,于是降薪一半,自己买了一张机票去了南京的一家创业公司,当时周围有的人都以为加入了传销公司,汗。不过下飞机之后,我整个人完全蒙逼了,不仅没有酒店和公寓,到了宿舍之后去洗手间,地上全是水,跟水池一样,心理上产生了巨大的落差,加上过去之后发现整个团队很多人都抱怨,待了两天就想回来了,哭哭。但是因为还在南京,回来确实不太方便,在和 leader 聊聊之后也调整了心态,既来之则安之,抱着学习的态度坚持了下来。在南京待了两个多月之后,回到成都,又过了几个月,年底时候去了一家民营企业,可以还是无法适应他们的工作文化,不仅有我无法接受的各种强制加班制度,而且工作环境是封闭的,无法上网,很难受,说的是做互联网项目,可实际上整个流程还是传统的电信设备开发流程。这样工作环境不仅辛苦,也没法学到新的知识。但是这段转型期对我来说很重要,因为没有这段时间的技术上的一些积累,我也没法去下一家互联网公司。

总结:选择公司还是要慎重,去之前多去了解,特别是涉及行业变化和公司文化的变化,确认自己能够顺利过渡。比如我之前以为创业公司有小而美的创业团队,有股票期权,由高速的成长。我以为 A 轮之后公司都是比较靠谱的。可是现实还是狠狠扇了我一耳光,没有过硬的技术和良好的心理素质很难坚持下来。还有就是到了新的环境心态一定要归零,放空自己,既然去了,就不要抱怨,没有一家公司是完美的,就好像找伴侣一样,或多或少都会有自己的问题,如果总是拿这家公司问题和上家公司比,就好像用现任缺点去和前任比,你发现你自己总是在抱怨之中,而自己却停滞不前,多从自己的身上找问题,尽可能快速渡过磨合期,开始为项目做贡献。如果想好了,就大胆去尝试,任何时候事情万事开头难,不要轻易放弃,等坚持下来了你会发现还是值得的。哪怕撞了南墙撞疼了,回头了,这也是一种经历,有时候疼痛才能让你成长。

成长期

经过了创业公司和民营企业的折腾之后,终于还是回到了外企,这次运气好一些,接触到了硅谷的互联网创业公司,也前后去旧金山出差三次,风和日丽的湾区让我一度想留在美帝。作为早期加入的成员,也经历了从几个人团队到几十个人的过程。在这期间,学习和体验了硅谷的文化和工作方式。技术上,进一步学习了互联网产品架构,python 和自动化框架,api 测试。在这家公司也认识了很多志同道合的小伙伴,从他们身上学到了很多东西。总的说来是一家工作氛围比较愉快的公司,不过也犯过一些错误,因为有时候很多不同的负责人分配任务,没有协调和沟通好,导致任务没有按计划完成。

总结:学会更有效的沟通,积极从核心干系人获取反馈,当任务完成有困难时候,及时提出来,始终以结果和时间节点为导向,而不是过程导向

继续向前

公司在被收购之后成都 site 被关闭了,这是第一次被动跳槽。这时候发现自己开始奔四了,已经是行业内的大龄程序员了,很多同事选择去了更为稳定的银行,或是大厂。我也不知道该不该继续折腾,是去相对稳定的大公司还是去不太稳定的外企或是小公司。回顾自己的职业经历,发现自己始终不喜欢太多条条框框的束缚。越是宽松的环境,越有干劲。长期疲劳作战效率反而很低下。最后还是选择一家外企,也是几人的初创团队,角色也开始偏运维一些。开始学习 k8s,gitlab,云平台这一套东西。发现这些技术栈恰好能够更好地补充我一直研究的持续化集成(CI)体系。因为只是有自动化测试这套东西还是不够的,还没有真正做到持续发布,只有把 dev-ops 融入到 CI 体系里面,才能真正做到持续发布。

东拉西扯说了这么多,最终总结重要几点:

最后附上一张出差拍的照片:
enter description here

第一次总结,欢迎小伙伴吐槽。本来想写一些面试攻略,发现有点长了,如果大家有兴趣,再单独写一篇。


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