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