在字节跳动做了6年测试,5月无情被辞,想给划水的兄弟提个醒

news2024/11/17 22:35:35

先简单交代一下背景吧,某不知名 985 的本硕,17 年毕业加入字节,以“人员优化”的名义无情被裁员,之后跳槽到了有赞,一直从事软件测试的工作。之前没有实习经历,算是6年的工作经验吧。

这6年之间完成了一次晋升,换了一家公司,有过开心满足的时光,也有过迷茫挣扎的日子,不过还算顺利地从一只职场小菜鸟转变为了一名资深划水员。

在这个过程中,总结出了一些还算实用的经验,有些是自己领悟到的,有些是跟别人交流学到的,在这里跟大家分享一下。

学会深入思考,总结沉淀
我想说的第一条就是要学会深入思考,总结沉淀,这是我觉得最重要也是最有意义的一件事。

先来说深入思考。在程序员这个圈子里,常能听到一些言论:我这个工作一点技术含量都没有,每天就 点点点,这 TM 能让我学到什么东西?抛开一部分调侃和戏谑的论调不谈,这可能确实是一部分同学的真实想法,至少曾经的我,就这么认为过。后来随着工作经验的积累,加上和一些高 level 的同学交流探讨之后,我发现这个想法其实是非常错误的。

之所以出现没什么可学的这样的看法,基本上是思维懒惰的结果。任何一件看起来很不起眼的小事,只要进行深入思考,稍微纵向挖深或者横向拓宽一下,都是足以让人沉溺的知识海洋。

再来说下总结沉淀。这个我觉得也是大多数程序员比较欠缺的地方,只顾埋头干活,可以把一件事做的很好。但是几乎从来不做抽象总结,以至于工作好几年了,所掌握的知识还是零星的几点,不成体系,不仅容易遗忘,而且造成自己视野比较窄,看问题比较局限。

适时地做一些总结沉淀是很重要的,这是一个从术到道的过程,会让自己看问题的角度更广,层次更高。遇到同类型的问题,可以按照总结好的方法论,系统化、层次化地推进和解决。

可以多写技术文章,多分享,强迫自己去思考和总结,毕竟如果文章深度不够,大家也不好意思公开分享。

积极学习,保持技术热情
最近两年在互联网圈里广泛传播的一种焦虑论叫做 35 岁程序员现象,大意是说程序员这个行业干到 35 岁就基本等着被裁员了。不可否认,互联网行业在这一点上确实不如公务员等体制内职业。但是这个问题里 35 岁程序员并不是绝对生理意义上的 35 岁,应该是指那些工作十几年和工作两三年没什么太大区别的程序员。后面的工作基本是在吃老本,没有主动学习与充电,35 岁和 25 岁差不多,而且没有了 25 岁时对学习成长的渴望,反而添了家庭生活的诸多琐事,薪资要求往往也较高,在企业看来这确实是没什么竞争力。

而如果我们积极学习,保持技术能力、知识储备与工作年限成正比,这到了 35 岁哪还有什么焦虑呢,这样的大牛我觉得应该也是各大公司抢着要吧?但是学习这件事,其实是一个反人类的过程,这就需要我们强迫自己跳出自己的安逸区,主动学习,保持技术热情。在滴滴时有一句话大概是,主动跳出自己的舒适区,感到挣扎与压力的时候,往往是黎明前的黑暗,那才是成长最快的时候。相反如果感觉自己每天都过得很安逸,工作只是在混时长,那可能真的是温水煮青蛙了。

刚毕业的这段时间,往往空闲时间还比较多,正是努力学习技术的好时候。借助这段时间夯实基础,培养出良好的学习习惯,保持积极的学习态度,应该是受益终身的。至于如何高效率学习,网上有很多大佬写这样的方法总结文章

(一)调整好心态

