外包干了30天,技术明显退步。。
🍅 视频学习:文末有免费的配套视频可观看
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快
这次来聊一个大家可能也比较关心的问题,那就是就业城市选择的问题。而谈到这个问题,就不可避免地会谈到一些关于:机会?技术氛围?跳槽?薪资水平?等等一系列问题。
正好,这也是大家所常问的,我只能说来聊聊我的感受吧!
我觉得城市选择非常重要,尤其对我们普通人来说。大牛就不用扯了,去哪里都能安定,去哪里都有人向他抛出橄榄枝,这个咱比不了,也没有比的必要。
在一个城市待得越久,再换城市的代价就非常大了,这尤其在成家立业之后。
太过于年轻
讲实话快要毕业那会儿很多人心里是没有明确目标的,可能因为各个方面的机缘巧合,结合校招的一些offer情况,去到了自己当时认为很对的城市,其中有个同学叫李四(化名)来到了河北石家庄。这边他熟人多一些,离家也近一些,也没啥特别的感觉,来就来了。
所以接下来就以李四所生活的石家庄为例,分几大方面,来聊一聊生活工作的感受。
因为石家庄是一个比较典型的省会城市,类似于这样的省会城市很多,大部分省会城市情况估计也都大差不差,应该还是有一点代表性的。
技术氛围
在这里工作了一个月给他的感受是大量的写测试用例,自己写测试用例的能力熟练了不少,测试技能倒是没有多大的提高,真正需要技术的工作却因为能力的不够而没有机会,目前感觉有点困惑,他怀疑自己的规划方向是否正确了,是不是应该离开了?
作为一个程序员,肯定关心IT技术氛围,进而引申出来的是一些工作机会的问题
一、二线城市在IT技术氛围上的第一个比较明显的区别就是:一线大城市那些原生本土IT企业要多不少,所以技术氛围会很好,IT文化也更加繁荣,因此跳槽时候可选的机会的确要多不少。
所以像北京这类一线城市,基本知名的互联网/通信/软件公司的本部都在那儿,而且由这些大厂所衍生出来的一系列生态链或下游公司也多很多,所以机会更多。
二线城市则不然,本土萌芽出来的IT企业相较来说还是少了一点,大部分情况都是大公司所设的研发中心或者分部,所以技术氛围可能没有一线那么繁荣。
而且二线城市还有一个特点,那就是外包特别多,尤其是软件外包公司。记得之前自己在社招转行找工作时,明显有种受限制的感觉,出来真不知道去哪里,规模稍微大一点的就那么几家。
薪资水平
IT岗位薪资其实都不低,我想这也是很多小伙伴转行过来的一个重要原因。
不过我想大家都知道薪资这东西和太多因素有关:行业、地域、岗位、个人能力,等等。
本来这个东西它没办法给一个确定的结论,所以也只能根据我目之所及的世界和有限的案例,并只考虑普通情况来聊一聊,仅供参考而已。
就拿石家庄这地方为例,测试工程师工资区间如果硬要说一个数。对于应届本科生,拿个5、6K ~ 11、13 K,中位数万把块钱就已经很不错了;而对于应届硕士生,拿个10K ~ 18、19K应该基本差不多,中位数14、15K的样子,也就差不多这个样子了。
再说到社招的话,那情况就更没办法总结了,不同人区别的确有点大。总而概之,就像这种工作三四年左右的,在本地能拿个20K就已经很不错了,况且这还是能力不错的情况下。
那如果是像北上深圳这类城市,总体情况我想上浮个30、40%应该都属于正常情况。
再强调一句,这仅仅是个人的了解,毕竟有限,仅供参考!
测试岗就业
工作好不好找,其实对于人的综合实力,而跟年龄没有关系的。如果你是稀缺的人才,那么即使就业环境非常不好,你依然能够很好的就业,如果不是,即使大环境特别好,你依然就业不了。
所以作为测试工程师,你需要具备全栈工程师的修为和技术能力,具体来说就是可以很好的做功能测试,自动化测试,以及质量管理的能力。而不仅仅是只具备某一个特性,所以这点是非常重要的
毕竟软件测试行业还是属于技术岗位。既然是技术岗位,那就要靠技术说话。不断掌握新的技能,提高软件测试“找bug”的能力也就变成了目前测试人员迫在眉睫需要解决的问题。从招聘网拉勾和Boss大数据分析了解到:自动化测试/测试开发/性能测试 呈现出需求量大、待遇高、级别高、极度稀缺的特征。
拥有 1-3 年工作经验的测试,8K 是底线,15K 是常态,在 30 岁前年薪 50W+ 的也大有人在。
测试人如何摆脱低薪摸鱼状态,短时间内实现升职加薪呢?
有人通过不断“踩坑”来学习,有人报了课程,却发现鱼龙混杂,烧钱还学不到东西…
太多人走了不少弯路。
我特意花了一段时间整理编写了下面的《软件测试工程师发展规划路线》分享给大家参考,希望会给你带来实际性帮助和方向。
软件测试工程师发展规划路线
一、互联网程序原理
自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理
二、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
三、Shell脚本
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数
四、MySQL数据库
软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。
五、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的
六、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman
七、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理
八、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用
九、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心
十、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!
上面就是我整理出来的一份软件测试工程师全栈技术路径图。希望大家能在这个成长过程中收益良多。全方位提升测试技术,建立一套属于自己的技术体系。帮助大家不断学习和优化技术栈,跟进先进和主流的测试技术,给到大家带来的不仅仅是技术和薪资的提升,更多的是改变测试人在IT技术领域的地位和心态,拔高测试行业的技术深度。
同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】
7天Python自动化测试速成课,小白也能快速上手(项目实战)
相关文章:

