周一发工资了,到手12857.65,美滋滋
今年是我毕业参加工作的第3年,工资终于来到5位数了。上一家公司月薪7000,实际拿到手就6450左右,感觉今年真的是元气满满啊,工资翻倍,良好的人生开端。
想起一个段子,也是事实吧:当你在一家公司提出加薪申请时,十有八九领导是不会同意的,除非你做出很大的贡献,但这个贡献又如何界定呢?所以说白了,你不辞职,工资就永远无法提升,这个是打工人必须要懂的事实,既然加薪无望,就要赶紧做好提桶跑路的规划。
关于这一点,我再和大家说两个案例。
第一个,我大学同学,毕业后在一家公司做后端开发,薪资6.5K,后来跳槽到另一家,变成9.5K,然后今年不干开发了,觉得累,进坑深圳平安做外包测试,14.5K。
第二个,我上一家公司测试小姐姐,做了两年半,现在薪资还是8K,不知道是去年还是前年,她和领导提过几次涨薪,不过领导很精,说涨薪也可以,你得给公司带来实际贡献,咱上面说了,这个贡献是没法界定,所以老板们会有各种理由搪塞你。但念在这个女同事工作还很认真,最后给人家涨了500块,你没看错,就是500。
关于我自己做软件测试的经历
说起来就是一匹布那么长。
我是正儿八经的大学本科、软件工程专业出身的。学过c++、java等(不过从实习我就一直做软件测试,代码早就没碰过了,所以几年过去这些都还给老师了,哈哈)。
我当初为什么会选软件测试呢?这要从大二说起了,所以我上面才说一匹布那么长......大二的时候,系里开始划分专业方向,虽然同为软件工程,但分成了软件开发、软件测试两个方向。目的就是分开培养、专注一项、精准就业,比如开发方向的同学,大二就要学数据结构、算法、框架(Spring MVC等),测试方向的就学自动化测试,比如LoadRunner、QTP、JUnit等等。当然了,基础的课程还是差不多的,都要学,比如数据库mysql、linux操作系统、C++、java、PHP、HTML。
划分方向的时候,我请教了系里的老师,老师告诉我,其实做软件测试并不像大家想得那么简单,因为测试工程师也是要在代码基础上学的,不比开发的同学差。听到老师的肯定,我就选了测试,没想到从此就进坑软件测试了。。。
实习
2018年,大三第二学期,大四的学姐学长已经答辩完,开始处理毕业手续。学校要求大三的同学要在暑假实习了,毕竟实习也有2个学分,得修满学分才能拿到毕业证、学位证。
2018年7月,我进了一家K12教育公司,当起了软件测试实习生,这是我人生第一次参加工作,也是步入软件测试的开端。
实习期间,工资是按天算的,135/天,那时候也算是全职实习了,因为大三之后学校就没有课程了,可以专心实习。
10月,公司给我转正了,但是我要忙着做毕业设计,转正没一个月就辞职了。
我在那三个月的实习中,跟着测试组老大学了很多,都是学校没教过的,比如jmeter、postman、charles、airtest、adb shell等等。
可以这么说吧,我到目前还在用着这些测试工具,以及基本的测试知识,都是在基于实习那时候的,所以非常感谢那时候的前辈,我的测试组长,愿意手把手教我。这也说明了一件事:大学里面教的东西,除了代码比较有用,可能其他的课程都是鸡肋,企业不怎么用,很多知识还得靠自己学习,比方说我学校里学的LoadRunner,这种是需要购买授权的,相比之下,企业就更愿意使用开源的jmeter。
插一点题外话:当初我实习辞职签手续的时候,前辈叮嘱我可以多学一点前沿的技术,这样的话你的测试生涯都更顺畅。但那时候我急着跑路,所以他说的话我很快忘了。。。
现在回想起来,真的很感动,非常感谢那会儿前辈对自己的栽培,很用心教导,这也从侧面说明了,在你成长学习的过程,如果能有一个大佬带着,那就真的太好了,可以让自己少走很多弯路。
ps:部门老大很年轻,那会儿应该也是刚毕业一两年吧,我面试的时候,HR小姐姐说他是大神来的,啥都懂。同样是毕业一两年,我还拿着7000的工资,卑微当起一个打工人,人家那时候早已经是大神了。2019年初,我这位前辈也辞职了,我去boss看了一下他们发出来的招聘信息,才知道前辈的岗位,工资是20-25K,实名羡慕了,这人与人的差距咋就这么大呢。
毕业后第一份工作
2019年,参加完论文答辩,也开始网上投简历了,那时候的我菜鸡一枚,面了很多家,很多都碰壁了,不过中间也有几家面试通过了。
比如有一家小游戏公司,应该是他们项目组长面我的,问了我一个技术上的问题,因为他了解到我学过java,简历上写着实习的时候,测过一个申请会议的小程序项目,他就问我如果同一个时间,有两个人申请同一个会议室,你怎么解决这个逻辑?我当时回答的是,如果都是同一瞬间发起请求,那么可以随机把其中一个申请踢出去,告诉他会议室已被占用,请换一个会议室。面试官就问了我如何解决这个冲突的逻辑,没问我代码上怎么实现,不过我的回答貌似得到了他的肯定。面完之后,感觉挺愉快的,不过这家公司有点看不懂,我以为谈得不错,当天会给我消息,但是等了三天才告诉我面试通过了,可是那个时候我已经答应去了另一家公司。
还有一家公司也是面试通过的,但我压根不想去,他们开出的工资太低了,我期望薪资5000,面试官说5000给不了,然后我说4500,对方又说因为公司怎么样怎么样,所以最后给的3800,我迷糊了,那和我去年实习待遇有啥区别嘛?而且这家公司环境本来也不好,我跟着导航来,结果来到一个工业区,周围是民居楼,旁边是厂房,导航一路走还错过了地址,最后回头,抬头一看,才赫然发现公司名字,公司在四楼,三楼就是一家制衣加工厂,本来我就有点犹豫要不要去,没想到这面试官还这么“讲道理”,开出的条件这么“优厚”,我真的是感谢你啊,听我说谢谢你,因为有你......3800的工资,我还不如去三楼制衣厂打工呢,说不定一个月都有6000。
后来进了一家公司,上面说了,那家小游戏公司其实我是面试通过的,但因为他们拖了三天才给我消息,所以我就不等它了,去了另一家公司。至于这家公司做什么的我就不想说了,因为很坑,加班严重,偶尔还要出差,报销拖了三个月才给人家发下来。。。这一份工作,薪资5000,在广州也只是解决温饱而已,好在我单身,每个月还能省出2000块钱,哈哈。
这家公司很坑,所以我就不重点展开讲了,一个不想提及的经历,也让我白白浪费了大半年的光阴。
毕业后第二份工作
第一份工作,干了半年就跑路,因为口罩原因,辞职后我在广州待了一阵子,想着等疫情缓解了再出来找工作,待了才一个月,就忍不住了,又开始投简历。
但不出我意料,这一年找工作很难,年初疫情冲击,很多小公司都倒闭,不倒闭的公司,也基本不招人,加上自己简历没什么亮点,除了之前一份实习经历,和第一份做了半年的工作,简历几乎都是空白的,期间我也接到过几次面试机会,但无一例外地,人家要求都很高,薪资只开8-10(实际只能给8,这个套路大家都懂吧),但要求自动化测试、python语言,还有些要求性能测试,那时候的我就是一枚菜鸡,加上面试经验不足,感觉好差,每次面完之后,自己都觉得要挂了。。。
到了五月份,距离我上一份工作辞职已经两个月了,心态也崩了,因为失业时间越长,就越焦虑,倒不是因为没钱,我那时候还有存款两三万,网上兼职一个月也有2000,也足够活半年一年了,我只是单纯觉得失业很难受。
有一次去天河高普路软件园面试,面试官说他们公司是用LoadRunner做压测的,然后就是说我上一份工作也没用过它,只是学校里面学过,没有实际经验,然后就把我pass掉了......
还有一次,面试结束,走去公交站的路上,接到一个电话,说是某家人力资源的HR,其实就是外包无疑啦,因为我在网上投过很多简历,所以接到一些HR的电话也不出奇,对方说看过我简历,想帮我推荐去腾讯,但是我犹豫了,因为我简历很烂,没啥亮点,但我没想到的是这个HR说你可以改一下简历呀,包装一下,我无语了,去大厂简历造假,这是要把自己职业生涯断绝的节奏。我不想搞简历包装,然后就没然后了。
再有一次,去了某家医药公司面试,公司环境不错,是一个创意园,也有其他互联网公司在那里,今年我有一个同学也是从那里某家公司离职了,但那个创意园叫啥我忘了。面试官是个男的,有点奇葩,面试过程中他电话响了,就打断我,接电话,然后我就尴尬地坐在他对面。接完电话,面试继续,他问我期望薪资是多少,回答9K,因为我觉得医药行业不差钱,心想叫个9K是可以的,没想到对方直接来了句:有点低呀,是不是对自己没信心?对方翻着我简历,还抬头瞄了我一眼,我真是无语了。后面还问了我平常有啥兴趣爱好,我说自己比较喜欢在某些论坛或者自媒体写写文章,这货直接说不错呀,什么号,让我关注一下。我心里真的是MMP......好吧,这场面试又挂了,碰上这么奇葩的面试官。
总之那段时间就很难受,第一是失业太久了,焦虑、不安;第二是面试经常被挂,被打击;第三,越是面试,就越觉得自己太菜了,面一个就挂一个,越来越怀疑人生。
不过生活还得继续嘛,继续修改简历,继续投。
后面接到了一次面试机会,本来也觉得没啥希望,但还是去试试。面试我的是一个挺和善的小伙子,没怎么问我技术上的东西,就问了软件测试的流程、给你一个功能或模块,你会从哪些地方入手测试?如果要加班,你会怎么做?
感觉也没什么难的。。。面完之后,我在地铁上收到了HR的信息,就是面试通过了,薪资7K,试用期按照80%发放,下周一入职。
收到offer后,心情既开心,又有点犹豫,开心的是因为失业两个月,处处碰壁,现在终于找到工作了;犹豫的是这家公司环境不怎么好,我从地铁下来,导航走了20分钟来到一个产业区,然后又兜兜转转十几分钟才找到这家公司的地址,周围啥都没有,一家互联网公司在这么偏的地方,也是意想不到。
不过我还是决定去,毕竟失业太可怕了,以后再也不想经历这个样子,煎熬、狼狈、备受打击......不管公司怎么样,先去了再说。事后证明,我当初的决定是对的,也就是从这家公司开始,我的软件测试生涯开启了质的飞跃。
前一半,碌碌无为;后一半,自我学习
首先是这一年因为口罩缓解,经济恢复迅速,电商行业发展蓬勃,公司在这一年业务扩展得很快,需求一下变多了,加上这个项目是公司主打的,很多客户都是冲着这个新的saas平台来的。
在两周一次迭代的频率下,每次迭代的功能却多了很多,就只有我一个测试,所以我压力就很大了。
上半年越来越忙,就算感觉到自己技能跟不上,但也没时间去学习了,所以上半年我都是一种得过且过的心态,总想着忙完这一次迭代,抽出时间再学,但总是被其他乱七八糟的事情打乱,比如上线后的残留问题呀、客户群里的问题解答呀、以及本应该是上线之后大家终于有几天休息了却总是被中途插进来的需求搞得焦头烂额。
就开始越来越不满了,薪资低、又忙、加班又多、又没有机会学习,自我提升......
同时自己也看到周围的朋友也都开始跳槽,薪资从之前的7K、9K涨到了12、15,自己也开始焦虑了。
有一段时间里,在我们公司短暂做过高级测试的前同事(公司也有招过新的测试大佬,想着靠高级的测试来推进项目的规范化以及提高效率,不过他们都干了一两个月就跑路了.......),给我发了消息,说他离开公司以后去了琶洲某家公司,当测试组长,薪资20K(我问过他当初公司给他开的多少,他说15),他问我有没有兴趣来他公司,一起发展。我和他聊过几次,他说他之所以联系我,是因为他和我在这家公司一起共事的时候,和我聊得来,如果我有辞职的打算,愿意学习的话,可以考虑来他公司,他愿意带我。
我当初听了很心动,因为有大佬愿意带,当然是求之不得,但奈何当时我实在太忙了,被那些迭代需求缠身,根本都还没开始规划自己的下一步,所以很犹豫,就婉拒了。
也是从那时候开始,我就知道也是时候要下定决心摆脱这些糟糕的事情了,种种迹象都表明,我在这家公司已经没有发展的空间了,各种不满、焦虑,迫使我开始规划自己的下一步职业打算。也是从2021下半年开始,开始了我的自学之路。
如何规划自学?
这是一个很重要的问题,因为没有事先规划好,想到什么就学什么,这样效率会很低的。我当初按照自己的实际情况,做了以下大致思路上的规划:
1、先学jmeter、postman,结合抓包工具charles一起学(和fiddler任选一个就够了,我是因为实习的时候接触的就是charles,所以我个人更倾向于它)
另外,jmeter接口测试结合charles抓包一起学习,效率会更高。jmeter既可以做接口自动化测试,又可以做性能压测,所以当初我直接从jmeter+charle学起,一举三得。后面我又从博客园、CSDN这些论坛,学了jenkins持续化集成,把我负责的saas项目主流程1000多个接口集成了一个自动化框架,上线前跑几遍脚本,都能知道哪些业务逻辑通没通,效率挺不错的。
2、接着就是学mysql、linux,这两个在面试中问得最多,我当初很多面试就是挂在了不懂mysql、linux。不管是应付面试,还是实际中应用,我觉得都要学会。
3、python自动化一定要学。因为python相对上面的比较难,特别是没有代码基础的小伙伴,我都是建议先学基础,后面再学python,一步一个脚印。
4、在空余时间,学一些比较有用的小技能,比如adb shell、monkey,在安卓APP测试中肯定会用到。
5、性能测试属于软件测试中的王冠,有条件也尽量学。
在哪学?
B站。我当初想到的是去B站搜相关的课程视频,哪个评论量、点赞量最多,就看哪一个。当初我就是凭借B站,白天搬砖晚上刷视频,白嫖那些培训机构的公开课,把jmeter学会了,像跨线程调用token、接口上下关联、参数化、json提取、正则表达提取、jp@gc压测监控、jmeter+ant+jenkins接口自动化测试,等等。
其次是论坛,比如博客园、CSDN。大家不要觉得这些论坛很low,个人认为,如果是小白入门,从这些论坛自学,会比报培训更划算,里面有很多大神分享的文章,都是干货,唯一的缺点就是太乱了,你要不停地搜,不停地看各种文章,从别人写的文字中提取到自己想要的知识。
以我自己为例,最初学python,我学的是python+requests+unittest+HTMLTestRunner接口自动化测试框架,也是从这些论坛学的,肯定会有相关的文章告诉你怎么解决某些问题。
下半年开始,我按照上面的规划,先学了jmeter、postman、charles,之后恶补mysql、linux,最后是python。多说一句,我的自学并不是大家想得那样,三个月或者五个月就完结了,这个自学是一个循序渐进的过程,有时候你花一个月时间学完jmeter,到了某一天又发现jmeter可以用另一种方式去玩得更高级,然后又去学了,所以学习应该是一种持续的过程,学无止境。
ps:自学的时候最好是结合自己公司的项目来,因为你手上有这么一个系统性、企业级的项目给你练手,当然是事半功倍了,比如我提到过的,我学了jmeter之后,把我负责的saas项目主流程1000多个接口集成了一个自动化框架,既可以解决公司当时的难题,又能够给自己练手,积累实战经验,方便跳槽的面试问答。
python
我自学python的时候,是直接拿网上的框架来做的,套用大神们的代码,然后自己修改,把它应用在公司的项目,这样自学其实效率不错,不过也有缺点,因为我不是从零开始学,所以刚开始对基本的语法也还没搞懂,往往在调试程序的时候,一个很小的BUG都要排查大半天才知道是语法用错了......
这个就因人而异吧,有人觉得从零开始学比较好,我自己就喜欢先学了自动化框架,套用别人的代码,再慢慢模仿,遇到不懂的直接网上查。
关于python,我目前是学了接口自动化,没有学UI自动化,所以UI自动化这一块也是我的弱点,最近也是在自学中。
辞职跑路,月薪终于过万了
时间一晃来到了2022,我内心想要辞职跑路的想法已经越来强烈,已经没有人可以阻挡我了。
本来按照我的计划,我应该是春节后拿了年终奖就马上辞掉,但因为二月末上海口罩的原因,全国各地口罩反扑,我不得不推迟计划。到了四月份,我忍不住了,因为再这样拖延下去我就等到下半年才能跑路,一方面我也怕公司突然又搞什么项目,把我调过去,到时候就更加难脱身了。
所以四月中旬,马上修改好简历,在主流的几家招聘APP投了再说,当时期望是12K,但考虑到招聘信息给出的薪资水分很大,比如说写着15-20,那肯定不会给你20,能给15就不错了,所以我当时集中投递的都是15以上的,这样谈薪资的空间才会更大。
其次,拒绝外包。并不是说外包公司就不好,而是我觉得自己作为一个三年经验,年纪也到了25、26,再考虑外包的话,不利于自己的职业发展,如果我是应届生,头一年去外包倒无所谓。
自从我在招聘APP上设置简历公开后,每天都有20、30个外包公司HR主动找上门,那么为什么外包公司特别喜欢找三年经验的?
个人浅见,如果是一年测试经验,那经验欠了火候,如果超过三年经验,又怕这个候选人不满足外包,招进来了也不稳定。所以三年测试经验就恰到好处,不多也不少。再者,大多数外包测试岗位,依旧是以功能测试为主,每天就是写写用例、点点点,如果说某一个候选人已经有三年经验,又会jemetr、postman、charles、mysql、 接口测试、python等等,那他在HR眼里就是一个很不错的候选人,绝对符合甲方爸爸的要求,给10K到12K的薪资,把他挖过来当工具人.....
但我不想去外包。。
投了简历,很快也有自研岗位的测试找上门,我现在这家公司就是自研的项目,HR先是问了是否本科?我直接回复,全日制统招本科,学信网可查。
ps:有一点要说明的,现在99%的互联网企业,招聘要求都是本科或以上学历,大专都很呛,所以学历这道门槛,是很多人想转行做软件测试跨不去的天堑,所以咱们也别把软件测试想得那么容易,特别是培训机构对你说的承诺培训三个月就月薪过万,那肯定是忽悠的,如果连大专学历都没有,确实很难。
好,回到我们正题。经过简单沟通,然后就是第一轮面试,HR电话面试,主要问了为什么要离职、在项目中负责的是什么业务,担任什么角色,还问了一些平常用到了什么测试工具。反正这些就自己看着来回答,不难。
后面就是笔试和视频面试,我还特意请假了半天回去。笔试是线上的,50道题,前面是选择题和判断题,都是一些基础理论,比如测试流程、用例设计、β测试、阿尔法测试、接口测试相关等等,都是网上找得到的面试题。唯一有点难度,能体现面试者水平的,就是主观题,考linux命令、mysql,让你手写linux命令,比如对某个文件修改权限,mysql就考了学生表、课程表、成绩表,然后让你多表查询。
所以不会linux、mysql的小伙伴,赶紧回去补,面试必考的。
笔试结束后,我也不知道成绩如何,个人觉得选择题和判断题,大部分都应该是对的,除了有几道题很难确定。。。主观题的话,linux命令行和mysql我觉得都写对了,因为我之前自学就刷到过,特别是linux修改文件权限,很简单的,以及mysql学生表、班级表、成绩表这道题,感觉就是从他们网上copy下来的。
笔试结束后,过了大概十五分钟,就是视频面试。主要问了印象最深的BUG、linux如何动态查看日志、python自动化数据驱动是如何做的、python自动化框架如何分层......
这些我都会,面试之前也做了准备,所以难不倒我,整个面试,都很顺利,就是视频的时候,我电脑声音有点小,有好几次都听不太清楚面试官在问我什么,有点印象不好。。
视频面试结尾的时候,面试官照例问了我一下“你有什么问题想问的吗?”(这是一个经典带雷的问题)
我先是问了面试官线上笔试的一个问题,因为我笔试的时候不太确定这个问题的答案,就想问一下对方,谁料面试官也说他不是很清楚......
然后我问的第二个问题,就是他们公司,任务的划分是按照小组,还是个人划分。因为在上一家公司我就是一个人负责整个项目,如果项目很大的话,会把人累死的,所以我比较在意这个。面试官给我的答复是个人、小组都有,就是交叉测试的,他的意思应该是某个项目可能很大,需要几个测试一起协助,有的可能就是一个测试负责一个小项目。
其实我当时并不怎么在意面试官给我的答案,因为都到了最后一个问题,我只是想顺利地把这场面试结束掉,不至于说前面挺顺利的,结果面试官问我还有什么问题想问的吗,我总不能说“没有了”吧?
面试结束后,个人感觉良好,相比前两年自己还是小白一枚的时候,现在的面试一下子就能感受到自己进步了很多。
后面敲定薪资,原本HR说14K,但后面经过我的忽悠,说自己手上有两个offer,对方就给我涨了500,就是14.5,13薪。
从此,入坑软件测试3年,自己也终于达到上万工资了,也不枉自己的一番努力。
不过这应该是我职业生涯的开端,而非是终点,因为14000的工资只是一个过渡罢了,最终目标还是要拔高到20000以上,争取学完UI自动化、性能测试,早一点实现。
最后希望大家合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!点击下方小卡片均可以分享。