仅工作3年,90后是怎么超过一些老前辈,折腾出「年薪百万」的?

对于年轻一代的职场人来说,年薪百万的门槛更容易跨过了吗? 

新招的应届生比老人工资高 —— 这两年, “ 薪资倒挂 ”   现象在互联网大厂频频出现 ,也成为职场老鸟心中的一抹隐疾。 

2022年互联网大厂校招薪资出炉,程序员岗位的总包年薪,最低也接近40w元。 而根据报告统计,2021年中国程序员年薪在25w以下的程序员接近7成。 

这也难怪年轻人在未来薪资的态度上颇为乐观。一项媒体调查显示,超6成大学生认为自己毕业10年内能年入百万。 

在脉脉上,有职场老鸟称,当年校招月薪8k,身边新入职的年轻人已经能开出15k-18k的价格,而自己埋头苦干两三年,薪资还是平静如死水 ,只恨自己没晚两年出生,年薪百万估计也是唾手可得。 

我们找到了位已经完成年薪百万这个“小目标”的90后,有人在大厂按部就班升职加薪,有人在独角兽企业弯道超车,从平平无奇的职场菜鸟,一步步打怪升级成大魔王。在他们眼中,年薪百万的公式确实有迹可循,但路径也没那么好复制。

我现在的公司是一家做人工智能的独角兽企业,到现在为止有3年多的工作经验。目前我的年薪底薪是70万,加上30万期权,也触到了百万的门槛。 

选择行业我其实没想太多,2018年软件测试是大热门,薪资开的比一般大厂更高。我刚出校园,觉得也挺酷炫的,一时冲动就入局了。 

我觉得年薪百万的公式就是——机会选对,然后从一而终。

第一个

关键决定是转变自己的发展方向,另辟蹊径。计算机行业内有严格的鄙视链,算法工程师是人上人。这个优越性是由薪资等级决定的,大企业给校招岗位的年薪都是明码标价,算法工程师毕业第一年总包年薪少说也有30万,也因此大家都挤破头入场,竞争非常激烈。 

迷茫期时,我也不知道未来该往哪个方向分流,但慢慢能感觉到自己做算法火候欠缺——我的优势不在这里,没必要硬做。经历了一段时间心态调整,我转向后端工程师。 

其实技术无优劣,只要发展自己的核心竞争力,让自己具备不可替代性,专注一个方向精细发展,到最后也能超越80%-90%的人,没必要拿自己和其他行业里的顶尖比。 

第二是

放弃大厂,转向独角兽企业。大四的我起初是在一家大厂实习的,刚干了2个多月,无意中遇见一个猎头,机缘巧合介绍了这家独角兽企业,我评估了一下觉得机会不错,就果断从大厂提前跑路,到这家企业实习了一年多,毕业后转正。 

相比大厂,小厂的竞争压力没那么大。我总共经历过4次调薪,因为个人绩效出色,每次幅度都在5-10k之间,现在也顺利做到公司的中层。但要是在大厂,阿里的375、腾讯的五星绩效没那么好拿,虽然大厂尖子的薪资涨幅会更高,但指标也是有限的。处在初创阶段的小公司本身很缺人,就不会有这种问题,更容易拿到不错的绩效。

第三是在职场斗争中坚定一心。任何公司都肯定存在内部斗争,我不算是漩涡中心的人,但也多少会被波及到。我的经验是——站队并不是一件坏事,前提是你要认准一方,然后坚定不移地跟着自己的leader走下去。

对公司新人而言,招我进来的人就是直系leader,我其实已经算他这边的了,类似于古代的门生观念吧。假如办公室存在派系斗争,早期两边实力一定是不分伯仲的。那么在互相摩擦这个阶段,双方手里都会有相应的筹码,你也不知道哪边会是赢家。 

此时要做的,不是去赌哪边是赢家,而是尽力跟着你的leader,让他成为赢家。 如果你的态度总是模棱两可、见风使舵,leader也不会愿意放手把最好的资源都交给你。中立并不是一件好事,你认为你是中立的,但没有人会真把你当成中立的,在他们眼里你都是对面的,是不稳定因素。

