33 岁了,这个年纪如果持续在软件行业积累,现在起码是个专家级别的人才了,无奈的是 27 岁的时候才从其他行业转了测试,所以现在还是一个技术进阶的状态,深感焦虑。
现在的创业公司进来有 4 年了,从功能测试一路走下来,现在主要的工作在持续发布、环境搭管、性能三个方面,公司的持续集成目前我独立负责。
一直很遗憾,公司的 4 年,没有见过大牛的测试小伙伴,测试从 2 个人开始到现在小 10 人规模,技术梯队一直是处于功能层次。目前已经不在测试团队……嗯,曾经跟领导明确表示不想做管理分了学技术的精力。所有的技术全靠自己在高强度的工作之余研究琢磨出来,另一方面也正是领域的空白给我大量上位实现技术落地的机会,个人企业双赢。正是焦虑,一直保持学习,从啥都抓到现在集中在 java 技术栈,为了夯实基础考过了中级软件设计师,还是没有出什么自己骄傲的成绩(或者说面试测开时能让人眼前一亮的落地项目)。
目前想转开发(最好),但是技术栈和实际经验距离研发有距离,所以最好的方式是转测开或者运开,核心是提高代码解决问题的能力。但是有点矫情了,大的环境不好,33 岁简历投递出去,虽然大部分能到待通知步骤,但是半个多月没有收到一个面试邀约。
也考虑过在公司内部转,找领导交流,呃,比较尴尬的是公司已经开始欠薪一段时间了。所以目前也是搁置状态,骑驴找马中。
我总结了目前我的技能树。请大家批评指正。
我比较担心或疑惑的有以下几点:
1、学习是个漫长积累的过程,我现在偏向计算机、软件基础的学习,所以在测开常用的技术栈方向并没有倾注太多心血,因为我认为基础牢靠,测试的工具、框架拿过来我就能用起来;它的对立面就是面试的时候一无实际经验、甚至可能只是懂点皮毛,很可能就被面试官否认了。还是挺痛的。这种学习的思考方式是不是舍近求远了一点?
2、在学习研发技术栈的过程中,很煎熬,很慢。希望快速掌握一个研发的开发框架,比如 spring,但是还是想先打基础再往上跑,内心深觉,学得很多,缺乏实际操练。
3、我目前公司的持续集成、环境搭建方向,由于业务没什么起色,自身并没有多少革新动力,所以能应付。docker、k8s 之类的技术,业余当玩具玩了玩,系统的把各类官方文档扫了 2 遍,真的要落地我觉得也是可以做到的,但是心觉 “安装部署使用” 简单了一点,外无需内无求,所以 k8s 的落地停摆中。
4、测开学习研发的技术体系是不是缘木求鱼了一点?而且成长周期很长,没有历练的机会的话很难做到优秀;
5、java 的技术栈会不会过于庞大了,像 python 这类适用人生苦短的语言是不是更具有优势一些。并且我目前在职的岗位,偏运维的工作要多一些。我甚至在用 ansible。。。所以 python 会不会更好一点
6、没有一个让人眼前一亮的代码作品(shell 的虽然可以,但是不够好)
总结了一下,现在的焦虑源自 “大龄条件下欲转型而不得”……
作为过来人的大牛们,想听听你们的看法,请把您的想法说出来,可以随便喷。
轻度焦虑症的飘过。
欲求不满 + 无能为力就会焦虑。
公司的本质是需要创造剩余价值而不是提升技术,所以大部分技术不管是人还是技术本身都在不断退化。
你的技术栈找个小公司测开感觉难度并不大,对于大公司,年龄比较尴尬,这些门槛感觉都不高,没啥亮点。
其实改变太累,有时当个咸鱼也挺好。。。。
不用太纠结,技术是永远学不完的,能帮助到别人的东西才是有用的东西,其他酷炫牛逼的技术在没有用前都是浮云,不管小公司还是大公司都一样,你知道他们的痛点并能解决,你就牛逼
其实还是缺乏应用场景,不凡试试把工作中的痛点利用这些技术或工具解决掉,做深入;学太杂而没有精通的会让人感觉深度不够,做某方面的专家就好
从你的叙述来说,你现在的情况是功能测试开始学习了一些儿自动化测试相关的东西,至于其他的如测试环境相关的知识属于测试必备的能力。其他的知识看似学的挺多的,只是比较杂乱,没有形成自己的知识体系。要做测试开发的话,也相当于中级测试开发,达不到高级的,因为你没有做过有一定的规模的测试平台,或是测试工具。但相比你的年龄来说,找工作的时候有点儿吃亏,年龄和能力不相匹配。个人观点,仅供参考。
在能力范围内,解决了目前公司持续发版的问题,是公司环境治理上的主力。自觉天花板了。能改进,但是投入产出比还是低了,外界环境目前没有那么改进的刚需。
你说的是现状。相同薪资要求和能力,机会不会给大龄的。毕竟,leader 要是比我还小,就算我觉得没啥,人家也觉得老家伙不好使唤。。。哈哈
相比楼主,我才 24 岁,其实掌握的应该和楼主差不多,但我现在就为自己的 30 岁做规划了,也想着能不能往大数据行业转行。在到 30 岁的这几年,我还要存得一定的积蓄,当自己的年龄达到那种被公司嫌弃的地步,我就想创业了。我是一个不想被别人左右的人,好就好在我们可以选择自己的人生啊。加油!
为什么要转测开?
为了钱?不见得转了会比你现在收入多多少
为了发展? 且不说年龄,目前除了大厂,小厂测开大都是摆设
最后比较好奇 6 年工作经历 咋接口测试无实际经验
如果你是测试,只在环境的问题上做动作,那还不如运维在环境的问题上思考的多,测试不先解决测试自身的问题,怎么能称为测试开发,还不如叫运维开发。。。在我看来,测试开发主要工作是为测试服务的,在提高测试效率后,再协助其他能影响到测试的周边部门开发可以提升效率的工具(如开发、运维、项目管理等),这样才能证明测试开发存在的价值,当然以上纯属个人看法
其实不一定是测开,运开也可以的,而且我目前的环境运开相对更容易,如果是运开的话,我可能要换 python 作为主要开发语言再折腾一下了。之所以要转,收入是一方面,因为我调研了一下测试领域在成都的收入金字塔,不懂开发收入绝对上不去。软件行业的核心是那些写代码的工作,所以希望往核心靠。另外,接口测试很简单的,我自然是做过,没有做过的是自动化的接口
某种意义上,我就是公司的运维角色。你说的这些职能角色我觉得意义不是很大,因为个人的价值依托于公司业务,而不是岗位。像我说的测开,可能市场上就是你那么定义的,那我可能要转就更难了。
我国的环境,是对大龄不友好,没办法,! 随着越来越多的人进入互联网,对大龄更大不友好!未来更加明显!
32 岁离 60 岁退休还长!这也是我焦虑的原因,如果真的哪一天互联网不要我了,也许外卖我也可以干!!
“我们有些人就像是乌龟,走得慢,一路挣扎,到了而立之年还找不到出路。但乌龟知道,他必须走下去。”——古迪纳夫
PS:其实我也不知道出路。。。
找准路坚持下去,自己做个测试平台,什么都明了了
我来做个总结吧
1、年轻人要引以为戒,不要在年轻的时候停止奋斗;应该多关注自身的成长,而不是闷头苦干不看方向。乘着没有什么压力,报个霍格沃兹?
2、技术能力不管是在哪个阶段的 level,市场上肯定有适合的岗位,矛盾无非在自己的期望和实际情况的差距。转型技术这 6 年,我的技术成长是偏慢的,排除公司因素,自己是负有不可推卸的责任。但是目前我还是想摸一下天花板很低的开发岗,毕竟天花板很低,要摸一摸,没什么难度。所以相对来说,可能结合自身的特点,技术专家这个方向对我这个年纪来说,很难走。。往后可能会技术 + 软实力方向(产品、项目经理之类)的岗位靠。目前,我和开发岗的距离,只缺一个 offer,offer 还要磨。
3、大龄的也不必过于焦虑。人都有一死,于公我等自是轻于鸿毛之类。技术也都有天花板,爬的慢和爬的快的差距除了单位时间的收入差异外,最终的目的地都差不了太多,技术不是人生的全部。
4、不要逼逼,干就完了。
感觉和楼主情况很类似,待过的公司都是大厂,但却一直是螺丝钉的工作,感觉技术上需要学习的东西很多,也在转型中,很是迷茫,不知道能够成功
很诚恳了。坚持走下去需要好大的决心了
从你的描述来看 你距离测试开发还有一段距离,
你目前属于刀有了 但是还没有磨的阶段;
第一步:你要在工作中把你的编程优势利用起来,例如复杂的计算测试;尝试让自己的测试工作逐渐的让计算机帮你去自动化的去做;
第二步在有自动化的优势前提 要多了解你们公司目前开发在使用的技术,遇到问题你能不能帮助开发进行定位,有没有解决这个问题的方案,如果说这个软件这个功能你自己不清楚如何实现的 那么就要弄懂了 可以尝试自己写点后台的接口 了解前后台的交互原理;
第三步,自己又能力写一点测试工具 提升一下自己的编程思想 抽象能力 多学一点 什么都看看 但是慎重考虑是否要深入;
第四步,学习优秀的设计模式 自己编写适用于公司 或者个人的框架供内部去使用,这时候你已经是测试开发了
测试开发=开发会的基本都会 + 开发不会的也会;
成功没有捷径,努力的结果 就是成功 只不过每个人的进度不一样,最差的结果是大器晚成。
考虑下大数据和人工智能 啥火干啥
你说的四个步骤中,一二步我已经走了。现在真的有刀需磨。其实还内心浮躁了一点,现在公司的监控还有发力的地方,可能是带了偏见以及前几年高强度被压榨过,内心没有去审视代码能力进阶需要结合公司实际。谢谢建议,我觉得对大多我这种情况的都适用。
先说说你投简历没音信吧:
可能看到这里,你的简历基本已经被 pass 了。(事实也是如此)
再说说你的专家性:
测试工作有两类专家:
软实力要求:
再聊聊你的技术栈:
很弱。实在不想怼吧。我见过校招的实习生,虽然是开发的实习生,应该比你高深。
可能扎心了,举几个我问过的例子吧,如果你第一眼不用查百度,我收回我 “很弱” 的评价。
回表。物化视图,MVVC,双向绑定,偏向锁,内存页的抖动,线程的生命周期。(这些都是校招题)
不需要回答问题,如人饮水冷暖自知吧。
和我轨迹有点类似吧。前几年我 33 岁之前也陷入管理 + 功能一线的情况下,技术是抽空学。后面痛下狠心,降薪很多去做测试开发。
现在是纯正的测试开发了。
代码这个除了部分模块 比如网络层底层和图形学,其他堆时间就行了。
忧虑,加油!!!
想做侧开,好歹你得考个高级证书证明一下自己吧
哎!!
问题就在这里,很多人下班学习,能学的程度可想而知,又不敢轻易离职专职学习,这就是大龄同学的困境,
你降薪之后是到另一个公司有人带你吗,另外大龄测试开发好找工作吗 (普通人,一级大咖就没必要讨论了)?
也借鉴下你的经验!
可能你对测开这个岗位有什么误解。这个岗位是虚的,没有实际的意义。做的工作还是功能测试,只是编码能力比较强。现在的测试平台大部分都是用开源的,像禅道什么的。测开有发挥作用的地方一般是以下几点;1、测试环境搭建 2、测试成果整理平台化 3、测试数据自动化生成 4、持续集成平台 5、运用其他工具,辅助测试,比如测试代码覆盖率等。任何测试能做到以上几点,都可以叫做测开,而不是一定要有个专门的岗位才能称做测开。
呃,我认同你的说法。其实我核心的想法是提高用代码解决问题的能力。鉴于目前岗位,写代码的机会不是很多,想找专职写代码的岗位,比如测开、运开啥的,天天写,提升可能会更快。像前几年还在测试岗的时候,时间精力完全淹没在业务测试里,各种加班。目前的想法比较明确,基于对公司业务理解,学以致用,多写代码吧。
做了十年测开了。越来越觉得测开就是个伪需求,一般小厂根本不需要,大厂里面的测开就是开发个测试流程管理系统之类的,主业还是做项目测试。你说的这些的知识,大多数公司都不会做强制要求,真实的情况是用到的时候非常少。你是做大数据这块的业务的吧,像各种锁啊,MVVC 啊,多线程啊这些很多都是数据分析方面用到的。
测开越来越没性价比了,因为大部分的工具、系统都有开源的可选方案,需要单独开发的越来越少。但是在功能测试方面,你比纯测试没有更多的优势,价钱可贵多了。如果我是老板,我会招一个初级的开发来做工具,再招一个高级的测试来做功能,这样比招一个资深的测开更便宜,产出更多,更有性价比。
测试开发有那么难吗,学那么多东西,感觉列的太宽泛,我们公司的 Android 开发,感觉会 Java 和 Android,能干活了,测试开发要会那么多东西吗。。。。
共勉作者,很明白作者的体会,个人就来说下个人的理解:
招聘公司层面上:
个人层面上:
当然说的是理由,但是不能成为不进步的借口。 在此也共勉和我有相同困扰的同僚,一起加油吧。
30 多岁应该是一个人职业生涯的黄金时段,这个时候应该是到了另外一个境界,不在单纯的痴迷于技术,更强调的是综合能力。不管任何时候发挥自己的价值即可。
说到测试开发 我觉得也是个伪需求。首先一个岗位的发展是真实的市场给出的结果。测试这个分支主要是从质量保证这一大块来的,质量的并不完全等同于执行测试,尴尬之处就在于小公司用不着 大公司整个质量管理体系都在转型,从之前的测试小组、测试部门、大的测试中心、质量保障事业部对这一块的改革是思考变化是永恒的,会写代码的测试究竟有多少实际的推动作用和质量保障上的作用,有种类似于工业化刚开始的时候,为了追求烟雾的排放不断的提高烟囱的高度。。。。有些歪了。行业的发展太快了,技术、思想、应用都是需要时间去沉淀。追了好久之后沉淀够了缺发现真正需要却不是如此 岂不很难过。。。。
跟着变化在走 还是普通人多啊。学习没有终点 企业有啊 抛开依附于的企业 个人又将怎么走?
一孔之见 看看就好了 哈哈哈
我没有去参加付费的培训,不过我看过一些他们发布的公开课,公开课有些内容还行。看个人的想法了。
这段时间出去面了几次,大致知道自身问题所在。我来对前一阵的焦虑和疑惑做个简单阶段思考,虽然留言中大部分人没有回答我的提问,而聚焦于其他方面:
1、关于学习偏计算机基础的问题,我认为是必要的,但是不能过于纠结在计算机基础方向。考虑的是就业和自身能力匹配度,市场需求是什么就聚焦什么,计算机基础学个七七八八就可以了。所以,我的学习方式虽然很夯实,但是和市场脱轨,经不起市场的考验。
2、学习研发的开发框架这个问题。我觉得也没有必要像研发一样弄懂每一个细节,定位不是研发,也不并深究,但是要懂一点。
3、公司内部的持续集成方向。我目前觉得真没有必要去为了技术而技术,环境倒逼内部的技术革新是资源最优的方式,否则会出现过渡浪费资源的问题,而且就算弄出来,也真的不是实际上用的那样子。
4、学习研发的技术栈体系确实是缘木求鱼。
5、java 和 python 都有自己的生态,java 要为主语言,python 打辅助。
测试是个干杂活的岗位,懂得要多,干的精自然就有难度,有机会做研发就别做测试或者测试开发,直接研发是最好的方式。实在没有办法退而求其次,就聚焦一些,聚焦一些。不要到处撒精力,人生苦短,真心的浪费。不一定对,但可以参考。对了,我双 12 报名学院了。
32 岁,技术栈和经历跟楼主类似,拿了个 offer,面试岗位是测试,offer 写的是测开,甭管那么多,只要能解决团队测试问题,干就完了。
接以前的续论。
基础不牢地动山摇,夯实计算机底层是真的香,上层上手非常快。主要是内心夯实,不怕不虚。
学底层,前提是要走对方向。
1、计算机怎么来的,解决了什么问题
2、图灵模型每个组成部分代表了什么
3、图灵模型落地的冯诺依曼体系,各个部分又如何对应图灵模型
4、计算机内部的各个组成部分的内部,也是图灵模型,所谓计算本身可大可小,比如内存系统内部,也有缓存、也有控制器、也有数据传输。
5、0101 如何在层面组成指令,intel 指令原理
6、指令到汇编,汇编大概原理,汇编的 ELF 文件原理
7、汇编到 C,C 完成对汇编指令的语法抽象(类型系统抽象数据操作、流程抽象指令跳转、指针抽象取地址指令扒拉、栈和函数)
8、C++ 在 C 基础上增加了面向对象特性和语法
9、操作系统进程怎么利用上面的基础编制出了复杂的系统,如进程调度、IO、VFS、系统调用等。
如此种种,摸到上层的东西,就不会那么狂抓。
学习是长期过程,还是不能太过于急功近利,主要目前工作压榨没那么猛(压榨太凶哪里有时间学),业余时间都拿来学了。
革命尚未成功,同志仍需努力。