心态是一个人能否成功的关键,如果不调整好自己的心态,是很难静下心来学习的,尤其是现在这么浮躁的社会,大部分的程序员的现状就是三点一线,感觉很累,一些大龄的程序员更多的会感到焦虑,而且随着年龄的增长,这种焦虑感会越来越强烈,那么唯一的解决办法就是调整好自己的心态,要做到自信、年轻、勤奋。这样的调整,一方面对自己学习有帮助,另一方面让自己应对面试更从容,更顺利。

(二)多读Bug

平时多与同事沟通,抽出部分时间去阅读同事提出的bug,了解同事找出bug的过程 。从别人找到Bug的经验中可以学到很多东西,也能提高自己的观察力。

(三)设计你的测试

无论是寻找边界值,运用组合技术,画图表,或创建测试模型,把你的想法放进你的测试设计中总是有用的。在试探性测试的时候,有意识地去交替你的测试计划和产品学习,不断尝试找到更简便更适用的方法。

(四)时间挤一挤,制定好计划

一旦下定决心要提升自己,那么再忙的情况下也要每天挤一挤时间,切记不可“两天打渔三天晒网”。另外,制定好学习计划也是很有必要的,有逻辑有条理的复习,先查漏补缺,然后再系统复习,这样才能够做到事半功倍,效果才会立竿见影。

(五)持续学习技术知识,更新自己的知识储备

学习对每个人来说都应该是一个持续的过程,毕竟时代在不停的发展。如果停止学习,原地踏步,那么很容易就会成为被拍在沙滩上的前浪。对于测试人员来说也是一样,想要成长,不落后于人,就得一直学习新知识,掌握新技能。而且互联网时代,获取知识的渠道也异常的丰富和便捷,视频课程、公开课、各种资源种类繁多。跟上行业的发展,才能不被行业所淘汰。

主动承担,及时交流反馈
前两条还是从个人的角度出发来说的,希望大家可以提升个人能力,保持核心竞争力,但从公司角度来讲,公司招聘员工入职,最重要的是让员工创造出业务价值,为公司服务。

虽然对于校招生一般都会有一定的培养体系,但实际上公司确实没有帮助我们成长的义务。而在能为公司办成事,创造价值这一点上,我觉得最重要的两个字就是主动,主动承担任务,主动沟通交流,主动推动项目进展,主动协调资源,主动向上反馈,主动创造影响力等等。

我当初刚入职的时候,基本就是 leader 给分配什么任务就把本职工作做好,然后就干自己的事了,几乎从来不主动去跟别人交流或者主动去思考些能帮助项目发展的点子。自以为把本职工作保质保量完成就行了,后来发现这么做其实是非常不够的,这只是最基本的要求。

而有些同学的做法则是 leader 只需要同步一下最近要做什么方向,下面的一系列事情基本不需要 leader 操心了 ,这样的同学我是 leader 我也喜欢啊。入职后经常会听到的一个词叫 owner 意识,大概就是这个意思吧。

在这个过程中,另外很重要的一点就是及时向上沟通反馈。项目进展不顺利,遇到什么问题,及时跟 leader 同步,技术方案拿捏不准可以跟 leader 探讨,一些资源协调不了可以找 leader 帮忙,不要有太多顾忌,认为这些会太麻烦,leader 其实就是干这个事的。

如果项目进展比较顺利,确实也不需要 leader 介入,那也需要及时把项目的进度,取得的收益及时反馈,自己有什么想法也提出来探讨,问问 leader 对当前进展的建议,还有哪些地方需要改进,消除信息误差。做这些事一方面是合理利用 leader 的各种资源,另一方面也可以让 leader 了解到自己的工作量,对项目整体有所把控,毕竟 leader 也有 leader,也是要汇报的。

可能算是大家比较反感的向上管理吧,有内味了,这个其实我也做得不好。但是最基本的一点,不要接了一个任务闷着头干活甚至与世隔绝了,一个月了也没跟 leader 同步过,想着憋个大招之类的,那基本凉凉。

