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