前段时间,一个在大厂工作了几年做软件测试的朋友,快30岁了,却以人员优化的名义被大厂无情辞职。据他说,他一个月吃了几顿饭……
很多企业都有KPI然后在此基础上进行最后淘汰( 或人员优化。
互联网大厂的残酷现状在这里是不可避免的。为了帮助朋友跳槽面试、升职加薪、职业困难,提高技能,逃避人员优化的障碍。
这5年之间完成了一次晋升,换了一家公司,有过开心满足的时光,也有过迷茫挣扎的日子,不过还算顺利地从一只职场小菜鸟转变为了一名资深划水员。
在这个过程中,我总结了一些实用的划水经验,有的是自己理解的,有的是和别人交流学到的。在这里和大家分享一下。
1、学会深入思考,总结沉淀
,总结沉淀,这是我认为最重要、最有意义的事情。
先说深入思考。在程序员的圈子里,我经常听到一些评论:我的工作没有技术内容,每天 点点点,这 TM 这可能是一些学生的真实想法,至少我曾经这么想过。后来随着工作经验的积累,加上和一些高 level 经过交流和讨论,我发现这个想法实际上是非常错误的。
没有什么可学的原因基本上是思维懒惰的结果。任何看似微不足道的小事,只要深入思考,稍微纵向挖深或横向拓宽,都足以让人沉迷于知识的海洋。
**先说总结沉淀。**我认为这也是大多数程序员所缺乏的。只要努力工作,你就能把一件事做得很好。然而,我几乎从来没有做过抽象的总结,所以我已经工作了好几年了。我掌握的知识仍然是零星的。如果没有系统,不仅容易忘记,而且视野狭窄,问题有限。
及时做一些总结和沉淀是非常重要的。这是一个从技术到道的过程,它将使你看到更广泛的问题和更高的层次。如果遇到同类问题,可以按照总结的方法进行系统、分层的推广和解决。
举个例子。今天优化了后台服务 1G 内存,明天优化 50%的读写耗时,能否总结性能优化?
例如,在应用层中,可以管理服务对接的应用程序,梳理其访问的合理性;在架构层中,可以进行缓存、预处理、读写分离、异步、并行等;在代码层中,可以做更多的事情,资源池、对象重用、无锁设计、大 key 拆分、延迟处理、编码压缩gc 还有与各种语言相关的高性能实践…下次遇到需要性能优化的场景,一套完整的可以立即应用,剩下的就是工具和实际操作。
其他同学说,我每天都告诉他们, PM 撕撕,做需求,不做性能优化。先不讨论能不能做性能优化,单就业务需求而言,也有可以总结的地方。比如说,如何做系统建设系统核心能力,系统边界,系统瓶颈,服务分层拆分,服务治理这些问题有思考过吗每天跟 PM 讨论需求,作为一名技术学生,我们也可以思考和总结如何培养产品思维,引导产品方向,如何把架构放在业务上。
因此,学习和成长是一个自我驱动的过程。如果你认为没有什么可学的,可能性并不是真的没有什么可学的,而是因为你太懒了,不仅行动太懒了,思维也太懒了。
你可以写更多的技术文章,分享更多,强迫自己思考和总结,毕竟,如果文章的深度不够,我们不好意思公开分享。
二、积极学习,保持技术热情
近两年在互联网圈广泛传播的一种焦虑论称为 35 年度程序员现象的大意是程序员行业已经完成 35 年基本上等待裁员。不可否认,互联网行业在这一点上确实不如公务员等体制内职业。但在这个问题上 35 年度程序员不是绝对生理意义上的 35 年龄应该是指工作十几年、工作两三年没有太大区别的程序员。以后的工作基本都是吃老本,不主动学习充电,35 岁和 25 年龄差不多,没了 25 岁时对学习和成长的渴望增加了许多家庭生活的琐事,工资要求往往很高。在企业看来,这真的没有竞争力。
如果我们积极学习,保持技术能力和知识储备与工作年限成正比 35 我认为大公司也应该争先恐后地想要这样一头牛,但学习这件事实际上是一个反人类的过程,这就要求我们强迫自己跳出自己的舒适区,主动学习,保持技术热情。滴滴时有一句话,主动跳出自己的舒适区,感受挣扎和压力,往往是黎明前的黑暗,那是成长最快的时候。相反,如果你觉得自己每天都过着舒适的生活,工作只是混了很长时间,那可能真的是用温水煮青蛙。
刚毕业的时候,往往有更多的空闲时间,这是努力学习技术的好时机。在这段时间的帮助下,打下坚实的基础,培养良好的学习习惯,保持积极的学习态度,应该终身受益。至于如何有效地学习,互联网上有很多牛写这样的帖子,在公司内部网站上也可以找到很多这样的分享,我不会说太多。
三、主动承担,及时沟通反馈
前两个仍然从个人的角度来看,我希望你能提高你的个人能力,保持核心竞争力,但从公司的角度来看,最重要的是让员工创造业务价值,为公司服务。
虽然学校招生通常有一定的培训体系,但事实上,公司没有义务帮助我们成长。在为公司做事、创造价值方面,我认为最重要的两个词是主动、承担任务、沟通、促进项目进展、协调资源、积极反馈、积极创造影响力等。
刚入职的时候,基本都是 leader 分配任务,做好自己的工作,然后做自己的事情,几乎从不主动与他人沟通或思考一些可以帮助项目发展的想法。我以为我可以保质保量地完成我的工作。后来,我发现这还不够,这只是最基本的要求。
有些学生的做法是 leader 只需要同步最近要做的方向,基本不需要以下一系列事情 leader 操心了 ,我是这样的同学 leader 我也喜欢。入职后经常听到的一个词叫做 owner 意识,大概就是这个意思吧。
在这个过程中,及时沟通要的是及时沟通和反馈。项目进展不顺利,遇到问题及时跟进 leader 同步,技术方案不准确可以跟进 leader 有些资源无法协调 leader 帮忙,不要有太多顾忌,以为会太麻烦,leader 其实就是这么做的。
如果项目进展顺利,真的不需要 leader 介入还需要及时反馈项目进度和收入,讨论自己的想法,询问 leader 对当前进展的建议,需要改进哪些地方,消除信息误差。一方面,合理利用这些事情 leader 另一方面,各种资源也可以使 leader 了解自己的工作量,控制整个项目,毕竟 leader 也有 leader,也要报告。
也许每个人都不喜欢向上管理。它有味道。事实上,我做得不好。但最基本的一点是,不要接受任务,无聊地工作,甚至与世隔绝。你已经一个月没有跟上了 leader 同步,想着憋个大招之类的,基本凉了。
一定要主动,可以从强迫自己在各种公开场合发言开始,及时有问题或想法 one-one。
四、系统提升学习好资料
最后,需要一套系统提升的好数据来提升自己的综合技术能力!
作为一名测试人员,我想分享我多年来对技术的总结和总结,以及我需要掌握这些技能的笔记,作为一个高级自动化测试,我希望帮助那些愿意在技术道路上走到最后的朋友!
一、测试基础
了解测试的基本技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作和操作
二、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框架熟于心
十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧! 这些都是高附加值的知识!
其实这些高附加值的知识和能力可以边工作边自学的。相信年薪30W+也是很简单的!关键就看你愿不愿意学!
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!!