我常常在会议上听测试行业内部的人说:“现在啊,刚毕业的大学生都不具备我们所需要的技能……”这话没错,可我倒是有一个提议可以稍微缓解一下这个实际上很简单的问题。简单来说就是,为什么不帮这些大学生一把,或者接受当地的学术界专家教授呢?
一个大学和企业都不得不面对的难题就是预算限制(尤其在现今的经济状况之下)。就像许多企业已经大大减少了他们的可支配支出,不少大学也是,或许大学减少的还要多些。众所周知,专业会议的价格是相当昂贵的,你的专业领域的专业培训课程也是。现在,在计算机科学和其他信息技术相关的领域里,我们需要了解的知识主体是处于不断变化中的,而且很快就会过时。
现在所用的技术――硬件和软件,在我们许多专家还在研究生院时都没发明出来。所以,我们现在课上所教的基本都是我们自学的。如果那时够幸运的话,我们或许能够参加培训班去学习我们现在所教授的内容。但更可能的是我们不得不自学。
所以,努力工作的员工怎样才能得到他们所需要的培训,将来成为软件测试/软件工程的专家呢?——通过正式或非正式地让企业和大学建立更多的合作关系。
非正式联盟
企业花费大量经费来培养他们的员工,花钱让他们获得正规的大学教育,派他们参加相关会议和专业发展研讨会。许多这类研讨会大多是在线的,要么请了咨询顾问来上培训课要么由公司自己内部的员工举办。通常顾问讲师是按学员个数来要价,但也有时按一定范围的人数要价,比如:20到25人一个固定价。但愿这是我最后一次这么说了。下次你们邀请当地教授免费来帮你们上在线培训课,怎么样?
怎样才能更好的确保你们所招顾问讲师所教的东西就是你们希望你们将来的员工能学会的?这得花费多少经费?另一套培训资料和一顿午餐吗?或者如果他们确实是按每个人来收费,那这样,你还要额外花这么多钱去培养一个专家还值不值得?或许吧......
正式联盟
建立一个更加正式的联盟是另一个的选择,它或许对参与其中的每个人都更具价值。这种正式联盟有多种形式,包括:提供资金让学校教授去参与测试会议或课程;让公司员工在大学里做讲座嘉宾;提供机会让教职员工和学生来公司参观;让学校的教职员工来公司工作一段时间。给学校的教授们提供可以在课上用得着的材料和例子也是极具价值的。
我的一个难题是:找出对学生既有意义又有挑战的现实生活中的实例与练习。你们可以把任何有关你们公司行业机密的东西留着,只提供可以融入课堂的知识。
许多公司已经制定了正式的教授计划,如:设立一个持续几个月或者几年的客座教授的职位。我很幸运,在几年前的一个夏天加入了这样一个联盟,作为一个大企业的学院合作计划的一部分,我在他们的一个重要的软件测试实验室工作了五个礼拜。那次经历是相当珍贵的。在学校和企业都受益的同时,我计划着在学校开一门新的软件测试的课程。
作为开新课的一部分准备,我想学习当前的实例并熟悉一些现在大家使用的自动化测试工具;我想了解成为一名全职测试员是怎样的:测试员会面对哪些挑战?他们用哪些自动化工具?这些工具的优劣点是什么?成为一位测试队伍的项目经理又是怎样的?我想知道企业是如何在软件测试的业务流程中整合工具的;我想加强我们学校和测试企业的合作关系。
我也可以看书来了解这些,但是我想知道更多,想提高我对这方面的理解,想把这些知识带到课堂。公司企业的目标是从长远角度积极影响招聘员工。更明确地来说,他们在向我们展示他们为其公司内部需求和客户需求所设计的测试软件的同时,也想要加强和学校的联系。因为他们以及许多其他公司都为了该如何招到有专业测试背景和把软件测试作为一个职业选择的学生烦恼着。
我被任用了
作为他们院校合作计划的一部分,我有幸能够采访和近距离观察测试员的日常工作,可以和软件测试项目经理探讨问题。
其中一个不错的经历就是我花了几个小时向他们的可用性专家学习了可用性测试。一个意外的收获是:他在他们可用性实验室为我录制了在一个网页上运行可用性测试的过程。我利用录制的内容给学生阐释说明了一个正规的可用性测试的流程。我也参加了几次培训课学习了两家供应商的测试软件。
这次联盟的一个结果是我能够获得我为了开软件测试课程所需要的准备工作。除了我接受的技术培训,我还对现下业务测试行业的难题与挑战有了更好的了解。下个学期,我就开办了软件测试课程。班级的学生有来自商业学院信息系统专业的,还有来自工程学院计算机科学专业的。他们团队合作,我会确保一队中有两名学生是信息系统专业(商业)的,另外两名学生是计算机科学专业(工程)的。这样来自两所学院的学生就不得不合作了。
通过加强和我们学校的合作并且通过让学生更好地了解了测试相关的职业,而公司的招聘成功率随之上升,公司就从中获益。
这样,学生会把软件测试作为一个职业选择。潜在员工变得更适合企业的需求:学生获得暑期实习的机会,毕业后立即成为该公司的正式员工。
我现在有新的合作伙伴了
当我在软件公司时,一位经理联系了自动化软件测试工具的一家供应商的CEO,恳请他们为我校捐赠测试工具。这样子,其中的每一方都能受益:学校可以收到最好的测试工具来用到课上教学;公司可以雇用对自动化测试工具有经验的新人;自动化测试工具的供应商可以把他们的软件送到将来的软件测试决策者们的手上。同时,软件公司开始以我们学校为成功案例和其他高校建立正式项目。
与这家公司合作了差不多一年的时候,他们宣布了新的计划:提供软件和培训材料俩帮助学术机构发展他们的技术课程。
我们学校是第一个参与这个合作计划并收到捐赠的机构。在课上,我使用他们的网页应用测试软件,网页下载测试软件和管理需求、制定测试计、划追踪缺陷的产品。
其他公司也给我们学校捐赠了软件(和硬件),供我们上课使用。它的意义是许多公司都开始十分慷慨地捐赠他们的产品给学校供上课使用了,但也许只有我们提出时他们才会这么做。
挑战
这是一项巨大的任务,但只有我一个人在做着。所以,如果软件公司愿意给一所学校捐赠软件,他们必须有提供额外培训和支持的准备。不然的话,这项计划就会破产。
一所学校里多个不同的学科的人都加入的话,这项计划成功的几率就大些,但这样的机会也不是经常有的。但确实有来自其他学科(如:商业信息系统和计算机科学)的教职员工参与也是很吸引人的一点。
为了成功开设一门软件测试课并把软件与课堂整合得花上不少时间。至少以我自己的例子来说,我除了平常的教学任务就一心一意专门做这个。不必说,我很忙。所以,有什么能大大地提高成功的几率呢?——让企业对与当地教授合作产生兴趣并在大学的release time提供资金。这是什么意思呢?就是说,这个教授一学期教两门课,这笔资金就提供给大学来支付教授教一门课的工资,这样的话,他们就可以少教一门课。
我最需要的就是时间。在一些大学,如果正处于资金短缺时期,那么教学工作量(每学期每个教授要教的课程的数量)就会增加。那样,我们教课比平常要多,就没时间花在软件测试课的事情上了。
但是这样做会耗费企业的经费吗?当然会。但是,为了让你能够招到合格的大学毕业生,做什么事是值得的呢?当雇佣到优秀的员工时,想想公司花在培训上的所有资金吧,那就是答案。
另一个选择就是企业给教授发工资,事实上一付就要长达一年。但或许你更愿意一直不断吸引更换新的教授来上课而不提供资金,这样的话你或许不会像你提供稳定的资金那么成功。
话虽如此,一些教授倒愿意作为客座教授,或许离开校园,在企业公司里工作个一、两年。
一个永久的选择是:建一个由企业提供资金的讲座职位。这个职位或许是比较耗费资金的,但可能是更成功的。在这种情况下,一家公司要长达一年投入大笔资金和精力在这个职位上。
如果你们学校设有硕士、博士学位,那么学校的研究生们就能和公司测试员工一起做项目。反之,这些项目也可以成为他们的硕士、博士论文的实例。
总结:
显然,通过更近一步的合作,测试行业和学术界都可以获益。想要了解你们当地学校的教职员工的更好的方法是什么?让测试行业和学术界结成联盟的更好的方法是什么?帮助你们招到符合要求的学生的更好的方法是什么?——一大批当地学校的教授求任用!
最新内容请见作者的GitHub页:http://qaseven.github.io/