第三点

我始终认为,选择大于个人努力。只要机会选对,路也会走得轻松。错失良机,再忙碌也无济于事。 

一般人觉得程序员都是起早贪黑、拿命换钱的,但我入职以来其实很少晚于8点下班,我不喜欢加班。我的个性就是喜欢比较舒适的状态,拒绝内卷,这样也腾出了更多时间学习投资理财,每年理财收入也能有个小10万。偶尔也会搞点副业,和朋友开个网店之类的,虽然收入不太稳定,但也能占到总收入的3成。

实话讲,对于计算机行业来说,达成年薪百万的目标还是比较游刃有余。据我了解,校招生的薪资SSP级都能开到年薪总包60-70万了,对技术员工来说,年薪百万越来越不是一件那么困难的事,并不是说只有管理者才能够到百万的门槛。 

不过,行业瞬息万变,现阶段我想先把人生中的几件大事,结婚生子、买房买车都解决掉,以后就可以放开手脚,转个悠闲的行当也未尝不可。 

第四条

不能抗着时代潮流的冲刷“逆流而上”,那就会被“带走”,作为一个测试工程师,也要紧紧的跟紧步伐,技术是不会停滞不前的。

分享一下我在这段期间总结的一份测试资料吧,希望能帮助到有心在技术这条道路上一路走到底的朋友!

1、软件测试基础理论知识:

软件测试理论知识是开展测试工作的理论依据和支撑,是测试很重要的阶段必须掌握的技能。

  • 软件的质量模型:软件测试过程保障软件的质量,从哪些方面保障可以从质量模型出发思考

  • 测试分类:软件测试过程可以按照不同角度进行分类,基础测试到高级测试递进过程

  • 开发流程:告诉测试人员一个软件完整的生命周期,软件从无到有到消亡的过程

  • 测试流程:掌握并指导测试人员在实际项目中如何开展测试工作。这要求测试人员对常见的主流测试流程有较为透彻的理解。遇到不同的软件项目,知道从何处着实能最有效率的测试软件缺陷

  • 测试计划与方案:如何规划在项目中开展测试活动,确保测试活动有序进行

  • 设计用例方法:黑盒测试阶段必须掌握的一些测试用例的设计方法。比如黑盒测试用例的设计方法、测试用例元素等等

  • 软件缺陷:在测试执行过程中应该确定缺陷并提交缺陷报告

  • 缺陷管理:提交缺陷后在实际工作中如何和开发协助处理验证提交的问题。例如:bug的等级优先级分类、bug的描述、bug的生命周期、缺陷管理工具使用,如禅道等。

  • 测试报告:测试过程的回顾和结果确认,生成系统性的专业软件测试评估报告。

2、软件测试功底技术——Linux系统

linux系统是主要的服务端操作系统,也是从事IT岗位的大部分人员必须具备的基本技术之一。

  • linux系统基本知识:多用户,多任务,发行版本等

  • 常见 linux操作命令:日志查看,文件压缩、解压,用户管理,文件权限等

  • 会部署和配置基本的应用jdk、 mysql、 tomcat

  • docker安装使用

  • 编写基本的 shell RAD本

  • 远程终端工具使用: shell, xftps等

3、软件测试功底技术——Sql数据库

数据库作为软件系统必备的应用系统,在诸如接口测试、性能测试等等过程中往往需要操作数据库,验证数据正确性完整性,都离不开数据库的增删改查操作,在项目部署阶段数据库还需要配合项目部署。在性能测试、接口自动化测试中都需要数据库的支撑。

  • 数据库基本概念

  • 关系型数据库

  • MYSQL基本的增改查语句,存储过程

  • MYSQL复杂查询、多表查询

  • MYSQL索引及事务相关概念

  • 数据库客户端工具使用:如 Navicat

4、软件测试功底技术——编程语言

推荐没有编程基础的朋友可以学习Python语言

Python语言的学习内容包含以下知识点:

  • Python基础:Python语言特点、运行环境、基本语法、代码风格、示例程序

  • 数据结构:

