作為一個(gè)技術(shù)Leader,要如何去提升團(tuán)隊(duì)的技術(shù)氛圍
一個(gè)技術(shù)團(tuán)隊(duì),不管大小,如果沒有“技術(shù)味道”,那么技術(shù)Leader負(fù)有很大的責(zé)任。“技術(shù)味道”的缺失,是目前技術(shù)團(tuán)隊(duì)存在的最大問題。特別是做業(yè)務(wù)開發(fā)的技術(shù)團(tuán)隊(duì),如果管理者完全不關(guān)心技術(shù)細(xì)節(jié),績(jī)效完全和業(yè)務(wù)KPI綁定,就會(huì)導(dǎo)致工程師們整天只會(huì)寫if-else的業(yè)務(wù)代碼,得不到技術(shù)上的成長。在這樣的技術(shù)團(tuán)隊(duì),團(tuán)隊(duì)的戰(zhàn)斗力和凝聚力都會(huì)每況愈下。
那么作為一個(gè)技術(shù)Leader,我們要如何去提升團(tuán)隊(duì)的技術(shù)氛圍,重燃團(tuán)隊(duì)對(duì)技術(shù)的熱情呢?下面是我在日常帶團(tuán)隊(duì)的過程中使用的一些提升技術(shù)氛圍的方法,方法并不難,在任何的技術(shù)團(tuán)隊(duì)都可以操作落地。
1、代碼好壞味道
在我們團(tuán)隊(duì)周會(huì)中,有一個(gè)固定的環(huán)節(jié)是“代碼好壞味道”:當(dāng)天的會(huì)議主持人(我們的周會(huì)是輪值主持的,每個(gè)團(tuán)隊(duì)成員輪流組織一期)要給大家分享3個(gè)代碼好味道和3個(gè)代碼壞味道,這些代碼既可以來自我們的工作代碼,也可以來自開源軟件的源碼。
這個(gè)活動(dòng)非常有意義,一方面每個(gè)人都會(huì)更多地去讀他人的代碼,另一方面自己在寫代碼時(shí)也會(huì)比較注意。因?yàn)橐徊恍⌒?,自己寫的代碼就可能成為反面典型被拿出來“曬”。曬代碼不是關(guān)鍵,關(guān)鍵是通過曬代碼,我們可以互相分享寫好代碼的心得和經(jīng)驗(yàn),特別是一些來自開源軟件的好味道,對(duì)我們寫好代碼有非常好的指導(dǎo)意義。這樣整個(gè)團(tuán)隊(duì)的技術(shù)能力都會(huì)提升,當(dāng)然,也包括Leader自己。
2、技術(shù)分享
分享是倒逼我們?nèi)W(xué)習(xí)和總結(jié)的有效手段。在準(zhǔn)備分享的過程中,我們要去閱讀很多資料,要把原理弄清楚,還要用別人能聽得懂的方式表述出來。最重要的是,通過分享,整個(gè)團(tuán)隊(duì)都能學(xué)到新的知識(shí),分享人和傾聽者都會(huì)收益頗豐,何樂而不為呢?
例如,我所在團(tuán)隊(duì)的近幾次技術(shù)分享分別是關(guān)于Service Mesh、FaaS和Cloud Native的(見圖11-1)。這些概念雖然很重要,但是日常工作中暫時(shí)還沒有使用場(chǎng)景,沒有必要每個(gè)人都去研究一遍,因此分享學(xué)習(xí)是一種非常經(jīng)濟(jì)的團(tuán)隊(duì)學(xué)習(xí)模式。一個(gè)人學(xué),然后整個(gè)團(tuán)隊(duì)都能有了解和認(rèn)知。期間大家還可以有討論和碰撞,這樣既學(xué)到了東西,又增加了團(tuán)隊(duì)成員之間的連接,其作用不亞于一次團(tuán)建。
圖11-1 團(tuán)隊(duì)正在分享Cloud Native
3、CR周報(bào)
代碼審查(Code Review,CR)是保證代碼質(zhì)量和架構(gòu)風(fēng)格一致性的重要手段。我們?cè)囘^很多CR的方式,有Peer Review(點(diǎn)對(duì)點(diǎn)地審查),也有Group Review(團(tuán)隊(duì)成員一起審查)。這些方式都很好,但有一個(gè)共同的缺點(diǎn),就是很難將過程透明化。
CR周報(bào)就是要把CR的結(jié)果透明化,通過周報(bào)的形式展現(xiàn)團(tuán)隊(duì)在一周中的CR成果,包括團(tuán)隊(duì)成員的CR評(píng)論數(shù)排名、代碼分支的質(zhì)量情況,以及CR中的典型案例。這種透明化非常有價(jià)值,既可以幫助技術(shù)Leader了解代碼質(zhì)量的概況,也能極大地調(diào)動(dòng)團(tuán)隊(duì)成員進(jìn)行CR的積極性。
如圖11-2所示,這是我所在團(tuán)隊(duì)一期CR周報(bào)的節(jié)選。同樣,CR周報(bào)的發(fā)送人也是輪值的,通過這種方式,我們真正做到把CR變成我們工作的一部分。
圖11-2 CR周報(bào)示例
4、讀書會(huì)
在一個(gè)人的能力象限中,我非??粗貙W(xué)習(xí)能力。原因很簡(jiǎn)單,一個(gè)人一旦停止了學(xué)習(xí),就停止了進(jìn)步。讀書雖然不是學(xué)習(xí)的唯一方式,但一定是不可或缺的方式。我在面試候選人時(shí),會(huì)經(jīng)常問“你過去一年都看了哪些書”,如果一本都沒看過,基本該候選人就不在我的考慮范圍之內(nèi)了。
因此,我的團(tuán)隊(duì)中是非常重視讀書這件事的。首先,作為一個(gè)技術(shù)Leader,我們要帶頭讀書,現(xiàn)在很多的下屬不信服老板,就是因?yàn)槔习宀蛔x書、不學(xué)習(xí),不能給團(tuán)隊(duì)帶來新的輸入和營養(yǎng);其次,要鼓勵(lì)團(tuán)隊(duì)多讀書,成立讀書會(huì)就是一個(gè)很好的形式。
關(guān)于讀書會(huì)的運(yùn)作,在此分享以下3點(diǎn)經(jīng)驗(yàn)。
1)書的范圍可以放寬一點(diǎn),不要只局限在技術(shù)類書籍,畢竟除了技術(shù),我們還有很多東西要學(xué)。例如,我們最近一次讀書會(huì)選的書是《高效能人士的七個(gè)習(xí)慣》。
2)讀書的方式,可以是同讀一本書,也可以拆書,就是每個(gè)人分別讀書的一章或者幾章,然后互相分享書中的內(nèi)容和讀后感。拆書的效率更高,比較適合工具類的書。
3)讀書會(huì)的舉辦頻率可以靈活一些,工作任務(wù)緊的時(shí)候,頻率適當(dāng)放低,甚至?xí)和!?/p>