• 0
  • 0
分享
  • 新人软件测试工程师必须知道的,不然为时已晚——软件测试圈
  • 曼倩诙谐 2023-02-10 11:22:20 字数 6621 阅读 979 收藏 0

  引言

  看到这个标题的时候,相信大部分人的第一反应一定是:卧槽!标题党来了!

  是的,你猜对了,-_-。

  其实之所以写这篇文章,是因为有一个读者,遇到了人生中一次比较重要的抉择,因而来咨询LZ,而LZ恰好无事,因此就十分耐心的给这个读者谈了谈自己的一些想法,而这个读者事后也表示茅塞顿开。后来LZ觉得这次谈话内容,或许对不少人也有帮助和警醒的作用,因此就决定索性用文字的形式记录下来,这就是这篇文章出处了。当然了,是否对所有人都有用,LZ也不做任何担保,现在毕竟是信息爆炸时代,所有人都需要具备两项最基本的技能:信息筛选和自我判断能力。不然的话,你早晚会被淹没在网络的信息海洋里。

  好了,接下来言归正传,咱们先来简单聊聊这位读者,面临着怎样的困惑。

  是否该跳槽

  是的,这个读者当时问的,就是这个问题。

  看到这个问题,应该算是老生常谈了,是否该跳槽这个疑惑,相信绝大多数,甚至可以说是所有人都面临过这个问题。而这个问题的每一次抉择,或许都会改变你以后的职场轨迹,因此这个问题的选择就显得格外重要。事实上,不止本文提到的这一个读者问过LZ这个问题,很多人都咨询过这个问题,而LZ对此类问题的统一回答是:该不该跳槽,你说了不算,市场说了算。

  说人话就是:你得出去找找看,能找到更好的就该跳,否则…从哪里来,回哪里去,老老实实继续提升自己才是正道。之所以会有这样的回答,其实这里面核心的逻辑有两点。

  第一点就是围城现象,当你产生了跳槽的想法的时候,说明你的心里其实已经开始躁动了,这种情况下,如果你不出去试试看的话,很可能会造成你对当前的工作也无法尽心尽力,这个时候,你就必须出去看一看,否则你的心态会长时间处于一种对工作厌烦的状态,这对你没有任何好处。而你出去试一下就不同了,如果你能找到更好的,那自然皆大欢喜,哪怕你找不到更好的,你也会知道外面的世界并没有你想象的那么美好,你最起码可以踏实在当前的工作岗位好好工作。所以,围城现象,是LZ提出这个建议的第一个核心逻辑。

  而第二个逻辑,其实是打破信息不对称,或者说信息最大化,说白了就是,当你遇到一件事不知道如何判断的时候,那就尽可能搜集更多的信息,来帮助你判断,这样你做出错误选择的可能性就会大大降低。这其实也很容易理解,如果你明确的知道了,你出去是什么样的后果,你自然会更加容易判断你该不该跳槽。就好比你现在有A和B两个女生都想和你结婚,而你不知道选A当老婆好,还是选B当老婆好,最好的办法当然是掌握A和B更多的信息,比如她们的家境、性格、爱好,甚至是三围,这样你才好去判断到底选哪个好,选错的概率自然也会大大降低。当然了,这只是个举个例子,LZ知道作为单身狗的你,是不会面临这种选择的,-_-。

  说回正题,事实上,当这位读者问这个问题的时候,因为LZ和这位读者聊的比较投机,因此在谈的时候,LZ其实不仅仅谈了跳槽这个问题,而是谈到了程序员的发展路线。毕竟跳槽在某种程度上,会极大的影响到你未来的发展路线,因此聊跳槽聊的深了,不可避免的就会谈到发展路线,这也是本文重点要谈的一个话题,也是为何LZ觉得值得记录下来的一点。

  其实关于程序员的发展路线,LZ以前也聊过,但都比较零碎,这次LZ准备系统的来谈一谈这个问题。话不多说,接下来就进入主题。

  发展路线是什么?

  在正式谈这个话题之前,LZ先要说一下,发展路线到底是什么?其实发展路线本身的定义很简单,无非是规划自己未来几年到底要达到哪种高度,然后为了这个目标而去努力。而大部分人在规划自己的职业发展路线时,都是几年当上项目经理,几年当上架构师之类的,包括之前的LZ自己,也是这么给自己定目标的。但LZ相信,大部分人规划完以后,都会比较迷茫,特别是当上了公司所为的“项目经理”和“架构师”,完成了自己的目标时,反而更会有一种心里茫然的感觉,总觉得哪里不对,又说不上来到底是哪里不对。

  事实上,之所以会有这样的感觉,其实是目标价值不够清晰所导致的。上面这句话,是LZ基于自己的理解所总结的,可能不太好理解,接下来LZ举个例子,相信大家就很容易明白了。比如很早的时候,那时候还没有货币,大家都是以物换物,因此那时候,每个东西的价值,是很难具体衡量的,可能你觉得比较贵的东西,别人觉得很廉价,反之亦然。后来,货币出现了,大家对于物品的价值有了直观的感受,拿现在的人民币来举例,每个东西到底值多少钱,是非常具体的一个数字。因此,在这个时候,价值就很清晰了。

  回到刚才的话题,很多人之所以对自己的职业规划茫然,其实本质是因为,“项目经理”、“架构师”这样的称呼,就和之前以物换物时代的物品一样,它的价值是不固定的,当你以一个不固定价值的东西为目标时,就很难衡量你是否达到了目标,你自然就会很迷茫。因为你根本不知道,你到底有没有达到目标,毕竟你的目标价值本身就很难衡量。这也是为什么定目标的时候,要强调目标一定要清晰,因为一个无法衡量的目标,很容易让一个人产生迷茫的情绪,也很容易失去斗志。

  就比如LZ在工作2年的时候,就坐上了项目经理的位置,管理一个将近20人的团队,看似已经达到了最初LZ给自己定的“项目经理”的目标,但LZ当时却一度十分茫然,因为LZ总觉得此“项目经理”非彼“项目经理”,但又说不上哪里不对,毕竟LZ心目中的那个“项目经理”的价值,根本就无从判断,因此LZ也不知道到底达没达到目标,也不知道到底离真正的目标到底有多远。再比如有些人,工作几年就当上了某某公司“架构师”甚至是“CTO”,但这个“架构师”和“CTO”的价值到底有多大,其实很难去衡量,因为有的公司可能“CTO”的工资还不如一个大厂的普通资深程序员。

  所以,在规划自己的职业发展路线时,给自己定下的目标必须要足够清晰,且可以客观的去衡量,不然你努力之后,压根就不知道自己有没有达标。那么,说了这么多,重点要来了,到底以什么为目标能满足以上条件呢,答案其实很简单,那就是一个字——“钱”。

  很多读者看到这里可能会说了,“你扯了这么半天,就得出这么一个简单的结论,有点太小题大做了吧,这个我早就知道了,我就是这么给自己定目标的,而且我已经达到了目标。”关于这点,LZ只能说,会者不难难者不会,至少当初的LZ,曾经就被这个问题困扰过。所以,LZ还是希望借这个文章,专门提醒一下那些还陷于迷茫的程序员们,给自己定目标的时候,千万不要定什么“项目经理”、“架构师”这些虚头巴脑的目标,这只会把你引向迷茫的深渊。

  你的一切目标,只能由一个字来判断——“钱”。

  此“钱”非彼“钱”

  有的读者会注意到,LZ给钱加了个双引号,这就意味着,这个标准不仅仅是指的人民币,某些时候,也可以用一些其它的来代替。但大体上可以分为两种,一种是真正的钱,也就是所谓的人民币,一种则是等级。而对于等级这种标准,主要是针对大厂程序员来说的,因为从某种程度上来说,大厂程序员的等级,也算是程序员圈子里,比较通用的一种“货币”,因为它也有其比较固定的价值。而普通厂子里所谓的“高级程序员”、“项目经理”、“架构师”、“CTO”、“技术总监”等等,就不存在任何固定价值了,也无法作为程序员圈子里的“货币”进行流通,就比如你是某小厂的“架构师”,到了大厂里以后,指不定是什么等级,甚至可能你连进都进不去。

  因此,这些小厂的title统统没有太多的参考价值,就像卖理财的都叫理财顾问,卖房子的都叫置业顾问一样,这些都只是个title,唯一衡量它们的标准,就是真正的人民币。

  其实前面说清楚了,真正说发展路线反倒比较简单,LZ无非就是给出一个相对比较中等(偏上)的标准,然后让大家来参考,以此来衡量自己到底达到了什么水平,这样就不容易迷茫。

  这就好像你高考前准备考试一样,你可能学完以后老会感觉心里没底,但如果你知道了大家都是什么水平以后,你或许心里就会淡定许多了。

  而LZ给出这个标准,就是这么个道理,让你知道大多数程序员,他们的水平大概是什么样的,这样你对比自己以后,就会心里有点X数了,这样就不至于太迷茫。

  同时,考虑到很多人的起步不同,因此LZ大致分成了两种路线来说,接下来咱们就一一来看下。

  大厂(高端)程序员发展路线

  先来谈一谈大厂程序员发展路线,这一部分,主要说的是那些应届就进入大厂的程序员们,也就是起点比较高的这批人,LZ也称这部分人为高端程序员。

  其实这些人的发展路线,一般都是比较固定的,无非就是各个大厂之间来回穿梭,而大厂之间一般都有个等级的折算,因此这批人的发展路线很容易规划,就按照等级来规划就可以了。

  根据LZ以往的经验,总结一下就是,头几年234,后面看老天。翻译一下就是,第一次晋升2年,第二次晋升3年,第三次晋升4年,后面就看情况吧。

  拿某里应届生来举例,入厂一般是P5,那么比较合理的发展路线就是,2年升P6,再过3年升P7,再过4年升P8,后面的就交给老天吧。当然了,LZ给的这个路线,只是作为参考,毕竟LZ自己不属于高端程序员这个群体,因此也不能很确定的给出一个十分官方的标准。而且不管你是高端程序员,还是接下来LZ要谈的低端程序员,你还有一个可以对比的群体,那就是你的同学,特别是科班出身的同学,同学大多也都是干这个的,那么横向对比之下,你就很容易知道你是否掉队。而像LZ这种数学专业毕业的就比较悲剧了,同学都是当数学老师的,也没什么可以对比的对象。

  非大厂(低端)程序员发展路线

  和高端程序员相反,低端程序员自然就是指的,那些没能一开始就进入大厂的程序员。

  这部分程序员中还有一大批和LZ一样从培训班出来的,这部分人往往做了一段时间,体会了高工资所带来的少许快感之后,就容易产生迷茫,因为他们往往不知道自己现在是什么水平,达到了什么程度,以及达到什么程度才算达标。因为这部分程序员大多混迹于各种不知名的公司,而很多公司并没有大厂那种明确的等级制度,薪资也往往不是和职称直接挂钩的,就比如LZ之前做项目经理的那家公司,升职到项目经理之后,其实薪资并没有什么太大的涨幅,这就容易让人越做越迷茫。

  在这里,LZ再次郑重的描述一下,此类低端程序员的发展路线(LZ也属于这一类,培训出身),到底到一定年限应该达到什么样的水平。

  一线城市以北京为例,应届生目前基本在年薪10-15W左右,3年基本在年薪30-35W左右,而5年则基本在年薪50W左右。

  二线城市则以杭州为例,应届生目前基本年薪在5-10W左右,3年基本在25W左右,而5年则基本在40-45W左右。

  LZ给出的这个标准,是中等偏上的水平,因此如果你能跟上,那么你基本上已经超越了大部分人。

  另外,还有一种情况需要说一下,那就是低端程序员有的时候,也会进入大厂,而进入大厂之后,可以继续参考上面大厂程序员的路线。

  比如某小A四年工作经验时进了某里,职级P6,那么他大体应该在3年内升P7,4年内升P8,同样的,到了P8之后,就看老天了。

  按照这样的标准,你就可以随时审视自己,看自己走到了哪一步,看看自己掉队了多少,又或者是领先了多少。

  再谈发展路线

  看完上面的内容后,有的同学可能会比较受打击,觉得自己离这个标准太远,这也是为什么LZ把标题起为“否则一切已晚矣”的原因。

  因为LZ想告诉新人们,如果你觉得你受打击了,那么说明你已经掉队了,那你就得努力跟上,不然你会离队伍越来越远。

  这就像当初有个读者问LZ,“我看我回老家的那些同学生活的也很好,而我在北京反而生活的紧巴巴,感觉生活条件还不如在老家,这样在北京漂着真的值得吗?”

  LZ当时的回答是,当他回老家的那一刻,其实你们的差距就已经产生了,只不过短时间内体现不出来而已。

  试想一下,假设他在老家年薪10W,你在北京年薪30W,那么一年以后你们的资产就差20W,10年之后,20年之后呢?

  这还没算两者涨薪的差距,更何况很多人的老家根本达不到年薪10W,而很多在北京的人也不止年薪30W。

  所以,这就是所谓的,一旦掉队,就会掉队的越来越厉害,甚至到最后,你根本就追不上了。

  之所以有这样的感慨,其实也是因为LZ自身的经历所致。

  在众多读者的眼里,LZ一直扮演着一个还算比较成功的程序员,事实上LZ自己也觉得自己确实已经很幸运了,通过自己的努力,拥有了稳定的生活,作为一个老百姓来说,这其实已经算是很成功了。

  但其实从上面那个标准来说,LZ其实也掉队了,而掉队的原因,就是因为LZ之前压根就没有意识到这一点,甚至因为LZ是培训班出身,当时LZ觉得自己反而已经是走在了很多人的前面。

  事实上也确实如此,如果按照当时培训班的同学水平来说,LZ确实是走在了很多人,甚至是绝大多数人的前面。

  但进了大厂之后,LZ就发现,因为你的起点比较低,其实你已经无形当中落后了很多,而你必须抓紧时间追赶,才能跟上脚步,而如果你没有及时领会到这一点,你就可能失去追赶的机会。

  而当一个人满足于现状的时候,是很容易失去这种紧迫感的,因此结局很简单,LZ掉队了。

  当然了,这其中其实也有一部分生活的原因,如果LZ是孑身一人,或许LZ当初根本不会来杭州,就算要去大厂,或许也会留在北京,那可能就又是另外一番景象了。

  但是,人生无悔,LZ从来不后悔自己做的任何一个决定,所以,感慨归感慨,但LZ从来无悔。

  不过,如果可能的话,LZ希望可以警醒一部分新人,一定要让自己保持不掉队,特别是头5年,十分的重要,如果你前面5年掉队了,那么,后面你追赶的代价,将会是以前的数倍,因为,你在进步的同时,别人也在进步,甚至比你还快,而且别人更早的上位后,会拥有更多的机会,如此恶性循环,你失去的,不仅仅是那一点点掉队的距离,还有前方无数的机会,都会被别人捷足先登。

  比如某里有两个P6,其中一个先一步升了P7,结果后来团队扩张,需要人来带团队,那么谁来带?肯定是P7来带。

  后来,因为团队的扩展,P7可能很快又升P8了,而那个P6,可能还是那个P6,他依旧还在那里,不骄不躁。

  这就是典型的,一步差,步步差。

  所以,请不要给自己留遗憾,在该奋斗的年纪,做该做的事,杜绝温水煮青蛙,你的未来,原本可以更精彩。

  说完了工作,咱们来谈谈生活。

  生活发展路线是什么?

  这个绝大多数人都是一样的,谈恋爱、买房、结婚、生子,不排除部分不婚主义者和丁克一族,但这些毕竟是少数,千百年来形成的人类发展路线,个人其实很难抗衡,如果你要抗衡,你就要面对来自外界异样的眼光和批判,甚至也包括家人的阻拦。

  大部分人,最终依旧会选择妥协,但其实妥协的时候,往往只会更加痛苦。

  该恋爱的年纪没谈恋爱,该结婚的年纪没结婚,该生孩子的年纪没生孩子,该买房的年纪没买房,到时候,只会留下一地的感慨和遗憾。

  当然了,每个人的情况都不同,到底什么时候该做什么,无法一概而论,但和职场一样,LZ也希望警醒一部分人,不要和工作一样,温水煮青蛙,总是被动的等待着,不主动去争取,总觉得该来的总是会来的,就像当初的LZ总觉得该晋升的时候,自然就会晋升的。

  事实证明,该来的不会自己来,只会越走越远,你必须要自己主动想办法。

  相信大多数人,在年轻时都产生过此生不结婚,此生不生子的想法,但其实这些想法,最终都会被现实打败。

  俗话说退一步海阔天空,其实有时候你退一步看一看,你会发现,其实结婚生子这些俗套的东西,并没有你想象中的那么无趣,反而会让你觉得生活更加精彩。

  一个人的精彩,终究是要落幕的,但一家人的精彩,却可以永世传承。

  所以,LZ奉劝部分年轻人,放弃掉这些不切实际的想法,这么多人走过的路线,不说一定是正确的,但至少不会是错误的,就算是错误的,参考围城逻辑,你也要走一遍,才能走出这个围城,去真正的享受一个人的精彩。

  有些南墙,终究是要去撞一撞的。

  结语

  好了,到这里,文章想表达的内容LZ基本上讲完了。

  不知道各位读者看完的感受是什么,或许是亚历山大,或许是恍然大悟,或许是一番感慨,也或许是嗤之以鼻。

  但无论是什么,工作是你的,生活是你的,自己的选择,自己来负责。