基本数据结构:数字、字符串、类型判断、类型转换、切片、字符串格式化、数值运算、位置参数和关键字参数;

组合数据结构:列表、元组、范围、字典、集合、不可hash对象、解包、内存地数据结构址、不可变数据

  • 程序控制:顺序结构、循环结构、判断结构、异常处理、逻辑运算符

  • 函数:定义函数、函数的参数、返回值、变量作用域、匿名函数、常用内置函数

  • 模块和库:模块和包、import关键字、常用标准库、常用第三方库、包管理工具pip

  • 面向对象:面向对象起源和优势、面向对象的特性类和对象的联系、对象的特殊方法

  • 日志记录:baseConfig、文件日志、邮件日志、定制格式、内置占位符、等级过滤、分级传播、配置文件

  • 测试框架:unitest、pytest等

  • 并发编程:多进程、多线程、协程、线程池、同步控制、线程通信、分布式、猴子补丁、 async语法、生成器

  • 网络编程:socket编程基础、TCP服务端和客户端、并行请求处理、HTTP服务端和客户端

5、软件测试自动化进阶——接口测试

接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。

  • http/httpst协议学习

  • 常见请求方法学习:GET、POST

  • cookie和 session学习

  • 接口的基本概念

  • 接口文档认识

  • 接口测试用例编写

  • 接口测试工具使用:postman、Jmeter、SoapUl

6、软件测试自动化进阶——性能测试

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景。

  • 性能基本概念:性能测试意义、常见性能指标理解、性能测试的分类

  • 性能测试流程:性能需求分析、性能场景设计、测试脚本编写、测试执行资源监控、性能调优、回归测试

  • Jmeter及 roadrunner使用

  • 性能测试报告输出

7、软件测试自动化进阶——app自动化

越来越多的项目和系统通过移动端来提供服务,移动端的软件质量越来越重要,App自动化测试已经成为自动化测试的重要内容。借助Appium,使得App自动化测试和Web自动化测试有很多相通之处,不过作为测试工程师,依然需要掌握移动端应用的工具和特性。

  • Appium移动测试环境搭建:Appium ServerAppium和 Desktop、 Android运行环境搭建、模拟器安装和连接、真机设备调试模式、adb、 weditor、 - - UiAutomator22、 Monkey

  • Appium元素定位:原生应用元素定位、纯web应用元素定位、混合应用元素定位

  • Appium元素交互:等待元素加载,元素的基本属性和方法、滑动、拖动、缩放操作、下拉选择操作、 toast消息处理、常见控件分析、常见布局分析

  • 封装测试框架:集成Appium、adb等工具、预定义异常处理、记录Appium日志、屏幕截图、打造多用途测试框架

8、软件测试自动化进阶——持续集成和持续测试

持续集成和持续测试是一个在迭代中构建、测试产品并修复Bug的过程。它有助于团队在开发阶段的初期发现缺陷,这时的缺陷通常相对不那么复杂,并且更容易被解决。通过持续集成和持续测试,可以尽早地将错误风险降至最低,并加快交付更好质量的软件。

  • 版本控制Git:背景介绍、环境部署、工作区、暂存区和提交区、分支创建与合并、解决冲突、标签、 config与别名、本地仓与远程仓、 GitHub与码云

  • 持续集成 Jenkins:背景介绍、环境部署、文件结构、远程仓库与私服、ja包依赖、插件管理

  • 容器Docker:了解 Dockers的镜像、仓库、容器、 Docker Engine和架构图、网络设置、数据持久化

最后
最近断断续续整理了一些软件测试学习资源,主体内容包含:测试文档、测试工具安装包、自动化测试视频教程、性能测试、接口测试、面试技巧、简历模版、全套面试题等知识内容。目的是想了解一下大厂招聘的技术热点,不断提升学习。

大家在学习过程中还是要好基础,多上手实操,话不多说,这里再上一次干货!这是我整理好的各阶段技能学习资料+实操讲解,适合私下里学习563251944,比找资料自学高效多了,分享给你们,

送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了!
 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>