Team Leader你會帶團隊嗎?你懂合作嗎?你好像都不會啊!(下)
Team Leader你會帶團隊嗎?你懂合作嗎?你好像都不會啊!(下篇)
------打好你手中的牌
導讀:
這是接著上一篇《Team Leader你會帶團隊嗎?你懂合作嗎?你好像都不會啊!(上)》寫的。上一篇,我著重寫了什么是團隊,并比較深入的去解釋團隊和其組成。團隊管理不是什么新鮮玩意,有很多好的案例和經驗給我們學習;但是如何運用,則需要我們很好的去深入理解團隊開發的每一個細節。在下篇,就會涉及到一些人提出的疑問,并比較偏應用了。但是整篇對整個團隊管理涉及還不是很完整,因為團隊管理的全部內容不是就靠兩篇文章可以寫完的。有機會我會再深入的寫一篇團隊管理的進階篇,但是對讀者的能力要求就會比較高。
我看了下關于上一篇的評論,有些人不屑于去深入理解什么是團隊,我只能說你將來在團隊管理上的進步是會很渺小和漫長的。如同在我們做軟件開發時,有些人根本就不理解操作系統原理、編譯器原理、托管代碼運行的原理,但這影響他們編程嗎?不影響,他一樣可以編寫出程序,還會出來叫囂;但是對于懂編程和懂原理的,你會發現代碼質量是差別很大的,而且以后的成長也是看得出差距的。
招聘和培訓:
只要你明確好你到底需要什么技能的程序員,招聘其實是一件相對容易做的事情。既然很容易,可為什么有時候卻又老招不到人,結果卻變成了招人難。對于這個問題,在我的實踐當中,可以歸納為以下幾個方面。
1) 需要超人。
2) 需要超人。
3) 需要超人。
對于招人難,我不斷總結、反復總結,能總結出的就是“需要超人”。對于超人這個東東,可以看我的另一篇文章《不是HR,Leader你到底需要招什么樣的程序員(變形金剛?超人?可能嗎!)》。
在這里我以一個小團隊的創建來舉例說明下如何招聘和招到你需要的人。其中的核心思想就是明確你需要什么技能的程序員。
招聘前,你要對你的項目需求有正確的理解。你才能了解你需要哪方面技能的人。假如這里我要做的是一個.Net的Web網站的項目。首先可以把程序員分為兩級,初級和高級。如果我想把Web網站的前臺和后臺獨立開來,那么我們就需要兩個高級程序員(一個負責前臺,一個負責后臺);如果你覺得沒有必要獨立開來,一個高級程序員就可以了。接著你就要明確高級程序員在項目中的職責。我希望高級程序員在項目中負責架構設計和前端后端核心代碼的編寫。到這里其實就可以完了,可以開始寫招聘需求了。至于要幾年工作經驗和有沒有相關項目的經驗,看你自己的把握,畢竟是你的團隊。按照普遍高級程序員3-5年的工作經驗來算,我們就可以大致寫個如下的招聘需求。
1.3-5年工作經驗
2.熟練使用C#開發語言(語言看你們項目使用來定),熟悉網絡開發
3.能夠完成項目中的框架代碼的編寫和主要功能開發
4.掌握Javascript 和 Html
其實這就可以了,如果你有明確的更細的要求,自己再列出。如:
5.理解MVC開發原理
6.熟練使用Jquery
等,具體要什么,看你的實踐需求。切記,不要寫出來的招聘需求是在招超人。寫完后Leader你自己好好讀讀你寫的招聘需求,看是不是在招超人。要是是,那么就需要修改需求,直到合適。其實在每次修改需求時,也是在加深你對你們需求的真正理解。
下面我們就要開始進行初級程序員的招聘了。首先我們要確定總工作量和高級程序員的工作量。這樣我們就可以計算剩余的工作量。工作量的計算在很大程度上取決于你個人經驗的計算。當我們確定了剩余工作量,我們就可以細分我們需要幾個初級程序員來完成和需要什么技能。如需要完成接口的開發和前端網頁的編寫。這樣我們也可以寫出招聘需求了。
1.1-3年工作經驗
2.能夠使用C#進行指定功能開發,對接口開發有一定了解
3.能夠使用Javascript進行網頁交互操作
4.能夠使用Html和Css制作網頁
有時我們還需要帶美工性質的前端
1.1-3年工作經驗
2.熟練使用Html和CSS制作網頁
3.能夠使用Photoshop切圖和繪圖
4.會Javascript和Visual Studio的優先考慮
先說到這里。你也許會說,實際比這復雜的多。這里我要說,我只是通過例子讓你去了解一個流程和理解它。如果你真正理解了,其實整個流程也就是很簡單;沒有你想象的那么復雜。如果你覺得很復雜,可以從一個方面說明你目前能力還不夠。
在我實際的經歷中。剛開始,我寫的招聘需求內容很多,要會這要會那。在我現在的觀點,我就是在招超人。但是當時我覺得,我就是要會這么多技能的人,要不然沒法做。現在看來,其實不用會這么多,也能做。因為在開發的過程中還涉及有學習和培訓的一個過程(我下面在講)。當你寫出的招聘需求是在招超人時,你就要開始簡化,盡量簡化到單一且核心的需求。但是有個情況,你的實際需求確實需要會很多很多。那我們怎么辦?你可能也是程序員過來的,以你自己的經驗和你身邊人的經驗。會這么多的人,你身邊多嗎?既然很少,那么你肯定招不到合適的人。這時你就需要把一個人的任務拆分成兩個人或三個人的任務,招兩個人或三個人來做。這里可能還有一個情況,就是你的老板說要招一個人,可是按照拆分下來的算,你需要兩個人。這時的你,需要和老板好好談談,因為這時不是你的能力可以及的。不要鉆牛角尖,那樣只會讓你招超人。問問老板,看老板有什么建議和指點的。有時你可能會覺得你的老板某些觀念過時了、是錯的、不如你。雖然我也有過,但是在實際的經歷當中,這些有著老程序員經歷的老板確實比你想象中的厲害很多。
還有一種情況,就是我要涉及到的培訓了。當你把招聘需求提煉到很簡潔了,對能力要求也按照經驗做了調整。可是,你還是會發現前來應聘的人達不到你想要的要求。怎么辦?有時你會覺得在降低需求就真的沒有需求了。在這里也許會有人要來抨擊我了,覺得我把程序員說的太那個了。這里我來表達一下我個人的觀點。人才確實有,但很多優秀人才不可否認的都集中在了大型企業和公司;還有一些人則在老程序員前輩的創業公司為了理想而奮斗。還有一個現狀就是,現在軟件公司真的是越來越多(當然倒閉的也多)。一些中流砥柱基本上都已經被瓜分完了,有時還略顯不足,最后攤下來的其實沒有多少了。我個人的看法是,以現在軟件公司的數量和環境,中高級的軟件人才確實還是一個嚴重不足的情況。那么這就造成了中小企業招人難的一個問題。雖然投簡歷的人很多,來面試也是一批一批的,但是卻往往很難招到合適的人。這個時候,我們就要對應聘者放寬點要求,并提供內部培訓。
當你經過數次招聘后,發現應聘者的整體水平沒有達到你的需求。這時你就要調整一下你的要求,適當降低一些技能。因為我們得接受事實;雖然你覺得你的要求不高,但是來的人卻都沒有達到你的要求。這時我們的重點就不應該放在是否達到了你的所有需求,而是只要滿足你某些需求(你自己覺得比較重要的幾個需求)。我們就可以把他暫時列為一個合格的候選人。當我們有了數個這樣的候選人時,我們就可以從中篩選我們所要的人。這時篩選的依據是什么呢?就是學習能力。這里又涉及到怎么去考察一個人的學習能力了,這就要看Leader你的能力了。這個也屬于你該會的一個技能。我個人使用的是,通過深入談話來對候選人進行了解。通過一個具體的問題,讓候選者給出個設計方案或者思想。通過候選者對問題的回答和闡述,其實就很容易找出哪一個具有比較好的學習能力。那么,你要招的人就是他了。你接下來要做的就是對他進行內部培訓,讓他達到你所需要的技能。這里又涉及到一個問題,如何去做內部培訓。在這篇里面,我不打算涉及具體的怎么去做內部培訓,因為這又是一個大的話題。你可以自己去琢磨琢磨怎么弄,不是很難。我們不是要搞個培訓學校什么的,只要可能達到你需要的技能。我想說:對于應聘者,其實只要可以做事并且有一定學習能力,他就是符合你的。什么要這要那的,都是浮云。
對于初級程序員的招聘,我們可以采取筆試題+面試的方法。一般招聘初級程序員的人數相對較多,而且有時會安排集體來考核。筆試的作用就是節省時間,快速的過濾掉不合格的人。再在篩選出剩下的幾個人中進行面談。
對于高級程序員的招聘,我們直接采取面試。這里我是極度反感使用筆試的。不是不能用筆試,只是你往往出不了很好的筆試試卷來考核高級程序員的水平。而且高級程序員的數量要求比較少,也不需要用筆試進行快速篩選。通過深入的談話,就可以了解到很多你從試卷當中了解不到的。有時我們要結合一下公司自身實力來考慮是否需要大量的筆試題。要不然你會發現很難招到人,且不合適。如果,你是世界500強、你的工資開的非常高;那么,你想怎么樣都行。
最后提醒下你,如果你需要特定的人時,或者招不到合適的時候。我們還有一個選擇,可以通過獵頭來幫你尋找。
其實,我只列出了些比較基本和重要的一些因素。當往后發展,你還會涉及到實習生的招聘。等層級結構變復雜后,還會涉及到架構師等很多細分的職位。但是只要我們明確,到底我需要他來做什么。明確需求后,其實招聘的過程都是大同小異。
團隊關系:
團隊關系我不會講很細,只是會稍微提下,因為這話題本身就很復雜和深奧。想完全擊破它需要花費長時間經驗累積。不是說2,3年的管理經驗就可以理解透徹。你要不斷學習,不斷去思考,才可能引導你進步。我就把我遇到的和理解的做個分享,以便于提供一個方向。最后,其中的對于錯,還需大家結合實際去分析。
團隊關系涉及到管理學里面的內容了,大家這時需要去讀一些管理書籍,最好是西方管理和中式管理的都要涉及。西方的管理體制很完善和健全,但是很多地方不適合中國國情,特別是對人性的管理。學習西方的管理理念在結合中式管理是你需要掌握的技能。
團隊關系的處理,分下來可以為兩個方面:員工對員工的問題和員工對領導的問題。如當某個員工知道另一個員工和自己級別一樣、能力差不多且工資卻比自己高時或有員工工作態度比較隨意和散漫,都會產生一個員工對員工的問題。當領導給一個員工加工資時,就會產生其他沒有加工資員工對領導的問題;有可能還會產生其他員工對加工資員工的問題。產生這些問題都是人性管理當中的問題,每個人的性格不同,會產生很多你無法預計的問題出來。想要處理它,你需要長時間的經驗摸索。一旦產生問題,就會影響團隊和諧。當團隊不和諧時,雖然不會怎么嚴重的影響到每個人手上的開發任務,但是會影響團隊之間的合作效率。團隊的合作效率一旦受到影響,開發的時間周期就會延長,并產生風險。所以Leader,你要好好照看你的團隊成員。其實通過控制風險的一些方法,也可以看出團隊之間是否有不和諧的端倪,我放在后面在講。
團隊關系的處理雖然復雜多變,但他始終是一個對人性管理的過程。我們只要滿足了員工的基本需求,員工也會自我去調整和團隊的關系。大的需求集中在:工資、工作環境和發展空上。當有員工開始出現問題,這時我們就需要了解是什么影響力他,讓他產生了問題。普遍不會逃出這三個大方向。你在看是否需要滿足他其中的一個要求。如果不在這三個之內,基本上都是些不太合理的需求,我個人認為是無理取鬧。但是我們還是要細心去了解是什么其他原因。如很長見的是員工家庭的原因,這時你就需要進一步了解。如果是,可以給予幫助或合適的便利。
還有員工的跳槽啊等等都會產生員工的問題。這里不會再去討論和解說了。只要你掌握了原理和深刻理解了,當出現問題時,你都會有方法來解決它。
風險管理:
對于剛開始做Leader的人來說,風險控制是很頭疼的一件事情。有時心里會祈禱不要出現風險或對自己說應該不會出問題的。當有這種想法時是萬萬要不得的。一旦風險出來,你可能會慌亂和不知所措,最后導致項目的失敗。那么風險管理的難點在哪里呢?其實就是在于你對團隊理解深不深刻。只要你理解了團隊,使用些曉得方法就可以控制住風險。最后你會發現風險控制很簡單嘛,那是因為你對整個團隊的流程和細節都了解清楚了。這時的你,也開始走上團隊管理的正確道路上了。
在項目開發當中,最主要的風險就是時間。那么我就在這里擊破它。首先我要說:如果你項目的復雜度所需的真正時間確實超過了老板所給的時間或者超過了你估計的時間,那么神仙也救不了你。因為一個是你老板的問題,一個是你自身的問題。如果是這樣,你自己找墻去撞。除了這個之外,我們使用些小方法,就可以解決掉時間的問題。在分配任務時,我們都會明確的給予一個功能的具體時間。如果一個單個功能需要4個工作日以上的,就需要寫報告來匯報功能進度(每3天一個報告或你自己定)。這樣你可以很好的了解功能的進度,一旦發現可能會超期完成,你就要介入進去了解和分析是什么原因造成的。如果是你們確實低估了該功能的難度,那么馬上進行調整,是重新分配工作時間還是降低該功能的要求。如果是員工個人原因造成的,那么你需要了解是什么原因造成的。看看這個功能是否需要與人合作開發。如果需要與人合作,那么很可能是產生了團隊關系的員工問題。這時你需要去調解和解決問題。通過風險的管理,我們也可以找出一些團隊關系的潛在問題出來。如果是個人能力不夠開發該功能,那么馬上更換人員進行開發。對于4個工作日以下的不需要發送報告,只用在功能完結時發個報告,以便進行下一個功能。因為這種功能時間需求短,一旦超期,是有時間來調換人員來做的。如果某人長期超期,你就要進一步去了解了。有公司強行每個員工每周寫周報,有的是2個星期一寫。我只能說,周報這玩意真的很稀爛。別跟我說是方便管理方便考核,這就是Cao蛋。這里還有一個問題,就是每個工作日的有效工作時間。有Leader是控制在一個工作日80%時間都在進行開發,有的甚至是90%。我個人喜歡控制在70%左右,因為一天能高效編寫代碼的時間也沒有多少。而且一旦遇到有超期的功能,你就有人手和足夠的時間來進行處理。我們要留出風險處理的時間。
當項目完成后,發現有Bug。這時可能已經接近項目尾聲了,你沒有多余的時間去處理Bug了,這時產生了一個風險。為了能把Bug在開發中就消滅掉,我們需要開發和測試并行執行。在項目開發的時候,測試組就根據功能接口開始編寫測試代碼。當有開發人員提交一個完成功能時,就可以馬上開始測試,并當有Bug時可以馬上進行修復。這也是為什么在一個工作日當中留多一點時間,因為你還有Bug要修復的。當Bug提交時,每天早上花30分鐘(30分鐘就夠,不要花太多時間)集中程序員和測試人員快速開個會,把Bug全部過一遍。有些Bug是不用修復的,我們可以標出。有些Bug是需要排出優先級的,這時需要你來分配。通過每天對Bug的審查,當項目交收時,你會發現Bug都被你控制了。
還有一些突發事件引起的風險。如:程序員離職和項目中提出要求加工資。一般這兩個因素會打擾你的整個計劃。當出現這兩個因素時,處理的優先級是最高的,要馬上解決掉。如果是有人離職,就放他走吧。就算你強留下來,可人家心已經飛了。這對于功能完成和時間上的風險已經不好控制了。你要做的是趕快重新分配人手和調整時間,并馬上進行招人。有人可能會說這哪里來的急。這里就要回到我前面招人所說的,明確你需要的每個人的職責和所需要的技能;當有復雜的招聘需求時,就進行拆分,使需求盡量比較單一。這樣當出現問題時我們可以很容易招到合適的人。如果你招的是超人,那么到這里你就沒法處理風險了。還有一個我們需要做的就是平時儲備人才,遇到合適的就先招之。對于臨時要求加工資的,分兩個情況:公司沒有一個明確的加工資制度和有正規的考核加工資制度。如果你們公司屬于前者,你不要怪別人,你們自己都很Cao蛋;如果是后者,那么對于要加工資的殺無赦,并準備開始換人吧。
總結:
這是一篇初級的文章,我沒有講的很多,但盡量講全。從文中我們可以知道,從團隊開始的每一個環節都會和后面的風險處理緊緊相扣。這也是我為什么強調一定要理解什么是團隊這個基礎概念。要不然到后面,你會發現風險越來越不受你控制。就算你找到辦法補救了一個,卻還有很多未知的風險。你就等于在亡羊補牢。亡羊補牢我們都知道,晚了嘛。

浙公網安備 33010602011771號