在给学员做入学评估的时候,经常会遇到很多人对职业规划是相对迷茫的。不知道如何选择“适合”自己的职业。凡事预则立,不预则废。人在职场“混”,怎么能不职业规划!那么如何进行个人的职业规划?怎么样才能实现个人事业蓝图?下面的四个选择您可以来排一下顺序:
其一,“择世所需”,也就是说我们选择这个时代所急需的行业?从这一点来看,软件测试行业应该是目前众多行业里面最符合这个条件的一个行业之一。因为随着人们对生活质量的高要求,对软件质量的要求也越来越高,而软件测试是软件质量保证最关键的实践之一。正是因为这样,越重要的领域,比如金融、证券、电子商务、互联网、移动、通信等领域越重视软件测试。另外从很多的数据也可以来发现这个趋势,记得51Testing论坛在08年的时候才23万会员,但到2011年今天就有近46万会员,翻了一倍多。在一定程度上说明,越来越多的人在关注这个领域。
其二,“择己所好”,一个人的喜好往往是由一个人的性格和这个人过去工作背景所决定。根据霍兰德职业倾向测试,软件测试职业属于调查型、社会型兼有一部分艺术型活动。所以从这个意义上来看,思维方式比较发散、敏感、多样化、喜欢琢磨问题、具备怀疑精神、乐于与人沟通、喜欢钻研、追求完美的这类人适合软件测试这个职业。但是,个人认为工作谈不上喜欢与否,或者说一开始谈不上喜欢,只有当把这份工作做到一定的分量上,并且你因为这份工作得到了你应该得到的尊重、成就感、满足感、荣誉、社会地位、财富甚至是虚荣心。当你得到了想得到的物质上和精神上得满足之后,您才会爱上一份工作。就像爱上一个人一样。除了有一见钟情,还有日久生情。工作也同样如此。所以从这个意义上来看,当你感觉不受重视时、当你发现这份工作没有办法给你带来成就感、满足感、当你觉得你厌恶一份工作的时候。或许你已经知道,方向错了。如果是这样,给你一个忠告:“如果方向错了,停下来就是前进。”。正如婚姻与爱情一样。如果找不到继续下来的理由,换一个活法总比在一个坑里面等死好。趁年轻,让自己从一个圈子跳入另一个圈子。人生是一个不断突围的过程。职业发展也是一个不断实现突围的过程。在这个过程中,唯一不变的是变化。有不少非计算机专业的人通过各种方式问我,非计算机专业能不能做软件测试。先从“择己所好”的角度来分析。如果你对计算机(相关的编程、数据库、网络、操作系统等)感兴趣,或者以前选修过相关的课程。那我告诉你,没有问题,因为重要的不是你大学学的是什么专业,而是你现在懂什么。很多的案例可以在一定程度上佐证我这个观点,比如,马云不是学电子商务的,他照样搞成了阿里巴巴(但需要说明的一点是,马云不是不懂电子商务)。大学给我带来的更多的是知识,至少我现在还是这样的观点,大学带给我们的知识是我们在未来工作中再学习的前提。如果你以前对没有任何计算机的知识背景,那么就需要酌情来分析了。最关键的一点是你的学习能力和学习动力,这一点最好请专业的老师来考察下。
其三,“择己所长”,选择自己所擅长的,一个人擅长的东西是这个人区别与其他人的核心价值,这个就是通常我们在面试的时候会被问到,你的优点是什么?缺点是什么?真正的“优点”应该是相对的,相对于具体的工作而言,也就是工作如果需要,这个才能称之为优点,或者这个优点才有用,另外优点更是相对于与你竞争同一份工作的竞争对手而言,你比你的竞争对手强的是什么?所以我经常性建议我的学生,你至少要能回答好如下三个问题,才说明你对优点真正理解,第一个,你参加了培训与没有参加培训,让你具备了什么相对的优势,起码你系统的掌握了软件测试的核心的基本的工具、流程、方法以及项目,也知道一个优秀的测试工程师应该具备哪些素质。第二个,你参加了51Testing的培训和其他的培训有什么区别,起码51Testing是专注软件测试领域,起码51Testing是唯一一家能够做就业培训、在职人员提高、企业内训三个层次的唯一的IT培训机构,另外只要是提到软件测试,行业内的人大家都知道,就好比,每个人都知道百度一样。当然51Testing只是平台,平台很重要,但是第三个问题就是,同样是参加51Testing培训,你比别人强的地方是什么?所以从“择己所长”来看,非计算机专业相对的劣势是计算机基础,这个是相对于计算机专业而言,我们不得不正视这个问题,正是因为这样,通过一个培训可以培养一定相对的优势,实际上通过扬长避短,51Testing也帮助了非常多的非计算机专业进入软件测试领域,而且大部分工作情况也非常不错,他们可以在行业知识等其他方面来凸显自身的优势,为了能更好得做好这个事情,你最好请专业的老师来帮你分析下,你自身的优势与劣势。但从我给很多人做入学评估与沟通的过程来看,很多人是不善于去发现自身的优势与劣势,所以要么不够自信,觉得自己是非计算机专业,学不好软件测试,做不好这份工作。要么是盲目的自信,觉得很容易,但是,不管是不自信还是盲目的自信都是有问题的。人真正要搞清楚的是自身的优势,搞清楚,有哪些事情是要靠自己的,哪些事情是要靠别人的。
其四,“择己所利”,即选择对自己有利的职业,这个主要是结合自身情况看行业,比如很多学电子专业的,在企业里面做了一段时间,发现这个行业的发展有很大的瓶颈,原因是这个行业已经饱和且相关技术已经非常成熟,未来3-5年的发展可以从身边的领导身上就可以直接看到。所以从“择己所利”的角度来看,放弃眼下,展望未来是很关键。软件测试这个行业,只要你能沉下心来,潜心钻研,3-5年的前景还是看得到的。
另外从成为一名职业的软件测试工程师来看,主要的知识结构包括如下几个方面,第一是计算机相关的基础知识(计算机相关专业的人在大学就已经学过了)。第二部分是软件测试核心技术,学习软件测试核心技术,好比学习武术,不是非得体育专业的人来学习,关键是你对武术感不感兴趣,是不是一块练武的材料。从核心技术的分类来看,可以分为三大类:第一类是软件测试工具,工具好比兵器,目前比较流行的商业工具有LoadRunner(需要懂C等编程语言),QTP(需要懂VBScript)等,除了商业的测试工具外,在一些大企业里面可能会开发自己的测试工具,这类工作叫做软件测试开发职位(这个可能是未来会火起来的一类测试职位之一),学习好测试工具,好的学习方式和老师的指导能帮助在一定程度上降低学习的难度。当然,最好还是懂点编程会更好。测试工具是测试技术领域里面需要计算机基础的一类技术。第二类是软件测试方法,方法好比武功秘籍,软件测试方法帮助解决复杂软件的测试需求分析与测试设计的问题,也就是我们所说的what与how的问题,学习软件测试方法对计算机知识几乎没有特别的要求,关键是基本的学习能力,我曾经给金蝶做过软件测试需求分析和测试用例设计方法的培训,当时金蝶也有很大一部分人是学财务、会计等非计算机领域的。所以从这个影响软件质量最关键的技术来看,能否学好软件测试方法与计算机知识没有太多的关系。第三类是软件测试流程,流程好比武术套路,是规范的软件测试和非规范的软件测试比较关键的要素,流程本身是把生产线上的流水线的方式引入到软件工程界后的一项工程实践。流程包括活动、角色、输入、输出、入口准则、出口准则、检查表等组织。所以,流程属于工程领域技术,从学习的角度来看,与计算机基础关系不大。实际上,也有不少编程能力相对薄弱的测试工程师通过关注软件测试流程进入软件测试更深的领域,如流程改进,软件测试管理和质量管理等领域。第三部分是行业知识,软件测试是一门对行业知识要求比较高的一类IT职业,即便是像金蝶这样在某一个领域非常出色的软件企业,他们也把软件测试工程师分成了几类,其中有一类是对行业知识要求高过计算机基础知识的,所以在里面也有很多非计算机专业的,比如财务、金融等专业的软件测试工程师。这类人最需要提高的是软件测试的核心技能。这个在前面有提到过。实际上每个行业都由相关的行业知识,而从学校学习的角度来看,过去在大学里面学到的相关的行业知识对于今后要从事的软件测试工作,也是有非常大的帮助。从这个行业分类上来看,软件测试目前最好的行业主要有金融证券、保险、互联网、电子商务、电信移动、通信、3G应用、大型门户网站、游戏、军工、财务等生活中关键的领域。第四部分是素质,比如逻辑思维能力,分析问题的能力,善于关注细节的能力,所以有些人是凭借这个能力进入的,比如微软都曾经招过家庭主妇来做软件测试,这个家庭主妇没有计算机背景,也没有学历,但是凭借非常强对问题的敏感而找到软件测试的工作,微软是非常重视软件测试的,芮成钢在采访比尔盖茨的时候,盖茨曾经说过“Many people maybe think we are a software develope company,but in fact, we are a software testing company!”微软几乎所有的产品都是测试工程师的比例高于开发工程师的比例。他们把测试工程师分为两大类,一大类是对编程有要求的测试开发工程师,一类是对编程要求较低的测试工程师。所以非计算机专业的人至少也可以做对编程要求相对较低的这类工作。
综合而言,无论从“择世所需”、“择己所长”、“择己所好”、“择己所利”,还是从一个优秀的测试工程师应该具备的具体的能力与素质来看,是不是计算机专业不是进入软件测试领域唯一的条件,事实上现在有很多非计算机专业的人也在从事这个职业,而且也非常不错。只是从知识结构全面性角度来看,懂计算机知识还是非常重要的。软件测试工程好比医生,分外科和内科,好比黑盒测试与白盒测试,内科需要懂人得内部结构,而外科不一定非得懂内部结构,当然懂会更好,多一个选择。所以软件测试也不一定非得懂编程,当然懂会更好,多一个选择。另外医生也分专科,软件测试也可以分很多专项,比如有可用性测试(用户体验测试),这类测试是不需要懂编程的,也有自动化测试,这类是要懂编程的。最后给非计算机专业想进入软件测试领域一个建议与忠告,扬长避短,发挥自身已经有得优势,适当弥补自身的劣势,依赖行业背景、性格优势等专注软件测试某一个领域,这样就能成为某一个领域的测试专家。如果参加培训,在培训的过程中多关注自己与别人不一样的能力和素质。多向优秀的人学习,多发现问题,多解决问题。积累经验,把自身的优点、兴趣等跟将来要从事的职业结合起来。不要妄自菲薄也不能盲目自大。
本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/