編者按
技術(shù)團(tuán)隊的管理包羅萬象。但歸結(jié)到底,無非在于二字:道、術(shù)。
聽過很多人講二者間的關(guān)聯(lián),卻大多未全然說透。道與術(shù)的關(guān)系本質(zhì)上就是一個指導(dǎo)思想與具體手段的關(guān)系,是心法與招式的關(guān)系。從技術(shù)角度來看,管理中的“道理”、“心法”或可界定為技術(shù)定位、技術(shù)與業(yè)務(wù)的融合、企業(yè)文化、技術(shù)與哲學(xué)等;“方法”和“招式”,則就如技術(shù)團(tuán)隊組織架構(gòu)、產(chǎn)品開發(fā)流程、制度規(guī)范的建立、架構(gòu)設(shè)計等。
怎樣將“心法”與“招式”融合在一套特殊的理念和決策之下,或是困惑多數(shù)技術(shù)管理者的一道難關(guān)。帶著對如何打造頂尖技術(shù)團(tuán)隊、如何在技術(shù)、文化以及技術(shù)人成長間搭建更優(yōu)橋梁、如何培養(yǎng)團(tuán)隊榮譽感及價值感等問題,InfoQ專訪了FreeWheel高級副總裁容力及其所領(lǐng)導(dǎo)的技術(shù)團(tuán)隊管理者(技術(shù)副總裁黨政法、技術(shù)副總裁王強(qiáng)),了解在這樣一支跨國團(tuán)隊協(xié)同合作的環(huán)境背景下,作為300+人團(tuán)隊的總負(fù)責(zé)人,他是如何塑造高效敏捷的行動力、團(tuán)隊方向感、追逐感、凝聚力,以使龐大(甚至是跨國界、跨時區(qū))的隊伍能擁有更好的創(chuàng)新力和生命力。
曾在知乎上看過一個提問:“互聯(lián)網(wǎng)公司,如何管理一個8-10人的技術(shù)團(tuán)隊?”,下列的跟評有著林林總總各式不同的看法,其中一人大致列了三條最簡單也最復(fù)雜的見解,即了解人、了解事和了解業(yè)務(wù)。所以,我們和FreeWheel技術(shù)團(tuán)隊的交談也從這幾點開始。
萬丈高樓平地起「合理擴(kuò)張」與「Hire the Best」
公司高速發(fā)展的時候非常需要適時的管理。從剛剛成立擴(kuò)展到幾百人的規(guī)模,這是每個公司發(fā)展需要經(jīng)歷的一個很大的檻。有些企業(yè)瘋狂式的增長,是對現(xiàn)實性的考慮模糊。我(FreeWheel高級副總裁容力,以下均以第一人稱“我”代之)觀察到過去太多大公司人員的迅猛增長,并非是由公司的效益或業(yè)務(wù)需求所驅(qū)動的,而是取決于領(lǐng)導(dǎo)層的話語權(quán)。
FreeWheel在2007年剛剛成立時只有10個人左右,2015年3月我加入時已上升至150余人,而截至目前,F(xiàn)reeWheel又?jǐn)U增了一倍,達(dá)到300余人規(guī)模。經(jīng)歷十余年的發(fā)展,整個創(chuàng)業(yè)和探索的過程非常曲折和艱辛。但一直以來,團(tuán)隊的擴(kuò)建都是由業(yè)務(wù)所驅(qū)動的(FreeWheel每年保持大約70%的營收增長率),因此這決定著更為良性的增長動因和態(tài)勢。
人員持續(xù)擴(kuò)張的背后,“Hire the Best”是在招賢納士時秉持的最重要的基準(zhǔn)。何謂Best,如何定義?表層意義上來說,Best就是頂尖的,具體分析主要體現(xiàn)在兩個方面:一個是在校招中,學(xué)歷與畢業(yè)院校的卓越性,另一個更重要的是在技術(shù)上的扎實積淀和積累,放在不同的招聘環(huán)境下具有不同的側(cè)重點。但同時,Hire the Best的難點在于,你不能只看他現(xiàn)在會什么,而是要預(yù)測他將來是否能更快地學(xué)到更多。技術(shù)人的學(xué)習(xí)能力,其個人長期的潛質(zhì)和潛力應(yīng)該在面試環(huán)節(jié)得到更多的加分。
我個人有一個理念,不管是在應(yīng)聘還是在招聘的時候,都會秉承一個非常淺顯的道理:我們看待一個人適合不適合這家公司就看三點,第一,是這個人能為公司帶來什么價值;第二,公司能帶給他什么,雙方是互利的過程,僅僅看這個人給公司帶來什么,不看公司帶給他什么,這個交易也談不成;第三,這個人能夠在公司做多久。我們是對人才的投資,工作也是他生命中貢獻(xiàn)時間和青春很重要的一部分,所以是否能夠長期在一家企業(yè)效力很重要。因行業(yè)而異,因公司而定。
擁有良好工程師基因團(tuán)隊的三點練就要素
管理人員必須要從技術(shù)第一線提拔而來如何從一線的工程師轉(zhuǎn)成技術(shù)管理者,對個人和工程師團(tuán)隊文化來說都是非常重要的一環(huán)。我非常看重的的一點是,技術(shù)公司的管理人員一定需要從技術(shù)第一線提拔而來,這樣才能讓公司保持工程師團(tuán)隊文化,而且這種文化才具有與生俱來的某種技術(shù)特性。
我當(dāng)時來FreeWheel就跟一線管理人員說,如果你的技術(shù)能力不能讓你在團(tuán)隊里服眾的話,那你還能給團(tuán)隊帶來什么。在我的定義和FreeWheel的文化中,轉(zhuǎn)變?yōu)閳F(tuán)隊領(lǐng)導(dǎo)的人必須要在他的團(tuán)隊里具有最頂尖的技術(shù)水平。我們一般會以10人左右的團(tuán)隊為一個評價標(biāo)準(zhǔn),如果他是技術(shù)大拿,只要他說了別人就覺得有信心,愿意按照他說的去做,那么他才能成為一個合格的團(tuán)隊領(lǐng)導(dǎo)者。很多硅谷的互聯(lián)網(wǎng)公司也是這樣,并不是按級別的高低來選擇最適合的管理者。
培育一種開放的文化:信息和思維雙維度我曾在微軟和雅虎工作了將近十年,從最早的編程開始做起,到做一線的技術(shù)管理,再到管理100人、300人的團(tuán)隊,這種鍛煉是一步一步做起來的。十多年里,從一線的管理逐漸轉(zhuǎn)變到管理更大的團(tuán)隊,我也有了更扎實的體會。關(guān)于如何建設(shè)團(tuán)隊;如何做長期的規(guī)劃;對于一個團(tuán)隊,以至于一個比較大的團(tuán)隊組織,怎樣獲得長期且穩(wěn)定發(fā)展;如何在良性競爭中勝出等問題,微軟和雅虎都為我提供了很好的學(xué)習(xí)平臺,所以在加入FreeWheel之后,可以很自然地將這些理念和思路應(yīng)用在具體的技術(shù)管理場景中。
在雅虎期間,我能感覺到那種硅谷的沸騰的氛圍,而且在硅谷不同公司之間的交流也非常頻繁。在硅谷,不管是大公司還是小公司,大家就像是在一起創(chuàng)業(yè)的大家庭,時間長了就形成了一種工程師文化,說的簡單點是自由、平等、開放。這種工程師文化會讓每個人都持續(xù)保持進(jìn)取的態(tài)度,很少有人抱怨,心態(tài)也會更加開放。
都說技術(shù)老大的角色決定了一家公司技術(shù)團(tuán)隊建設(shè)的模式,F(xiàn)reeWheel聯(lián)合創(chuàng)始人兼CTO Diane在工程師開放文化的構(gòu)建上起了非常關(guān)鍵的帶頭作用,我們的開放主要體現(xiàn)為在信息維度的充分共享和在思維維度的創(chuàng)造激發(fā)。整個公司發(fā)展中,技術(shù)層面和商業(yè)模式層面的信息,可以在領(lǐng)導(dǎo)層和員工之間做到充分的溝通和共享,使得全員在任務(wù)處理上能更好地把握整體方向、理清事情的優(yōu)先級,做對公司最重要的事情。另外,大家做事情都是本著平等開放的原則,不會因為說話的人不同,就對他提出的問題或者方案有不同的態(tài)度,不因人廢言,更不因言廢人。這樣做的目的就是要激發(fā)大家的積極性,充分發(fā)揮每一位員工的創(chuàng)造力。
對Engineering Excellence的追求追求Engineering Excellence,是近期FreeWheel整個工程師團(tuán)隊的最大變化。在公司整體度過了生存期的挑戰(zhàn)并進(jìn)入到加速生長期時,我們要關(guān)注的事情,不再是到處救火,而是要追求卓越, 要打造一個可以在未來幾年里,支撐業(yè)務(wù)發(fā)展的優(yōu)秀技術(shù)平臺。 在這個新的目標(biāo)下,F(xiàn)reeWheel工程師團(tuán)隊也發(fā)生了不少變化,包括對Full Life Cycle Engineer理念的倡導(dǎo),對CI/CD(持續(xù)集成/持續(xù)交付)等高效開發(fā)流程的探索和精進(jìn)等。
敏捷開發(fā)模式在工程師團(tuán)隊的實踐與落地
敏捷開發(fā)模式跟傳統(tǒng)的開發(fā)差別之一是對變化的擁抱。傳統(tǒng)的開發(fā)相對會拒絕變化,即計劃制定好之后不希望有任何變化,有變化會對開發(fā)流程造成很大的影響。敏捷文化是擁抱變化,當(dāng)有問題發(fā)生的時候需要會主動做調(diào)整,當(dāng)然這對團(tuán)隊的組織和行為方式也帶來了很大挑戰(zhàn)。這里,F(xiàn)reeWheel有一些比較好的實踐經(jīng)驗可以分享。
第一是團(tuán)隊的組織。FreeWheel一開始按照敏捷開發(fā)的原則將團(tuán)隊組織成Scrum,在這種管理方式下,所有相關(guān)人員(主要是測試人員、開發(fā)人員,和在美國的產(chǎn)品團(tuán)隊)會形成一個比較緊密的團(tuán)隊,消除相互間的壁壘。所有人從一開始就會融入到產(chǎn)品的設(shè)計、開發(fā)、測試?yán)锶?,通過快速反饋和及時溝通,能最迅速地解決項目過程中各種問題。
第二是團(tuán)隊的管理。敏捷開發(fā)與傳統(tǒng)模式相比,最顯著的特點就是人和流程的關(guān)系有很大不同。傳統(tǒng)開發(fā)中會制定一個固定的流程和周密的計劃,人被添在了這個流程和計劃中。敏捷開發(fā)的變化多、迭代快,如果套用一種管理模式并強(qiáng)加給團(tuán)隊,往往會帶來生產(chǎn)力的倒退。所以管理的方式應(yīng)該是給團(tuán)隊更大的自主性,注重引導(dǎo)而非控制。一個公司往往會有很多個敏捷團(tuán)隊,我們最終是讓各個團(tuán)隊用他們的聰明才智解決問題,但同時各個團(tuán)隊之間又可以互通有無、取長補(bǔ)短。有的時候你會是第一個踩坑的人,但這個踩坑的過程是有價值的,得到的經(jīng)驗教訓(xùn)可以跟大家分享。
第三是做事的方式。當(dāng)把任務(wù)拆分的更細(xì)時,反饋就能更及時。如果有一大塊的東西擋在你的工作流里,會對你的敏捷性造成障礙。所以我們一開始就會對所做的事情進(jìn)行拆分,把任務(wù)拆分得更細(xì),使得任務(wù)更容易被排期。同時在技術(shù)上實現(xiàn)CI/CD,對產(chǎn)品持續(xù)不斷地做測試,并且把它集成到研發(fā)流程中。當(dāng)工程師做了某些改動后,整個系統(tǒng)會立刻產(chǎn)生結(jié)果評價,告知你做的是對還是錯,然后大家基于這個結(jié)果再看如何繼續(xù)推進(jìn)。
1、SAFE(Scaled Agile Framework)模式的嘗試
與此同時,上面提到的“Hire the Best”理念也會對團(tuán)隊建設(shè)和管理帶來一定挑戰(zhàn)。如果團(tuán)隊人員的水平和能力呈現(xiàn)為梯隊型,自然而然管理會相對容易;但如果大家都處于較為平均的基線范圍內(nèi),就會面臨更多協(xié)調(diào)、平衡及取舍方面的工作。最近FreeWheel正在嘗試SAFE,即將團(tuán)隊都分成不同的squad,一個squad即為對產(chǎn)品有貢獻(xiàn)的垂直的功能性團(tuán)隊,需要挑選并重組在前端、后端、數(shù)據(jù)庫方面具有差異化優(yōu)勢的小組成員。但將優(yōu)秀的成員都放在一起做一件事很容易有人做的多,有人做的少,有人滿意,有人不滿意,這就跟項目管理、軟技能訓(xùn)練等相關(guān)。
通過實行敏捷模式,工程師團(tuán)隊的整體趨勢會越來越扁平化,但是扁平化主要還是發(fā)生在一個模塊內(nèi)部。比如,目前FreeWheel中國的工程師主要被劃分為五個分支技術(shù)團(tuán)隊——AdServing、Forecasting、Reporting、UI和OPS,其中,AdServing模塊內(nèi)部被大概分成了6、7個小型團(tuán)隊;Forecasting被分成3個小型團(tuán)隊。其他四大模塊情況也類似。在團(tuán)隊組織上,部分小型團(tuán)隊成員可以直接匯報給一線研發(fā)經(jīng)理,例如,UI(負(fù)責(zé)核心業(yè)務(wù)系統(tǒng)的研發(fā)與測試)模塊的80人團(tuán)隊(北京分部)大概有6個研發(fā)經(jīng)理,他們各自領(lǐng)導(dǎo)著十人左右的團(tuán)隊。因此,分支技術(shù)團(tuán)隊總負(fù)責(zé)人和普通工程師之間只有一級,向上的溝通和匯報會更加通暢。而且,負(fù)責(zé)管理的同事有更多的機(jī)會直接與小型業(yè)務(wù)開發(fā)團(tuán)隊進(jìn)行協(xié)作,第一手掌握他們真實的想法、他們的困難和反饋意見,以便縮短做決策的時間周期。
2、對Full Life Cycle Engineer理念的倡導(dǎo)
對于Full Life Cycle Engineer,現(xiàn)在業(yè)界有兩種聲音,一種是Full Stack(全棧)Engineer,指能夠掌握前端、能寫Web,能寫后端服務(wù)器,還能開發(fā)mobile程序等,要掌握不同的技術(shù)。這種聲音存在一定的爭議。另外一種方向是Full Life Cycle Engineer。比如寫C++的就不需要掌握web,但要能對使用C++開發(fā)軟件的整個生命周期熟稔于心:當(dāng)新的功能要求提交出來時能用C++對它進(jìn)行設(shè)計,寫完之后能夠用相關(guān)的工具測試并將服務(wù)進(jìn)行發(fā)布,后續(xù)還需要支持服務(wù)的運維。舉個很簡單的例子,測試、運維的環(huán)節(jié)常常被技術(shù)管理者忽略,隨之而來的問題便是產(chǎn)品質(zhì)量不可控、BUG一堆、發(fā)布成功率低、運維人為事故頻發(fā)。但對Full Life Cycle Engineer理念的倡導(dǎo)可以有效減少此類問題的發(fā)生。
因此,F(xiàn)reeWheel非常倡導(dǎo)Full Life Cycle Engineer,其直接優(yōu)勢在于可以消除上下游間明顯的界限。比如一開始設(shè)計的時候就會將測試的實施方案、后期發(fā)布、運維上的問題一并考慮進(jìn)去,而不是執(zhí)行一半之后再去想怎么“填坑”。這是敏捷模式下最為可行的方式,如果整個軟件交付過程中還要上下游切換,溝通成本就會很高,整個團(tuán)隊不可能敏捷起來。
3、最快速地定位技術(shù)問題出現(xiàn)的根源
研發(fā)團(tuán)隊之間的協(xié)作非常重要,協(xié)作和溝通的效率在很多時候都是解決復(fù)雜技術(shù)問題時的必備條件。開發(fā)過程中,如果我們在上線環(huán)節(jié)亦或開發(fā)測試環(huán)境中發(fā)現(xiàn)了一個具體的技術(shù)問題,不同的研發(fā)團(tuán)隊負(fù)責(zé)人或該領(lǐng)域的資深專家會組成一個臨時小團(tuán)隊,不斷地調(diào)研,分析和研究后認(rèn)定問題根源并劃定應(yīng)該由哪個團(tuán)隊、哪個工程師具體跟進(jìn)和解決。解決方案落地且開始執(zhí)行后,大家還會回過頭來進(jìn)一步驗證,確定目前的解決方案是否有其他風(fēng)險存在。
4、輪崗制的跨地域協(xié)作
對FreeWheel而言,最大的挑戰(zhàn)之一是跨地域、跨時區(qū)的溝通與協(xié)作。FreeWheel除了在美國、中國、法國有研發(fā)機(jī)構(gòu)以外,在歐、美、亞洲的多個國家也會有自己的辦公室。這些國家的團(tuán)隊規(guī)模及成熟度較高,但都存在較大的時差。
相比通過電話、電子郵件進(jìn)行跨時區(qū)的交流,我們會盡可能地采用很多其他的方式優(yōu)化跨時區(qū)、跨地域的合作和溝通。比如北京的各模塊的研發(fā)團(tuán)隊會持續(xù)派輪崗人員,去美國等地不同的實驗室和不同部門,與產(chǎn)品經(jīng)理在一起緊密地合作一到三個月。這樣做的好處之一就是當(dāng)產(chǎn)品經(jīng)理面對更多的客戶、分析客戶需求的時候能得到研發(fā)團(tuán)隊第一手的支持,比如從技術(shù)角度看業(yè)務(wù)設(shè)計是否合理、能否實現(xiàn)、實現(xiàn)難度大小等。
另外,美國的產(chǎn)品經(jīng)理會每個季度飛到北京來與這里的同事工作1-2周的時間商議未來3-4個月的研發(fā)及項目規(guī)劃。這類協(xié)同工作的目的都是盡可能地減少跨時區(qū)、跨地域溝通的難度和障礙。如果團(tuán)隊之間沒有很好的溝通,做完以后發(fā)現(xiàn)有很多問題,但由于一開始沒有識別出來,最后就會演化得愈發(fā)嚴(yán)重。
讓每個人感覺到自己的價值所在
人才培養(yǎng)更關(guān)注個體,團(tuán)隊建設(shè)更關(guān)注集體。團(tuán)隊一方面要做事,另一方面要育人,人才是團(tuán)隊的核心資產(chǎn)。在團(tuán)隊中可能只是很微小的一粒存在,你也必須要給所有技術(shù)人以存在感和價值感,讓他們能看到自己的付出能改變產(chǎn)品、改變公司,甚至改變整個行業(yè)的走向。
保持團(tuán)隊的方向感,讓團(tuán)隊成員知道自己在做什么,將來又要做什么,能感覺到自己的價值所在在FreeWheel,不論每個同事的職務(wù)或工作職責(zé)如何,技術(shù)管理層都會首先注重幫助所有人在公司找準(zhǔn)自己的定位,也會幫助他們分析清楚自己的長處和短板,并有針對性地制定相應(yīng)的工作計劃及提高個人能力和適應(yīng)職業(yè)發(fā)展的規(guī)劃,幫助所有人找到他對公司的價值所在。這樣做一方面會讓每一位同事在工作上形成滿足感,另外一方面也保證了他做出的貢獻(xiàn)和體現(xiàn)的價值能被公司所認(rèn)可,因而能有更好的職業(yè)發(fā)展機(jī)遇。
保持團(tuán)隊的進(jìn)步感,讓團(tuán)隊成員感覺到自己每隔一段時間都能學(xué)到新的東西,從而值得為之付出努力對工程師來說,發(fā)揮價值的地方仍在于與產(chǎn)品的強(qiáng)聯(lián)系。我們非常提倡讓技術(shù)人深入到第一線工作中,讓大家去直面解答客戶的問題。在FreeWheel,銷售和客戶服務(wù)團(tuán)隊是直接做售前、售后服務(wù)的人,每個季度聚集到北京參加PI Planning(Program Increment Planning),制定下一季的產(chǎn)品計劃,從而去打破技術(shù)人員、產(chǎn)品經(jīng)理、銷售這一套人員固定模式上的隔閡,讓工程師團(tuán)隊能感覺到自己做的東西所發(fā)生的變化、對用戶所產(chǎn)生的影響,直接參與到用戶的意見反饋環(huán)節(jié)中去。
另外,隨著業(yè)務(wù)的發(fā)展和體量的增大,F(xiàn)reeWheel也正在實行大規(guī)模的技術(shù)重構(gòu)工作。當(dāng)每天的工作中都有可能面臨到新的技術(shù)挑戰(zhàn)時,就能更好地保持團(tuán)隊的進(jìn)步感。
以UI模塊團(tuán)隊為例,從2007年到目前,前端技術(shù)框架經(jīng)歷了多次演變,去年開始UI團(tuán)隊(同時也包括其他團(tuán)隊)都在推行微服務(wù)化SOA架構(gòu)。后端的業(yè)務(wù)邏輯會通過Golang服務(wù)封裝成一個一個不同粒度的微服務(wù),這樣我們整個前端的框架會更多專注在業(yè)務(wù)交互上,跟核心業(yè)務(wù)邏輯直接相關(guān)的實現(xiàn)都會封裝在底層的微服務(wù)框架上。但對于像Go(包括我們前端目前正在使用的React.js框架)都是比較新的技術(shù)框架,會在技術(shù)細(xì)節(jié)方面面臨更多的挑戰(zhàn),很難通過參考別人的經(jīng)驗就能獲得有意義或有幫助的答案。所以我們更多是依賴于自己的研發(fā)團(tuán)隊,深入地具體分析某一些技術(shù)問題產(chǎn)生的原因:為什么在我們這樣的產(chǎn)品環(huán)境下會發(fā)生;能不能做一些實驗,嘗試找到一些解決辦法;論證我們的解決辦法,確保不會帶來其他的衍生問題;對我們的系統(tǒng)穩(wěn)定性、可靠性是否造成影響等。
很多的問題都是挑戰(zhàn),而克服挑戰(zhàn)、解決問題的過程才能讓大家感受到每天的進(jìn)步以及明天未知的新奇。
保證團(tuán)隊成員的歸屬感和自豪感,這樣的團(tuán)隊才有凝聚力FreeWheel常常說我們的企業(yè)文化是Proudly Unique、Deeply Caring,還有Purposeful,雖然是幾個形容詞,但是在日常工作中會遇到很多事情,大家會經(jīng)常在一起談解決問題的方法,遇到矛盾的時候又怎么解決,這會讓所有人感覺與他人連同在一起,是有意義的存在。
另外,企業(yè)的定位和愿景同樣會對技術(shù)人的價值感形成帶來很大的影響。我入職前,跟FreeWheel的Co-CEO進(jìn)行了一輪電話面試,談公司的發(fā)展前景時,他用十年前蘋果和諾基亞做了類比的例子,并說:“雖然在公司規(guī)模上,我們在業(yè)界和主要的競爭對手相比非常弱小,但是如果把競爭對手比作諾基亞(那個時候),那我們就應(yīng)該是蘋果。”舉這個例子的目的在于說明,即使目前的你尚且弱小,但只要你的產(chǎn)品有非常清晰的、適合市場發(fā)展的戰(zhàn)略,也一定能夠打敗當(dāng)時占領(lǐng)市場80%份額的巨無霸。
在這樣的目標(biāo)之下,我們也相信,優(yōu)秀的工程師會逐漸認(rèn)知到企業(yè)和自身的使命,認(rèn)知到他在做的這項技術(shù)的前景與價值。