為什么CTO、技術(shù)總監(jiān)、架構(gòu)師都不寫代碼,還這么牛逼?
常常會被問到這樣的問題:CTO、技術(shù)總監(jiān)、架構(gòu)師很少寫具體代碼,為什么還很牛逼的樣子,拿這么高工資?
其實,這個問題本身就錯了。就好比問:導(dǎo)演、制片人為什么不懂演戲,還能指導(dǎo)演員,好像比演員厲害似的?其實不難理解,導(dǎo)演、制片人的核心能力并不是演戲,又怎么能跟演員作比較呢?
回答前面的問題,邏輯也是一樣的,拿CTO、技術(shù)總監(jiān)、架構(gòu)師,跟程序員比寫代碼的能力,本身就是個錯誤。因為,他們的核心能力是不一樣的。
CTO、技術(shù)總監(jiān)、架構(gòu)師的核心能力是技術(shù)判斷力。簡單來講,就是判斷一個項目、一個系統(tǒng)架構(gòu)、某個技術(shù)方向,是否符合企業(yè)當(dāng)前現(xiàn)狀,是否對企業(yè)的未來產(chǎn)生價值。
程序員的核心能力是寫代碼的能力。就是做具體的代碼實現(xiàn)。
所以CTO/技術(shù)總監(jiān)/架構(gòu)師,跟程序員的核心能力,是完全不一樣的能力,是沒法作直接比較的。
通常我們說,CTO、技術(shù)總監(jiān)、架構(gòu)師們很牛逼,指的是他們的技術(shù)判斷力牛逼,而不是他們寫代碼的能力牛逼。相反,他們寫代碼的能力可能還比不上一個資深程序員。
但是,他們所做的技術(shù)判斷,給公司帶來非常高的價值。比如,阿里云創(chuàng)始人王堅博士,在所有人反對的時候,他堅持云計算是未來,幫助阿里提前布局云計算,為阿里成長為萬億商業(yè)帝國,立下汗馬功勞。這就是技術(shù)判斷力,給企業(yè)帶來的巨大價值。
大家之所以都很容易混淆這幾個角色,以及它們的職責(zé),其實很重要的一個原因就是,人們常常把CTO、架構(gòu)師、技術(shù)經(jīng)理的頭銜,亂授予技術(shù)負責(zé)人。在國內(nèi)這種現(xiàn)象尤其嚴重。
比如,一個初創(chuàng)公司的技術(shù)負責(zé)人,實際干的活就是個技術(shù)經(jīng)理。老板為了顯得高大上,硬要給他安一個CTO的頭銜。這種情況很普遍,特別是全民創(chuàng)業(yè)的那幾年,遍地都是CTO。
為了說清楚技術(shù)負責(zé)人的職責(zé),我們以一個電商公司的成長為例,講解企業(yè)在初創(chuàng)期、發(fā)展期、成熟期的不同階段,都需要什么樣的技術(shù)負責(zé)人,以及他們具體都干些什么。
第一階段,高級程序員
實現(xiàn)復(fù)雜功能,解決技術(shù)難題
一個剛剛起步的創(chuàng)業(yè)公司,通常只有幾個程序員,甚至連產(chǎn)品經(jīng)理、項目經(jīng)理都沒有,老板自己就是產(chǎn)品經(jīng)理,把想法跟開發(fā)人員一說,就快速地做出原型。
如果這個階段對開發(fā)的能力不滿,那么大概需要的只是一個高級開發(fā)人員,他能搞定一般的技術(shù)難題,實現(xiàn)復(fù)雜功能,思路清晰、干活利索。千萬不要去大廠挖個技術(shù)總監(jiān),你家廟太小,供不起這么大的神,他真來了也發(fā)揮不了應(yīng)有的作用。
老讀者知道,老K有過一段創(chuàng)業(yè)經(jīng)歷,當(dāng)時追隨我的老領(lǐng)導(dǎo)出來創(chuàng)業(yè),我就是名義上的CTO,帶了7、8人的團隊,我還同時帶了兩個項目,每個項目里我都貢獻了30%以上的代碼量。其實,當(dāng)時的我,就是個高級程序員而已。
小結(jié)一下,高級程序員的主要職責(zé)是:
1,實現(xiàn)復(fù)雜功能,編寫核心代碼;
2,處理線上bug,解決技術(shù)難題。
第二階段,技術(shù)經(jīng)理
交付效率提高、質(zhì)量提升
當(dāng)公司的業(yè)務(wù)發(fā)展起來后,就需要一支相對完善的技術(shù)團隊,有了專職產(chǎn)品經(jīng)理、測試人員等,團隊規(guī)模在15人左右,專注于一條產(chǎn)品線。
復(fù)雜功能、技術(shù)難題,高級開發(fā)人員可以搞定,但是如果要解決開發(fā)團隊效率、技術(shù)人員能力提升、代碼質(zhì)量和編碼規(guī)范等,就需要技術(shù)經(jīng)理了。技術(shù)經(jīng)理通常寫少量的代碼,更多做技術(shù)管理、項目團隊等工作。
這就是許多創(chuàng)業(yè)公司A輪融資前的情況。由技術(shù)經(jīng)理總體負責(zé)技術(shù)團隊,產(chǎn)品經(jīng)理對接業(yè)務(wù)需求,做產(chǎn)品規(guī)劃、競品分析,而不是抄襲哪個App。
小結(jié)一下,技術(shù)經(jīng)理的職責(zé)是:
1、開發(fā)任務(wù)分派。開發(fā)工作量評估、分派,最大化資源利用率;
2、代碼質(zhì)量提升。Code Review、編碼規(guī)范、線上bug分析;
3、項目管理。確保項目的按時交付,建立管理機制;
4、團隊管理。團隊搭建、人員招聘、人員培養(yǎng)。
第三階段,技術(shù)總監(jiān)
技術(shù)規(guī)劃、多產(chǎn)品線、項目群管理
當(dāng)技術(shù)團隊發(fā)展到30人左右,有了多條核心產(chǎn)品線、有了多個技術(shù)經(jīng)理時,就需要一個技術(shù)總監(jiān)了。
技術(shù)總監(jiān),作為領(lǐng)域?qū)<?,站在更高的層面思考技術(shù)如何建立壁壘,構(gòu)建技術(shù)競爭力。逐步開始建立公共技術(shù)平臺,協(xié)調(diào)多條產(chǎn)品線在統(tǒng)一的技術(shù)平臺上快速迭代,讓產(chǎn)品線跑得快、跑得穩(wěn)。
技術(shù)總監(jiān),在領(lǐng)域內(nèi)有多年沉淀,來自知名互聯(lián)網(wǎng)企業(yè),能夠把技術(shù)團隊帶上一個新的臺階。技術(shù)總監(jiān),更多是做技術(shù)判斷了,也有些技術(shù)型的技術(shù)總監(jiān)仍然會寫些核心代碼、做架構(gòu)設(shè)計。
技術(shù)總監(jiān)的職責(zé):
1、搭建公司技術(shù)平臺部,統(tǒng)一技術(shù)棧;
2、建立產(chǎn)品研發(fā)體系,讓技術(shù)團隊可持續(xù)性地快速交付;
3、管理和協(xié)調(diào)多條產(chǎn)品線,打造明星產(chǎn)品;
4、建立技術(shù)壁壘,形成技術(shù)競爭力;
第四階段,架構(gòu)師
架構(gòu)設(shè)計、架構(gòu)實現(xiàn)、架構(gòu)評審
公司如果“跑到”了B輪,技術(shù)團隊?wèi)?yīng)該要接近百人了,此時的技術(shù)團隊跟初創(chuàng)時期相比,已經(jīng)很不錯了。
有技術(shù)總監(jiān)協(xié)調(diào)著各產(chǎn)品線,有開發(fā)經(jīng)理帶領(lǐng)技術(shù)團隊快速迭代產(chǎn)品。代碼規(guī)范、最佳實踐的總結(jié)和推廣也在逐步開展。
此時,需要把架構(gòu)規(guī)劃和架構(gòu)評審的職能從技術(shù)總監(jiān)和開發(fā)經(jīng)理身上剝離,即分離專業(yè)崗和管理崗,專業(yè)人做專業(yè)事。
這時候就需要設(shè)立架構(gòu)師崗位,專注于技術(shù)架構(gòu)分析、架構(gòu)設(shè)計、架構(gòu)實現(xiàn)、推動重構(gòu)、推行架構(gòu)原則等工作,讓技術(shù)總監(jiān)和技術(shù)經(jīng)理側(cè)重在項目管理、團隊管理。
架構(gòu)師的職責(zé)是:
1、業(yè)務(wù)架構(gòu)設(shè)計和實現(xiàn)。根據(jù)業(yè)務(wù)規(guī)劃和應(yīng)用場景,設(shè)計切合當(dāng)前業(yè)務(wù)要求,并且具備一定前瞻性的應(yīng)用架構(gòu)、類、接口、業(yè)務(wù)抽象及業(yè)務(wù)建模等。
2、架構(gòu)設(shè)計和實現(xiàn)。識別非功能性需求,如性能、可擴展性、安全性、高可用及易部署等。
3、重構(gòu)計劃及執(zhí)行。關(guān)注全鏈路監(jiān)控數(shù)據(jù)、線上bug、系統(tǒng)預(yù)警等信息,識別架構(gòu)缺陷,提出重構(gòu)建議并推動執(zhí)行。
第五階段,CTO
技術(shù)產(chǎn)品戰(zhàn)略規(guī)劃,提升技術(shù)競爭力
當(dāng)技術(shù)團隊有了幾名總監(jiān)、架構(gòu)師,人數(shù)達到幾百人,是時候引入真正意義上的CTO了,除非CTO是聯(lián)合創(chuàng)始人,否則這個CTO會有“虎落平陽”的感覺,公司也會覺得這個人“滿嘴跑火車,卻落不了地”。
國內(nèi)的中大型互聯(lián)網(wǎng)公司,一般有產(chǎn)品VP和技術(shù)VP,有的技術(shù)VP就是CTO。如果CTO統(tǒng)管技術(shù)和產(chǎn)品,那么產(chǎn)品VP就給CTO匯報,否則他們是平級的。
在國外,CTO主要研究3~5年的技術(shù)發(fā)展趨勢,為公司做中長期的技術(shù)規(guī)劃,是具有行業(yè)影響力的技術(shù)大咖,公司技術(shù)領(lǐng)域的精神領(lǐng)袖。CTO較少關(guān)注當(dāng)下的具體事務(wù),這類工作主要由工程副總裁們處理。
以國內(nèi)互聯(lián)網(wǎng)公司CTO為例,總結(jié)一下CTO的主要職責(zé):
1、技術(shù)賦能商業(yè)。敏銳的商業(yè)洞察、深入的產(chǎn)業(yè)研究、參與公司戰(zhàn)略規(guī)劃,技術(shù)引領(lǐng)業(yè)務(wù)增長,通過技術(shù)和產(chǎn)品實現(xiàn)戰(zhàn)略落地。
2、技術(shù)趨勢研究。思考未來3~5年的技術(shù)發(fā)展趨勢,以及新技術(shù)發(fā)展給企業(yè)帶來的機遇和風(fēng)險,為企業(yè)提前布局。
3、技術(shù)治理體系。持續(xù)的過程改進、高效的研發(fā)流程、穩(wěn)定的交付質(zhì)量、高可用的系統(tǒng)。
4、組織與文化。建設(shè)學(xué)習(xí)型組織、自我完善型組織,建立符合企業(yè)特色的文化氛圍。
結(jié)語
最后,不想當(dāng)CTO的程序員,不是好騎手。從程序員到CTO的成長過程,需要不斷提升技術(shù)能力、產(chǎn)品能力、項目能力、管理能力、商業(yè)視野、個人影響力、行業(yè)人脈等等。除了自身的奮斗之外,機會和運氣同樣重要,而且是可遇不可求的。但是,夢想還是要有的,萬一見鬼了呢。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!