千人技術團隊背后的CTO:CTO的修煉遠不止于技術修煉
原創【51CTO.com原創稿件】當絕大部分的技術人還在思考創業團隊CTO需要有什么勝任力的時候,有人已經把技術團隊從7年前的不足10人帶到了千人規模的技術團隊。聊起這7年的經歷和故事,遠比在紙上討論“CTO是否要寫代碼”要精彩得多。現實中的CTO面臨的挑戰也不止于技術挑戰,還有業務挑戰、團隊挑戰、視野挑戰等等。
9月9日,51CTO旗下CTO訓練營第四季的開營課上,國美互聯網CTO于斌平為現場的40位技術管理者分享了他在國美7年的CTO經歷以及對CTO七大基礎能力的理解,從這些經歷里面我們也可以窺見一些領悟。
能力一 核心目標管理:明確公司目標,充分理解業務,技術目標與之配套
與公司目標一致
作為CTO,要時刻明確公司目標,實現公司目標是首要任務。其次才是與之配套的技術目標。
充分理解業務,比業務更熟悉業務
如何讓業務增長,是每個做技術管理的人都要考慮的問題,也是最根本的價值體現。每個小團隊的業務/技術人員只需了解所負責的業務即可,但作為CTO要比這些人更了解業務,了解每個業務的同時還要把所有業務串起來,明白整個公司的業務和規劃是什么樣。
支撐業務,***業務發展
大家常說,互聯網行業技術要***業務,但支持業務正常開展是基石。在業務正常開展的基礎上,才能站在未來看現在,才能進一步創新,通過技術驅動/***業務發展。
在核心目標之下本質的內容,是企業愿景及戰略目標、業務目標、技術戰略、產品規劃、行業分析等戰略層次部分和系統架構、系統建設等戰術層次部分。如出現CTO和公司/CEO的目標不一致情況,只有兩條路,要么調整到一致,要么離開。
技術管理者充分理解公司目標之后,就是要確立非常明確的技術目標。主要列舉以下幾點:
- 整體技術戰略目標
- 眼下要完成的事&近期要完成的事&中長期要完成的事
- 技術路線&實現方法
- 技術架構
- 建立和帶領團隊
- 規范、制度、流程
- 考核方法
當然,這些內容不是一成不變,而是不斷修正的過程。
能力二 項目管理:提煉是“基本功”,合理分解是“基本規范”,溝通是核心
無論有多少個部門、是瀑布/敏捷開發、還是大小的各種目標,所有都可以拆分成件件小事,每件事都可當一個項目來看待。
如下圖,左側是九大項目管理,右側是四個關鍵環節。
左側圖中所示的這些技術管理者必備的常見基本技能,大家都已經很了解,在此不一一展開。右側是提煉需求、分解需求、溝通、如期上線等四大關鍵環節。
- 提煉需求。面對老板及業務提出的眾多需求,從中提煉出核心的目標是“基本功”。當然是在充分理解業務下的情況下,才能做出清晰正確的梳理和判斷。
- 分解需求。提煉出核心需求后 ,要根據輕重緩急合理的拆分需求,分解成多個項目階段是“基本規范”。這里等同于敏捷開發過程中的合理迭代,但切記要先上線簡單可用版本,之后再縱向切,逐步推進。
- 溝通。溝通是項目管理的核心,管理過程中,溝通對最終結果起到決定性作用。
- 如期上線。項目的最終目標是“如期上線”,否則之前做的所有事都是白用功。“如期上線”不是簡單的上線完成任務就行,質量和成本一個都不能少,尤其是質量不能忽略。更不能為了上線而上線,表面上上線完成了項目,但實際跟原來的目標相差很遠,甚至用戶都沒法使用。
其中,溝通、資源整合和成本控制這三方面無論項目大與小,都貫穿整個管理過程,且對于大多技術管理者來說,多少會遇到一些難題,下面分享一些方式方法。
溝通
前面說到,溝通是項目管理的核心,但很多技術管理者并不是很擅長溝通。面對不同的人,要如何進行溝通呢?
- 與職級高的人。提倡跨級溝通,但需采用一些技巧,如發送郵件同時抄送直屬領導;如和直屬領導打招呼,再去匯報;如非正式,“恰巧偶遇”,不經意提及;如從團隊中找到善于溝通的人去做溝通。
- 與職級相同人。和同級別人溝通,就需要把技術語言翻譯成非技術語言,以便業務、財務等不懂技術的管理者更好的理解。
- 與團隊和下屬。初創/互聯網公司與下屬的溝通相對開放,職級的觀念相對較小。但對于大型傳統的公司來講,下級會對上級不自然產生戒備/恭敬的心態。技術管理者需要做的是先緩解心態,之后像朋友一樣坦誠的去溝通。
- 與合作商。與合作商溝通,要時刻謹記自己代表的是公司,然后是合作共贏,找到利益平衡點,把可能的情況先談清楚了,避免后續一些不必要的麻煩。
資源整合
一個項目完成與否,資源會從中起到很大作用。資源在未整合之前大多是零散的,要發揮其***的效用,轉化為競爭優勢,為企業創造價值,還需要運用科學的方法將不同來源、不同效用的資源進行配置與優化,使有價值的資源融合起來,發揮“1+1>2”的放大效應。
業務、營銷和財務這些屬于企業內部資源, 合作商、市場和投資方屬于外部資源 這些大家都很了解。這里需要注意的是直屬領導/領導的領導是很好的內部資源,用好會事半功倍。
成本控制
很多人感覺做技術管理和成本沒有關系,成本是采購才會考慮的問題。實則不然,例如:
- 時間和人力。如一個項目管理不善,因工作效率或其他原因,導致不僅超時完成,還用人過多,這是看不見的***成本浪費。如一個項目研發三個月,最終沒有上線放棄,這也是一種成本浪費且還可能喪失機遇。
- 招聘牛人。要招聘當前需要的人,一些技術牛人可能未必適合當前階段。初創小公司不需要很牛的人,只需要成熟技術,能支撐業務,保障業務的正常運行就好。當業務達到一定量,才需要招聘牛人,反之就是成本浪費。
- 超前技術。很多時候,時間和人力的浪費,就是因為招聘牛人,研究超前技術所致。所以在每個階段,需考慮技術是否合適。
- 技術方案。不要迷信***的技術方案,根據實際情況,采用最快方式實現目標。
綜上分享的核心目標和項目管理是做技術管理最基礎的勝任力,下面我們來分享作為CTO必備的看家本領,如下圖
如圖中所示,一名合格的CTO必須具備的四大看家本領分別是架構建設、產品能力、研發能力和基礎建設。
能力三 架構建設:CTO應該精通大架構,不是僅僅單一的技術架構
提及架構。很多人認為是代碼的架構,涉及方向也是采用哪種框架,是開源還是自研等。這里分享的架構是作為一個CTO應該精通的大架構,如下圖:
業務架構。業務架構是CTO應該首要知曉的,就是所處公司的業務組成及發展規劃,清楚具體業務,以及它們之間的關系,是相關,還是獨立等。
應用架構。對應業務,決定采用什么樣系統配套支持,是要采購,還是必須自研,是縱向獨立劃分,還是橫向邏輯劃分。
數據架構。一定要了解數據流的現狀,很多技術牛人會忽視數據架構,對于數據如何存儲、如何流轉、安全機制都不是很了解,往往信息安全問題,就是因數據流出現狀況所致。
技術架構。這里就是有些系統架構,如代碼框架、中間件、服務治理、等。
運維架構。進行運維建設、安全建設等,做好風險控制,針對系統、賬戶、財務做好安全保障。
從業務、應用、數據、到技術、再到運維整個貫穿下來,就是做CTO應該有的視點,切記不是僅僅做單一的技術架構,那是架構師或研發主管應該做的事情。
如下圖,是電商行業基本的技術架構:
如圖中所示,用戶層/流量入口、業務單元、應用系統、業務服務、中間件、平臺層,這一層層逐級下來是一個很清晰的電商行業比較通用的架構。作為CTO要清楚每一層的數據流、運行機制,由哪些人在主導,關鍵負責人是誰。
如下圖,是架構設計原則:
做開發的人對于這個圖都很熟悉,可用性、可擴展性和成本這三大原則大家應該都很了解,這里不一一展開。作為CTO要走在前面,在擴展、成品和可用三者制約的情況下,架構要如何建設?
建議遵循DID原則,按照20倍體量去設計,因會遇到如雙十一等流量猛增的情況。之后,開發按照3倍的體量去實現,上線按照1.5倍的體量去部署。
能力四 產品能力:交互和業務邏輯是基本功,懂技術實現和項目管理是升華
作為CTO首先要很清楚研發的系統/產品,最終用戶是誰?根本訴求是什么?之后才是用戶體驗、業務和產品的設計及產品創新。一定切記,從用戶、業務、運營的三個角度出發去設計產品。
用戶體驗
產品整體要簡約而不簡單,提供給用戶應該是視聽上的體驗,還要強調舒適性。操作方面,要盡量滿足易用/可用性。目標信息盡可能的醒目而親近,讓用戶能認同、抒發自己的內在情感。
業務設計
要充分理解產品背后的業務邏輯 ,基于市場目標和公司業務需求,梳理業務流程,勾畫業務藍圖,設計業務場景及功能,分析和優化流程。業務、財務、數據、用戶操作等設計要盡可能形成閉環。
產品設計
依據業務藍圖和功能設計軟件產品,重要的是如何讓用戶用的“爽”。***的輸出結果才是PRD(是結果不是目標)。
產品創新
創新方面,要以潛在的需求為出發點,開發出具有差異性或全新的產品,將潛在的需求激活為一個現實市場,實現產品價值,***/驅動業務發展。要清楚產品上線僅是開始,還需以數據為檢驗標準,不斷運營和優化。
這里需要提醒的是,有的產品經理側重于交互,但對業務邏輯不是很清楚。有的產品經理很明白業務邏輯,但交互方面較弱。一名合格的產品經理,交互和業務邏輯是兩大基本功,在此之上,還要知道產品如何技術實現、也具備一些基本的項目管理能力。走的相對較遠較順的產品經理,一定是對上要懂CEO,對外要懂市場、懂用戶,對中間要懂業務,在實現方面還懂一些開發的邏輯。
能力五 研發能力:不是某位技術牛人,而是團隊整體多方面的調整與標準制定
談起研發能力,很多人會想我就是一個技術牛人,可以一人頂幾人。但是當項目很多的時候,又能頂幾個呢?所以,從技術牛人晉級CTO,還需要在關鍵技術、交付效率、代碼規范和開發模式等方面做很多調整和標準。
關鍵技術。作為開發領導***能親自制定代碼框架,確定使用哪種技術框架或者方案。要始終保持學習***的技術及資訊,至少在理念上與行業同步。還要不間斷的研究技術。
代碼管理。制定合適的代碼管理規則,制定合適的分支模式,并建立代碼管理規范。
規范標準。需要在項目早期建立一系列的編碼規范、接口規范、中間件使用規范、加密規范、密碼規范、字符集規范等等。
開發模式。用敏捷還是瀑布要依照實際情況而定,對于輕量級的需求,或研發人員較少的情況下,可采用敏捷開發模式。當業務很重,就選擇瀑布模式,把項目規劃清楚,做好細節拆分,可規避需求不匹配的情況。
開發質量。要實現代碼Review機制、單元測試機制、持續集成、自動構建和自動發布。
能力六 基礎管理能力:從傳統響應服務向自動化、可持續集成提升
基礎管理能力,更多是體現在運維方面,服務器宕機,網絡不通,如何配置/部署/監控等都屬于運維范疇。
早期運維是ITSM(IT服務管理),側重流程,是一套幫助企業對IT系統的規劃、研發、實施和運營進行有效管理的方法。布設總服務臺來監控,出現故障后服務臺負責通知相關開發人員,響應機制和績效掛鉤。ITSM整體過程很流暢很嚴格,但它的缺點是事后的管理。
現在提倡ITOM(IT開發運維、運營管理),側重IT運營管理,從開發設計開始就考慮上線后如何運維,如何設計代碼架構、部署架構,如何發現問題,發現問題后如何自動故障轉移和修復,包括申請資源、建設配套的CMDB-DCMS等,ITOM更側重于一個IT運營或者運維的管理思想,目標是持續交付和自動化運維。
整個運維的流程大致由四步構成,分別是服務監控、配置及變更管理、硬件管理和運維機制。
服務監控。硬件、軟件、流量、數據、故障的自動化監控。做好問題和故障反饋機制及故障響應機制、處理機制。此外,還需設計故障預案,實現預案的自動化執行。
配置管理。包括集群、部署、變更等管理。
硬件管理。網絡及服務器架構,VM、資源分配機制。
運維機制。自動化部署、自動化運維是基本目標。還需建設日志平臺,報警機制及相應處理機制。
如下圖,是我們的基礎架構(GCP):
能力七 團隊能力:擁有團隊能力的基礎上,還應了解學習一些領導藝術
團隊能力部分,主要總結六點,如下圖:
作為CTO/技術管理者具備團隊能力的同時,還應該了解一些領導藝術。這個時代的比拼不僅是兵對兵,更是將對將的較量。只有領導的能量不斷放大,團隊的競爭力才能整體提升。也可以說,領導之道現代化競爭中的核心要求。
領導藝術主要體現在三方面分別是:多個部門的協作、工作效率的提升和快樂的工作。
多個部門的協作。合理選擇,知人善任;揚長避短、寬容待人;合理使用,積極培養;用人要正激勵人才。
工作效率的提升。統籌兼顧、把握關鍵、指令明確;決斷及時;想象力、洞察力、應變力、善于調動他人的積極性。
快樂的工作。平等待人,尊重別人,注意方法;簡化語言,積極傾聽,控制情緒;把握主動;創造互信環境。
***,啥樣的人能晉升CTO?
個人認為,晉升CTO主要看三方面:懂技術、懂管理和修煉。
懂技術。CTO/技術管理者自始至終都要懂技術,不斷地研究學習新技術,才能夠帶領技術人員往前沖,對團隊給出有高度的建議和合理的技術架構、技術方向的判斷。
懂管理。技術再牛,不懂管理,不知道核心目標,不能理解業務,不知道怎么管理人,也不是優秀的CTO/技術管理者。
修煉。技術和管理是基石,修煉是一個長期的過程,個人的視野和能力修養通過不斷歷練才能升華。站在山下跟站在山腰看到的風景不一樣,站在山頂看到的風景和感覺又不一樣,從山腳到山頂的路途肯定不平坦,付出的不僅是汗水和努力,不經歷風雨,如何見彩虹。這所有的過程,都是歷練,也是修煉。“橫看成嶺側成峰,遠近高低各不同”,“五岳歸來不看山,黃山歸來不看岳”,這形象的反映出了一個人的境界。
總之,不會打仗的士兵,做不了將軍;只會打仗的士兵,也做不了將軍;CTO/技術管理者晉級之路就是不斷學習,歷練、升華的過程。 祝各位成功!
于斌平,國美在線、國美互聯網CTO,公司技術、產品領頭人,全面負責國美互聯網的技術和產品工作。2010年8月帶領5名技術人員開始從"零"做起,籌建國美互聯網技術體系,至今團隊規模達到千人,成功建立了國美互聯網的產品、技術及大數據策略,建立了支撐年銷售超500億的技術系統,主導構建的國美互聯網技術架構在中國電商互聯網行業處于領先地位。
CTO訓練營,為51CTO旗下面向中高端技術管理者的學習和社交平臺,邀請一線互聯網公司的CEO、CTO以及知名投資人做客,為從業10年以上的技術管理者提供企業戰略、企業運營、團隊管理等內容分享。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】