外包干了30天,技术明显退步。。
🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 这次来聊一个大家可能也比较关心的问题,那就是就业城市选择的问题。而谈到这个问题&a…...

数据库 — 增删查改
一、操作数据库、表 显示 show databases;创建 create database xxx;使用 use xxx; 删除 drop database xxx;查看表; show tables; 查看表结构 desc 表名; 创建 create table 表名(字段1 类型1,字段2 类型2,.... ); 删除 drop table 表名; 二…...

eclipse搭建java web项目
准备条件 eclipsejdk1.8 (配置jdk环境)apache-tomcat-8.5.97(记住安装位置) 一 点击完成 开始创建javaweb项目 import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.s…...
gitlab-ci_cd语法CICD
工作原理 1、将代码托管在git 2、在项目根目录创建ci文件.gitlan-ci.yml 在文件中指定构建,测试和部署脚本 3、gitlab将检测到他并使用名为git Runner的工具运行脚本 4、脚本被分组为作业,他们共同组成了一个管道gitlab-ci的脚本执行,需要自…...

python 蓝桥杯之动态规划入门
文章目录 DFS滑行(DFS 记忆搜索) 思路: 要思考回溯怎么写(入参与返回值、递归到哪里,递归的边界和入口) DFS 滑行(DFS 记忆搜索) 代码分析: 学会将输入的数据用二维列表…...

[LeetCode][102]二叉树的层序遍历——遍历结果中每一层明显区分
题目 102. 二叉树的层序遍历 给定二叉树的根节点 root,返回节点值的层序遍历结果。即逐层地,从左到右访问所有节点。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] 示例 2: 输入…...