一定要主动,可以先从强迫自己在各种公开场合发言开始,有问题或想法及时 one-one。

一套系统提升学习的好资料
这里给大家整了一套涵盖软件测试面试资料和自动化测试工程师进阶路线的快速学习方法和资源。

1. 自动化测试必备Python编程内容 

2. Web UI 自动化测试基础内容  

3.Web自动化测试实战内容  

4. APP UI 自动化测试基础内容  

5. APP UI 自动化测试实战内容  

6. API 接口自动化测试基础内容 

7. API 接口自动化测试实战内容 

8. CICD持续集成专项技术 

9. 自动化测试框架实战技术 

根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。我也是走过这样一段路,才能获得更多高薪职位的机会,付出终有回报,也算是对我能力的一种认可吧,真正的证明了自己的价值。至少税后30+的薪水是我当前状态下比较满意的。

END绵薄之力
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/563531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

API接口测试—详情版(拼多多根据ID取商品详情)

一、为什么要做接口测试 做接口测试的原因主要有以下几个方面: 1. 确保接口功能正确性:接口是不同软件系统或者不同模块之间的数据传输和交互的通道,通过接口测试能够确保不同系统或者模块之间传递的信息准确无误,从而保证了整个…

微信小程序点击icon实现分享功能

1.小程序分享功能实现方式 小程序分享功能有两种方式,监听用户点击页面内转发按钮( 组件 open-type“share”)或右上角菜单“转发”按钮的行为,并自定义转发内容。 使用微信小程序的分享功能需要定义onShareAppMessage(Object obj…

Java基础 变量与数据类型

变量 为什么需要变量 一花一世界,如果把一个程序看做一个世界或一个社会的话,那么变量就是程 序世界的花花草草、万事万物。即,变量是程序中不可或缺的组成单位,最基 本的存储单元。 初识变量 变量的概念 内存中的一个存储区域…

工作几年,涨薪4K遭拒,后一天我就裸辞走了···

19年7月大学毕业,当时学的计算机科学专业。因为考研之后,秋招结束了。也没什么更多的岗位选择,就想着找个工作先干着,刚好有个亲戚在一家大厂公司上班说要招测试,所以就来做测试了。 虽然都是属于计算机大类&#xff0…

chatgpt赋能Python-python_nor

了解Python NOR 在Python编程语言中,NOR运算是一种逻辑运算符,用于反转两个变量的逻辑值。它是布尔运算中的一种,通常用于检查两个条件是否都不成立。 NOR运算有两个输入和一个输出,当输入为空或两个输入都为False时&#xff0c…

nuxt视频播放(踩坑)

展示效果: nuxt样例视频 1.安装vue-video-player插件 ①执行命令 npm i vue-video-player 或者 npm i vue-video-player5.0.2 后者直接安装对应版本号的插件 ②安装完之后 执行npm i ③安装不对应的版本会报错 ④注意安装版本 不是vue3.0的 请安装(“v…

【nginx】同一接口有时返回500(client_body_temp)

问题描述: 同一个接口,有能正常访问并返回的,有的访问未到服务器直接返回500。 查看nginx日志(error.log),发现open() "/nginx/client_body_temp/0000476534" failed (13: Permission denied)报…

java的URL类

文章目录 1. 简介2. 创建URL3. 从URL获取数据4. 分解URL5. 相等性和比较 1. 简介 java.net.URL类是对统一资源定位符的抽象。它扩展了Object类,是一个final类,不能对其派生子类。它不依赖于继承来配置不同的URL实例,而使用了策略设计模式&am…

VivadoIO约束

VivadoIO约束 FPGA开发离不开IO约束和时序约束,IO约束用于确定输入/输出端口的物理端口和电气特性,与芯片和电路设计有关。而时序约束则用于设定FPGA设计中的时序特性,以确保系统能够在预期时钟频率下正常运行。本文将介绍vivado中常见的设置…

编码踩坑——Redis Pipeline中调用Lua脚本报错JedisMoveDataException的问题 / Lua脚本常遇到的问题

本篇记录使用Redis Pipeline时,调用redis.clients.jedis.PipelineBase#eval时,报错JedisMoveDataException的问题;通过查看源码发现问题的原因,通过jedis在Github的issue了解了解决方案;涉及知识:Redis slo…

FP独立站支付问题你还没解决?out了!

目前FP独立站是很多跨境卖家的变现方式,但是这类外贸电商会遇到一些收款问题,这些问题很容易就让卖家的资金被冻结、账号被风控、关联账号被限制,损失真是不小。那FP卖家的收款问题该怎么解决呢?往下看。 一、FP独立站常见收款方式…

抖音账号运营技巧,让你的短视频更火爆

抖音是目前最火爆的短视频平台之一,拥有着庞大的用户群体和广阔的市场前景。在这个平台上,每天都有大量的用户在发布自己的短视频内容,让自己的账号脱颖而出并吸引更多的粉丝,成为每个用户所追求的目标。下面就来介绍一些抖音账号…

新用户如何选择WMS仓储管理系统解决方案

引言:随着现代化物流技术的不断发展,WMS仓储管理系统已成为企业管理的重要工具。一款合适的WMS系统可以帮助企业提高库存管理效率、减少库存成本、提升物流服务质量。对于初学者来说,如何选择适合自己的WMS系统,往往是一项挑战。本…

如何做好app的测试工作?一文6个步骤到你秒变APP测试高手

先说结论: 想要做好 APP 的测试工作, 离不开相对完整的测试要点! 本篇文章不仅有完整的App测试介绍,还有相对完整的App测试视频分享。 闲话少叙, 咱们直奔主题, APP 应用测试应该主要包含以下几个方面的测试要点: 需要注意的是: APP 应用测试是个相对繁杂的测试类…

电脑远程连接软件推荐

您可以考虑使用多种可靠的计算机远程连接软件选项来远程连接和控制计算机。 以下是一些流行的选项: TeamViewer TeamViewer 是一种广泛使用的远程访问软件,以其易用性和跨平台兼容性而闻名。 它提供远程控制、文件传输和桌面共享等功能。 TeamViewer 通…

解密JavaScript混淆加密技术:揭秘隐藏的代码之谜

让我们通过一个案例来更好地理解JavaScript混淆加密的工作原理。假设我们有以下原始的JavaScript代码: function addNumbers(a, b) {return a b; }上述代码非常简单易懂,但对于一些恶意攻击者来说,他们可能会试图窃取您的代码或者修改其中的…

终身学习(LifeLong Learning)/ 增量学习(Incremental Learning)、在线学习(Online Learning)

1、在线学习 实时获得一个新样本就进行一次模型更新。显然,在线学习时增量学习的特例,而增量学习可视为“批模式”的在线/离线学习。 online主要相对于offline或者说batch,强调的是每次只进入一个或者很少的几个样本,多见于推荐…

缓存被穿透了怎么办?

首先来了解几个概念: 缓存穿透:大量请求根本不存在的key 缓存雪崩:redis中大量key集体过期 缓存击穿:redis中一个热点key过期(大量用户访问该热点key,但是热点key过期) 穿透解决方案 对空值…

windows powershell 下使用【docker cuda choco vim conda ......】

powershell 下可以使用的linux命令 ls可以完全替代llimgcat可以安装,但是显示不了图片,可以用start命令来替换 start .\wallhaven-9m5321.jpgcat touch history可以用 chmod 不能用下面介绍一下alias在powershell下的使用 这里的$profile相当于linux…

搭建Scala环境

搭建Scala开发环境 到官网上下载Scala Scala2.13.10下载网址:https://www.scala-lang.org/download/2.13.10.html 下载文件 安装Scala 根据提示安装,可以安装到默认文件,也能选择其他路径 配置Scala环境变量 变量名变量值SCALA_HOMEC:\Pr…