我常常在會議上聽測試行業內部的人說:“現在啊,剛畢業的大學生都不具備我們所需要的技能……”這話沒錯,可我倒是有一個提議可以稍微緩解一下這個實際上很簡單的問題。簡單來說就是,為什么不幫這些大學生一把,或者接受當地的學術界專家教授呢?
一個大學和企業都不得不面對的難題就是預算限制(尤其在現今的經濟狀況之下)。就像許多企業已經大大減少了他們的可支配支出,不少大學也是,或許大學減少的還要多些。眾所周知,專業會議的價格是相當昂貴的,你的專業領域的專業培訓課程也是。現在,在計算機科學和其他信息技術相關的領域里,我們需要了解的知識主體是處于不斷變化中的,而且很快就會過時。
現在所用的技術――硬件和軟件,在我們許多專家還在研究生院時都沒發明出來。所以,我們現在課上所教的基本都是我們自學的。如果那時夠幸運的話,我們或許能夠參加培訓班去學習我們現在所教授的內容。但更可能的是我們不得不自學。
所以,努力工作的員工怎樣才能得到他們所需要的培訓,將來成為軟件測試/軟件工程的專家呢?——通過正式或非正式地讓企業和大學建立更多的合作關系。
非正式聯盟
企業花費大量經費來培養他們的員工,花錢讓他們獲得正規的大學教育,派他們參加相關會議和專業發展研討會。許多這類研討會大多是在線的,要么請了咨詢顧問來上培訓課要么由公司自己內部的員工舉辦。通常顧問講師是按學員個數來要價,但也有時按一定范圍的人數要價,比如:20到25人一個固定價。但愿這是我最后一次這么說了。下次你們邀請當地教授免費來幫你們上在線培訓課,怎么樣?
怎樣才能更好的確保你們所招顧問講師所教的東西就是你們希望你們將來的員工能學會的?這得花費多少經費?另一套培訓資料和一頓午餐嗎?或者如果他們確實是按每個人來收費,那這樣,你還要額外花這么多錢去培養一個專家還值不值得?或許吧......
正式聯盟
建立一個更加正式的聯盟是另一個的選擇,它或許對參與其中的每個人都更具價值。這種正式聯盟有多種形式,包括:提供資金讓學校教授去參與測試會議或課程;讓公司員工在大學里做講座嘉賓;提供機會讓教職員工和學生來公司參觀;讓學校的教職員工來公司工作一段時間。給學校的教授們提供可以在課上用得著的材料和例子也是極具價值的。
我的一個難題是:找出對學生既有意義又有挑戰的現實生活中的實例與練習。你們可以把任何有關你們公司行業機密的東西留著,只提供可以融入課堂的知識。
許多公司已經制定了正式的教授計劃,如:設立一個持續幾個月或者幾年的客座教授的職位。我很幸運,在幾年前的一個夏天加入了這樣一個聯盟,作為一個大企業的學院合作計劃的一部分,我在他們的一個重要的軟件測試實驗室工作了五個禮拜。那次經歷是相當珍貴的。在學校和企業都受益的同時,我計劃著在學校開一門新的軟件測試的課程。
作為開新課的一部分準備,我想學習當前的實例并熟悉一些現在大家使用的自動化測試工具;我想了解成為一名全職測試員是怎樣的:測試員會面對哪些挑戰?他們用哪些自動化工具?這些工具的優劣點是什么?成為一位測試隊伍的項目經理又是怎樣的?我想知道企業是如何在軟件測試的業務流程中整合工具的;我想加強我們學校和測試企業的合作關系。
我也可以看書來了解這些,但是我想知道更多,想提高我對這方面的理解,想把這些知識帶到課堂。公司企業的目標是從長遠角度積極影響招聘員工。更明確地來說,他們在向我們展示他們為其公司內部需求和客戶需求所設計的測試軟件的同時,也想要加強和學校的聯系。因為他們以及許多其他公司都為了該如何招到有專業測試背景和把軟件測試作為一個職業選擇的學生煩惱著。
我被任用了
作為他們院校合作計劃的一部分,我有幸能夠采訪和近距離觀察測試員的日常工作,可以和軟件測試項目經理探討問題。
其中一個不錯的經歷就是我花了幾個小時向他們的可用性專家學習了可用性測試。一個意外的收獲是:他在他們可用性實驗室為我錄制了在一個網頁上運行可用性測試的過程。我利用錄制的內容給學生闡釋說明了一個正規的可用性測試的流程。我也參加了幾次培訓課學習了兩家供應商的測試軟件。
這次聯盟的一個結果是我能夠獲得我為了開軟件測試課程所需要的準備工作。除了我接受的技術培訓,我還對現下業務測試行業的難題與挑戰有了更好的了解。下個學期,我就開辦了軟件測試課程。班級的學生有來自商業學院信息系統專業的,還有來自工程學院計算機科學專業的。他們團隊合作,我會確保一隊中有兩名學生是信息系統專業(商業)的,另外兩名學生是計算機科學專業(工程)的。這樣來自兩所學院的學生就不得不合作了。
通過加強和我們學校的合作并且通過讓學生更好地了解了測試相關的職業,而公司的招聘成功率隨之上升,公司就從中獲益。
這樣,學生會把軟件測試作為一個職業選擇。潛在員工變得更適合企業的需求:學生獲得暑期實習的機會,畢業后立即成為該公司的正式員工。
我現在有新的合作伙伴了
當我在軟件公司時,一位經理聯系了自動化軟件測試工具的一家供應商的CEO,懇請他們為我校捐贈測試工具。這樣子,其中的每一方都能受益:學校可以收到最好的測試工具來用到課上教學;公司可以雇用對自動化測試工具有經驗的新人;自動化測試工具的供應商可以把他們的軟件送到將來的軟件測試決策者們的手上。同時,軟件公司開始以我們學校為成功案例和其他高校建立正式項目。
與這家公司合作了差不多一年的時候,他們宣布了新的計劃:提供軟件和培訓材料倆幫助學術機構發展他們的技術課程。
我們學校是第一個參與這個合作計劃并收到捐贈的機構。在課上,我使用他們的網頁應用測試軟件,網頁下載測試軟件和管理需求、制定測試計、劃追蹤缺陷的產品。
其他公司也給我們學校捐贈了軟件(和硬件),供我們上課使用。它的意義是許多公司都開始十分慷慨地捐贈他們的產品給學校供上課使用了,但也許只有我們提出時他們才會這么做。
挑戰
這是一項巨大的任務,但只有我一個人在做著。所以,如果軟件公司愿意給一所學校捐贈軟件,他們必須有提供額外培訓和支持的準備。不然的話,這項計劃就會破產。
一所學校里多個不同的學科的人都加入的話,這項計劃成功的幾率就大些,但這樣的機會也不是經常有的。但確實有來自其他學科(如:商業信息系統和計算機科學)的教職員工參與也是很吸引人的一點。
為了成功開設一門軟件測試課并把軟件與課堂整合得花上不少時間。至少以我自己的例子來說,我除了平常的教學任務就一心一意專門做這個。不必說,我很忙。所以,有什么能大大地提高成功的幾率呢?——讓企業對與當地教授合作產生興趣并在大學的release time提供資金。這是什么意思呢?就是說,這個教授一學期教兩門課,這筆資金就提供給大學來支付教授教一門課的工資,這樣的話,他們就可以少教一門課。
我最需要的就是時間。在一些大學,如果正處于資金短缺時期,那么教學工作量(每學期每個教授要教的課程的數量)就會增加。那樣,我們教課比平常要多,就沒時間花在軟件測試課的事情上了。
但是這樣做會耗費企業的經費嗎?當然會。但是,為了讓你能夠招到合格的大學畢業生,做什么事是值得的呢?當雇傭到優秀的員工時,想想公司花在培訓上的所有資金吧,那就是答案。
另一個選擇就是企業給教授發工資,事實上一付就要長達一年。但或許你更愿意一直不斷吸引更換新的教授來上課而不提供資金,這樣的話你或許不會像你提供穩定的資金那么成功。
話雖如此,一些教授倒愿意作為客座教授,或許離開校園,在企業公司里工作個一、兩年。
一個永久的選擇是:建一個由企業提供資金的講座職位。這個職位或許是比較耗費資金的,但可能是更成功的。在這種情況下,一家公司要長達一年投入大筆資金和精力在這個職位上。
如果你們學校設有碩士、博士學位,那么學校的研究生們就能和公司測試員工一起做項目。反之,這些項目也可以成為他們的碩士、博士論文的實例。
總結:
顯然,通過更近一步的合作,測試行業和學術界都可以獲益。想要了解你們當地學校的教職員工的更好的方法是什么?讓測試行業和學術界結成聯盟的更好的方法是什么?幫助你們招到符合要求的學生的更好的方法是什么?——一大批當地學校的教授求任用!