GIS之深度学习10:运行Faster RCNN算法
(未完成,待补充) 获取Faster RCNN源码 (开源的很多,论文里也有,在这里不多赘述) 替换自己的数据集(图片标签文件) (需要使用labeling生成标签文件…...

appium2的一些配置
appium-desktop不再维护之后,需要使用appium2。 1、安装appium2 命令行输入npm i -g appium。安装之后输入appium或者appium-server即可启动appium 2、安装安卓/ios的驱动 安卓:appium driver install uiautomator2 iOS:appium driver i…...

基于springboot+vue实现高校学生党员发展管理系统项目【项目源码+论文说明】
基于springboot实现高校学生党员发展管理系统演示 摘要 随着高校学生规模的不断扩大,高校内的党员统计及发展管理工作面临较大的压力,高校信息化建设的不断优化发展也进一步促进了系统平台的应用,借助系统平台可以实现更加高效便捷的党员信息…...

Java代码审计安全篇-常见Java SQL注入
前言: 堕落了三个月,现在因为被找实习而困扰,着实自己能力不足,从今天开始 每天沉淀一点点 ,准备秋招 加油 注意: 本文章参考qax的网络安全java代码审计,记录自己的学习过程,还希望…...

C#实现快速排序算法
C#实现快速排序算法 以下是C#中的快速排序算法实现示例: using System;class QuickSort {// 快速排序入口函数public static void Sort(int[] array){QuickSortRecursive(array, 0, array.Length - 1);}// 递归函数实现快速排序private static void QuickSortRecu…...

upload-labs通关记录
文章目录 前言 1.pass-012.pass-023.pass-034.pass-045.pass-056.pass-067.pass-078.pass-089.pass-0910.pass-1011.pass-1112.pass-1213.pass-1314.pass-1415.pass-1516.pass-1617.pass-1718.pass-1819.pass-19 前言 本篇文章记录upload-labs中,所有的通过技巧和各…...

Nginx实现高并发
注:文章是4年前在自己网站上写的,迁移过来了。现在看我之前写的这篇文章,描述得不是特别详细,但描述了Nginx的整体架构思想。如果对Nginx玩得透得或者想了解深入的,可以在网上找找其他的文章。 ......................…...
华为荣耀终端机试真题
文章目录 一 、字符展开(200分)1.1 题目描述1.2 解题思路1.3 解题代码二、共轭转置处理(100分)2.1 题目描述2.3 源码内容一 、字符展开(200分) 1.1 题目描述 // 64 位输出请用 printf(“%lld”)给定一个字符串,字符串包含数字、大小写字母以及括号(包括大括号、中括号…...

C++ Qt开发:QNetworkInterface网络接口组件
Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QNetworkInterface组件实现查询详细的…...

Luajit 2023移动版本编译 v2.1.ROLLING
文章顶部有编好的 2.1.ROLLING 2023/08/21版本源码 Android 64 和 iOS 64 luajit 目前最新的源码tag版本为 v2.1.ROLLING on Aug 21, 2023应该是修正了很多bug, 我是出现下面问题才编的. cocos2dx-lua 游戏 黑屏 并报错: [LUA ERROR] bad light userdata pointer 编…...
c++ 常用新特性总结【c++11】,【c++14】,【c++17】,【c++20】
文章目录 常用的c11新特性1.自动推导类型(auto)2.lambda表达式3.智能指针4.范围for循环5.右值引用 - 移动语义6.类型别名7.constexpr8.static_assert(静态断言)9.nullptr10.列表初始化11.继承构造函数12.显示虚函数重载(override)13.final14.变长模板参数15.新的容器与算法16.强…...

Feign实现微服务间远程调用续;基于Redis实现消息队列用于延迟任务的处理,Redis分布式锁的实现;(黑马头条Day05)
目录 延迟任务和定时任务 使用Redis设计延迟队列原理 点评项目中选用list和zset两种数据结构进行实现 如何缓解Redis内存的压力同时保证Redis中任务能够被正确消费不丢失 系统流程设计 使用Feign实现微服务间的任务消费以及文章自动审核 系统微服务功能介绍 提交文章-&g…...
CSS 常见属性设置
一. 文本属性 1.1. 装饰线 text-decoration text-decoration有如下常见取值: none:无任何装饰线(可以去除a元素默认的下划线)underline:下划线overline:上划线line-through:中划线(删除线&…...

docker学习入门
1、docker简介 docker官网: www.docker.com dockerhub官网: hub.docker.com docker文档官网:docs.docker.com Docker是基于Go语言实现的云开源项目。 Docker的主要目标是:Build, Ship and Run Any App, Anywhere(构建&…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...