老資格的軟件開發(fā)設(shè)計(jì)人員經(jīng)常被要求幫助那些沒有什么經(jīng)驗(yàn)的新手。但是,如果這名軟件開發(fā)方面的新手在此之前沒有任何的技術(shù)開發(fā)背景的話,這個(gè)任務(wù)就變得相當(dāng)艱巨了。
作為要幫助別人的人,你所扮演的是一個(gè)非常關(guān)鍵的角色。這是由于你所做的一切將決定這名技術(shù)開發(fā)方面的新手是否能夠走上正確發(fā)展的道路。對(duì)一名缺乏經(jīng)驗(yàn)和背景的軟件開發(fā)新手來說,最需要的就是你的耐心以及豐富的專業(yè)技能和經(jīng)驗(yàn)。在指導(dǎo)這些新手的時(shí)候,你不但需要檢驗(yàn)什么是他們已經(jīng)知道的,而且還需要讓這些新手掌握他們以前并不知道的內(nèi)容,并且要為這些人選擇合適他們的項(xiàng)目。
訓(xùn)練的開始
有這樣一種典型的情況:項(xiàng)目經(jīng)理告訴你,桌面支持小組的Alex將會(huì)加入到你所領(lǐng)導(dǎo)的這個(gè)開發(fā)小組。之前,Alex已經(jīng)有了在桌面支持小組中超過兩年時(shí)間的工作經(jīng)驗(yàn),但是他希望能夠變化一下自己熟悉的工作,于是就決定把發(fā)展方面轉(zhuǎn)移到應(yīng)用軟件開發(fā)的領(lǐng)域中來。部門經(jīng)理希望你能夠幫助Alex進(jìn)入這一領(lǐng)域,幫助他學(xué)習(xí)如何成為一名軟件開發(fā)設(shè)計(jì)人員。在加入到你的小組之前,Alex將會(huì)參加一個(gè)為期一周的培訓(xùn)課程,這個(gè)課程能夠幫助他熟悉一下你所領(lǐng)導(dǎo)的小組所使用的開發(fā)語言。
你必須首先了解這名新組員的一些情況??梢酝ㄟ^向他提出如下的問題來掌握這些情況:
他對(duì)操作系統(tǒng)熟悉到什么程度?是否能夠自己解決一些操作系統(tǒng)或軟件方面的問題?這些問題在讓他調(diào)試程序或者面對(duì)軟件開發(fā)所遇到的問題的時(shí)候能夠有所幫助。
他對(duì)產(chǎn)品的認(rèn)識(shí)程度達(dá)到了一種什么樣的層次?如果他已經(jīng)和客戶一起工作了兩年的時(shí)間,他應(yīng)該對(duì)客戶在使用這些產(chǎn)品的時(shí)候會(huì)經(jīng)常遇到什么樣的問題能夠有比較全面的了解。
他還需要學(xué)習(xí)有關(guān)軟件開發(fā)的哪些方面的概念?舉個(gè)例子來說,他在加入你的團(tuán)隊(duì)之前所接受的為期一周的培訓(xùn)中應(yīng)該涵蓋必要的相關(guān)概念。
在這種情況下,Alex在正式加入你的團(tuán)隊(duì)之前必須先參加培訓(xùn)課程。我們非常推薦在新手加入團(tuán)隊(duì)之前一定要參加必要的培訓(xùn)課程;這是讓這些新手能夠了解軟件開發(fā)所需要的基礎(chǔ)與知識(shí)的最佳方法,而且可以避免對(duì)你團(tuán)隊(duì)的工作產(chǎn)生影響。你可以在通過下面這些方法來更好的幫助這名軟件設(shè)計(jì)新手:在他正式參加培訓(xùn)課程以前,應(yīng)該和他一起討論并瀏覽一下課程的內(nèi)容。一定要向這名新手明確的指出培訓(xùn)課程的哪些部分對(duì)于將來參與工作是最為重要的。這么做的目的是為了讓這名軟件設(shè)計(jì)方面的新手在參與培訓(xùn)課程的時(shí)候能夠更好的抓住重點(diǎn),以便他在將來正式加入到團(tuán)隊(duì)中之后能夠更快速的掌握各種要領(lǐng)。在經(jīng)過這種交流之后,應(yīng)該可以對(duì)這名新手現(xiàn)在的水平有了一定的了解,并且可以對(duì)他在參加完培訓(xùn)課程之后能夠達(dá)到一個(gè)什么樣的水平做到心中有數(shù)。
為新手確定第一份任務(wù)
新手所接受的第一次工作任務(wù)是非常重要的,所以,一定要選擇合適的項(xiàng)目來讓他完成。就第一次工作任務(wù)來說,你所選擇任務(wù)的類型以及你如何幫助這名新手完成這個(gè)項(xiàng)目,都會(huì)影響這名新手對(duì)這份工作的感覺。
一定要在這名新手正式加入到你的團(tuán)隊(duì)中來以前就為他準(zhǔn)備好一份合適的工作任務(wù)。這么做是為了讓這個(gè)新來者能夠快速的開始工作,也能讓他更快速的融入到團(tuán)隊(duì)中去。我喜歡讓新手們完成這樣的工作,比如說讓他們把新功能添加到已經(jīng)準(zhǔn)備完成的軟件程序中去。這樣的做法能夠給這些新手們帶來以下的好處:
如果讓這些新手獨(dú)自完成編制整個(gè)軟件程序的工作,通常他們都會(huì)因?yàn)檫M(jìn)展緩慢而對(duì)這份工作充滿了挫折感。如果只讓他們往現(xiàn)有的軟件程序里邊添加功能則會(huì)容易的多。
這些新手可以通過完成這樣一件工作來學(xué)習(xí)資深的軟件開發(fā)設(shè)計(jì)人員是如何去解決實(shí)際問題的。
這些新手能夠通過這樣的一份工作接觸到優(yōu)秀的程序編碼范例。
如果