作者:软件测试狂阿沐    

来源:http://www.51testing.com/html/14/n-4481114.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、功能测试用例的设计举例:(一)我想要回家,让你给我买一张票,然后设计测试用例答案:确定需求(回家回哪,需要什么票,买什么时候的票)开始测试功能测试(我去买票(买火车票,飞机票),买到票(什么时候),回来给你);可靠性测试(我去买票过程中被撞死了,票买不到怎么办,延期了,买那个点的票没了怎么办让我帮他买票的人的身份,比如是否有特殊优待,如军人,1米2以下儿童等,身份证丢了,或者票丢了,责任划分);可维护性测试(票是否可保存完好);兼容性(还不同人的去买,我中间招人去买,我坐车走路);算法测试(我通过不同的渠道买票花费的时间);竞品测试(别的人怎么买的票);安全性测试(身份信息保密);性能测试...
            13 13 1651
            分享
          • 1.如何判断一个单链表是有环的?struct ListNode { int key; ListNode* next; }; bool check(ListNode* head) //return false : 无环;true: 有环 { } 答案:一种O(n)的办法就是(搞两个指针,一个每次递增一步,一个每次递增两步,如果有环的话两者必然重合,反之亦然): bool check(ListNode* head) { if (head == NUL...
            14 14 1513
            分享
          •   概述  从去年4月份开始,已经发现我们的提测版本质量存在问题,于是陆陆续续向上反馈希望通过自测环节来把控提测版本质量问题。  为此,经过前期的一些探索我们开展了如下工作成果,增加自测流程:  · 整体汇总单体测试测试点V1.0  · 通用测试checklist 清单  · 单体测试宣讲  问题分析  在经过上述实践后,我们发现了一些不足之处。从不同角度深入分析,我们意识到在某些方面仍需改进。  排除一些主观因素外,存在问题现象有2点:  1、不能匹配所有项目  部门大部分项目为web 项目,有些功能清单能覆盖到,有的项目非web型,并且调用第三方平台,针对这种...
            0 0 1113
            分享
          •   Postman实现接口功能测试  新增货品接口实战  1、填写接口请求4要素:  由于货品新增接口文档找不到接口请求4要素中的:请求方法、请求地址和请求头,故,使用Fiddler抓包获取,获取结果如下:  1)请求方法:POST  2)请求地址:  https://open.jackyun.com/open-platform/developer/intercept/testtool/buildparamandrequest  3)请求头:  截图如下:  文本内容如下:Content-Type: application/x-www-form-urlencoded; ch...
            0 0 1703
            分享
          •   一、判定表  1.使用场景:  当多个输入条件之间存在逻辑关系,需要组合测试时,使用判定表法进行分析  2.相关概念  (1)条件桩:输入条件,如工资薪制,错误程度  (2)条件项:输入条件的取值,如年薪制、月薪制  (3)动作桩:输出结果项,如扣款比例,扣款金额,实发工资  (4)动作项:输出每个项的具体值  3.使用步骤  (1)需求分析,得到条件桩和条件项,以及动作桩  (2)确定组合数量(条件项乘积)  (3)得到判定表  (4)导出测试用例,原则,一列是一条测试用例  案例1:  工资发放系统  条件桩:工资薪制  条件项:年薪制,月薪制,季薪制  案例2:  有一个处理单价为5...
            4 4 2767
            分享
      • 51testing软件测试圈微信