醫(yī)療社區(qū)丁香園的 CTO 馮大輝離職了,炸出了科技行業(yè)里的一個(gè)大問(wèn)題:CTO到底應(yīng)不應(yīng)該寫代碼?
具體來(lái)說(shuō),CTO 在公司里是干嘛的?他/她到底寫不寫代碼?該不該做代碼評(píng)審(code review),親力親為給程序員做出榜樣?還是把握一下大方向,設(shè)計(jì)架構(gòu),管管程序員,提供一些培訓(xùn)?抑或應(yīng)該把首席市場(chǎng)官以及首席吐槽老東家官的崗位一并兼了?
在國(guó)內(nèi),大大小小的程序員們就這個(gè)問(wèn)題已經(jīng)吵成一團(tuán);那我們不妨去看看硅谷。帶著這些問(wèn)題,我們問(wèn)了一圈硅谷大小科技公司的 CTO、VP Engineering、技術(shù)合伙人,以及其他各種高級(jí)技術(shù)管理職稱上的朋友。
硅谷 CTO 寫不寫代碼?
我們發(fā)現(xiàn)在硅谷,技術(shù)類公司比純互聯(lián)網(wǎng)產(chǎn)品公司多得多。大部分 CTO 不但會(huì)寫代碼,代碼也是他們?nèi)粘W钪匾墓ぷ鲀?nèi)容。
Movidius 是一家研發(fā)低功耗視覺(jué)處理芯片的硅谷科技公司,現(xiàn)在已經(jīng)擴(kuò)張到了400多人的規(guī)模。Movidius的 CTO David Moloney 在愛(ài)爾蘭都柏林工作,他負(fù)責(zé)管理一支超過(guò) 120 人的技術(shù)團(tuán)隊(duì),因此也設(shè)有一個(gè) “CTO 小組”,每天花 10-15 分鐘聽取小組成員的報(bào)告并作出指示。他常用的溝通工具是 Slack。
盡管如此,David 仍然很享受親力親為的工作風(fēng)格,也是公司的技術(shù)迭代的主要功臣。他告訴PingWest品玩,他的日常工作主要包括設(shè)計(jì)算法、寫專利聲明以及幫助解決成員提出的技術(shù)問(wèn)題。
我們按照項(xiàng)目和任務(wù)分成小組工作,我本人經(jīng)常寫 Octave(Matlab)、C/C++ 來(lái)開發(fā)算法,日常使用 GCC 和 Visual Studio(兩種編程工具)。我們使用 GitHub 來(lái)管理所有的代碼。
除此之外,David 還會(huì)親自撰寫很多的專利聲明,而非將其交給下屬以及其他法律顧問(wèn)。
David Meloney 其實(shí)不止David,采訪中我們發(fā)現(xiàn),在硅谷,擼袖子上陣寫代碼對(duì)于 CTO/技術(shù)合伙人/高級(jí)技術(shù)管理人員來(lái)說(shuō)簡(jiǎn)直是家常便飯,幾乎不分公司技術(shù)團(tuán)隊(duì)人數(shù)多寡。
一家由機(jī)器人 SLAM(定位、識(shí)別和移動(dòng)技術(shù))公司的聯(lián)合創(chuàng)始人匿名接受了采訪。他告訴我,因?yàn)槭羌夹g(shù)公司沒(méi)有設(shè)立 CTO 的崗位,自己和另外一個(gè)創(chuàng)始人每天大約有 8 個(gè)小時(shí)在寫代碼,剩下 4 個(gè)小時(shí)做管理和溝通工作。
寫代碼是每天工作主要部分,語(yǔ)言包括 Python、Java、C++、C 等。
這家公司的技術(shù)團(tuán)隊(duì)目前有 8 個(gè)人,一半在開發(fā)算法,另外一半做開放系統(tǒng)。
看完小公司,讓我們看看大公司是怎么搞的。一位前微軟員工告訴我,“印象很深的是在微軟,一個(gè)高級(jí)總監(jiān)管理多于 300 個(gè)技術(shù)人員,還在堅(jiān)持對(duì)核心部件進(jìn)行 code review,時(shí)不時(shí)自己寫代碼,代碼質(zhì)量還很不錯(cuò)。”
微軟現(xiàn)在不設(shè) CTO 職位,每個(gè)主要業(yè)務(wù)單獨(dú)設(shè)立部門,由資深的技術(shù)負(fù)責(zé)人擔(dān)任SVP——這些大多擁有十年以上的微軟工作經(jīng)驗(yàn)。
Oculus VR 是世界上最知名的 VR 技術(shù)公司之一,在被 Facebook 收購(gòu)后增長(zhǎng)迅速,員工總數(shù)從去年的數(shù)百人增長(zhǎng)到今年的逾千人,其中技術(shù)人員比例很高,但該公司的大神級(jí) CTO John Carmack 仍是一副不寫代碼不舒服的樣子。他討厭管理,由其討厭開會(huì),曾經(jīng)在 Twitter 上說(shuō):
沒(méi)有什么比“取消: ”的郵件標(biāo)題讓我笑得更開心了。
一位知情者告訴我,Carmack 超級(jí)不喜歡別人打擾他。他早年用過(guò)一些很奇怪的工具來(lái)提高自己的工作效率,比如工作的時(shí)候開始用 CD 機(jī)放音樂(lè),但凡有任何中斷(上廁所、收發(fā)郵件、被人闖進(jìn)辦公室)就暫停,然后記錄一天下來(lái)暫停了多少次。著名游戲開發(fā)者 Richard Garriott 曾這樣評(píng)價(jià) John Carmack 在代碼上的水平和造詣:
這個(gè)人啊,他的大腦分成兩個(gè)部分,一塊存儲(chǔ) Oculus 的所有代碼,另一塊存儲(chǔ)他創(chuàng)立的那個(gè)火箭公司的所有技術(shù)——而且跟內(nèi)存一樣,他隨時(shí)能調(diào)取出任何一家公司、下屬項(xiàng)目里面的任何一個(gè)代碼細(xì)節(jié)。他真是讓我很沒(méi)自信……
John Carmack
硅谷CTO怎么看待不寫代碼這件事?
那家機(jī)器人技術(shù)公司的聯(lián)合創(chuàng)始人向我表示,如果技術(shù)人員不多,比方說(shuō) 10-50 名的話,CTO 不寫代碼是一件挺不可思議的事,“與一般技術(shù)人員不同,他們只負(fù)責(zé)一小部分,我們需要了解系統(tǒng)的每一部分。”
但是在那些擁有50名以上技術(shù)人員的中型甚至大型公司里,情況會(huì)根據(jù)公司而變化。
一個(gè)普遍的觀點(diǎn)是,CTO 應(yīng)該根據(jù)公司需要轉(zhuǎn)變職能,甚至偶爾身兼多職。Peloton Technology 的首席網(wǎng)絡(luò)架構(gòu)師 Tony Li 認(rèn)為,當(dāng)公司需要擴(kuò)張,那么 CTO 得設(shè)計(jì)好系統(tǒng)架構(gòu);如果公司需要一個(gè)技術(shù)傳教者(比如在融資、招人或公關(guān)的時(shí)候),那么 CTO 也得是一個(gè)好的演講者……
當(dāng)然,如果公司還是需要好程序員,那 CTO 照樣還得寫代碼。總的來(lái)說(shuō),CTO 應(yīng)該擼袖子上陣的心態(tài)還是被大部分創(chuàng)立于 21 世紀(jì)的美國(guó)科技公司所接受。
Movidius 的 David Moloney 1985 年開始工作,曾在多家半導(dǎo)體業(yè)界知名公司擔(dān)任工程師、主任設(shè)計(jì)師、技術(shù)總監(jiān)等職位。他認(rèn)為CTO 的確不用寫代碼就可以管理,有什么事情交給團(tuán)隊(duì)成員也行——盡管他強(qiáng)調(diào)那不是他的風(fēng)格。
如果我這樣做了,會(huì)感覺(jué)很不舒服。我認(rèn)為作為 CTO,首先應(yīng)該是一個(gè)技術(shù)問(wèn)題上的破冰者。
集客式營(yíng)銷公司 HubSpot 總部位于馬薩諸塞州,已于早年上市,現(xiàn)在員工人數(shù)也超過(guò)了500人。其 CTO Dharmesh Shah 2014 年曾經(jīng)回答過(guò)“CTO 應(yīng)不應(yīng)該寫代碼”的問(wèn)題。他認(rèn)為 CTO 應(yīng)該寫代碼,就像銷售 VP 得去銷售一樣。
Dharmesh Shah
除非那種已經(jīng)很龐大的公司,在創(chuàng)業(yè)公司里,每個(gè)人都要親力親為。我從來(lái)不相信純粹的管理職位。
不寫代碼的 CTO 就失職了嗎?
或者:寫代碼應(yīng)該成為 CTO 的核心競(jìng)爭(zhēng)力嗎?
這才是見(jiàn)仁見(jiàn)智的地方。大多數(shù)采訪對(duì)象都會(huì)告訴我,他們認(rèn)為 CTO 不寫代碼可以理解。比如有些經(jīng)驗(yàn)豐富,任職于大公司的 CTO,確實(shí)應(yīng)該花更多精力把握大方向,設(shè)計(jì)架構(gòu)、分配工作、優(yōu)化整體性能、確保系統(tǒng)的穩(wěn)定和安全。具體的執(zhí)行和實(shí)現(xiàn),由下手來(lái)完成。
比如,有些大的公司不設(shè) CTO 而是設(shè)工程副總裁 VP Engineering,但也能見(jiàn)到 VP Engineering 轉(zhuǎn)崗 CTO(比如 Facebook),或者兩個(gè)職位共存的情況。曾在多家公司擔(dān)任 CTO 的 Vijay Venkatesh 認(rèn)為,VP Engineering 更多負(fù)責(zé)現(xiàn)有產(chǎn)品,而 CTO 擔(dān)負(fù)的是設(shè)計(jì)未來(lái)項(xiàng)目,讓它與現(xiàn)有產(chǎn)品在技術(shù)上能夠更好融合的責(zé)任。
在這樣的公司里,CTO 應(yīng)該有著比普通工程師更全面的技能和更大局觀的視野。不可否認(rèn)的是,CTO 的編程能力越強(qiáng)大,越能跑好把公司規(guī)劃、業(yè)務(wù)需求通過(guò)技術(shù)落實(shí)的這個(gè)流程。編程能力是應(yīng)該是讓 CTO 龐大的技能樹更好地生根發(fā)芽的養(yǎng)分,而不是樹根本身。
CTO 應(yīng)該會(huì)寫代碼嗎?應(yīng)該。寫代碼是核心工作內(nèi)容嗎?不應(yīng)該是。用代碼寫得好不好評(píng)價(jià) CTO 合適嗎?不合適。
——這不是采訪對(duì)象們說(shuō)的,是我總結(jié)的。
事實(shí)上,無(wú)論在硅谷還是中國(guó),不少小型創(chuàng)業(yè)公司的早期技術(shù)員工都面臨這樣的狀況:移動(dòng)端和 web 開發(fā)都得懂,平時(shí)還得維護(hù)自己的郵件/日歷系統(tǒng),公司網(wǎng)斷了又要負(fù)責(zé)檢修和給運(yùn)營(yíng)商打電話,拉條電話線都得親自出馬。這哪里是首席技術(shù)官,分明就是首席全棧苦力嘛。
而當(dāng)公司發(fā)展起來(lái)之后,中美的情況卻發(fā)生了變化。
硅谷這些 CTO(除了 Carmack 大神),要么一人扛起整個(gè)公司的技術(shù)運(yùn)轉(zhuǎn),要么在投入巨大精力親力親為。他們會(huì)這么做的原因,也在最一開始提到過(guò):技術(shù)對(duì)于這些公司的重要性,比技術(shù)對(duì)于中國(guó)大部分創(chuàng)業(yè)公司的重要性,都高得多;而CTO們需要考慮的技術(shù)之外的因素,也少得多。
而在中國(guó),CTO 卻往往沒(méi)有辦法這么去做了。中國(guó)科技圈太崇拜靠運(yùn)營(yíng)、靠打仗和修建城池獲得成功的神話。微信、淘寶、微博,哪一個(gè)不是這樣成功的呢?相比之前,技術(shù)的重要性太低,太不被外界重視。技術(shù)不會(huì)決定生死,產(chǎn)品做得差不多就行,靠推廣甚至靠博眼球才能成功。這也是為什么在硅谷,創(chuàng)業(yè)公司的 CTO 們往往擼起袖子寫代碼,而在中國(guó)這樣的環(huán)境里,一名合格甚至優(yōu)秀的創(chuàng)業(yè)公司 CTO 卻得去考慮代碼以外其他很多事,他們的價(jià)值,也就不能僅僅用代碼來(lái)衡量。
所以,對(duì)于,一個(gè)沒(méi)有技術(shù)缺陷,擅長(zhǎng)運(yùn)營(yíng)具備網(wǎng)紅人格,還為其帶來(lái)了巨大的影響力的 CTO,卻用單純用“寫不寫代碼”來(lái)評(píng)價(jià)功過(guò),并不太合適。特別是當(dāng)我聽說(shuō),整件事情幕后真相的討論點(diǎn)已經(jīng)從“匿名指責(zé)CTO 不寫代碼”過(guò)渡到“團(tuán)隊(duì)拒不兌現(xiàn) CTO 期權(quán)”的時(shí)候,我就更明白了:
指責(zé) CTO 不寫代碼不過(guò)是一盆潑出去用來(lái)轉(zhuǎn)移視線的臟水,背后藏的,卻是希望借著“代碼之爭(zhēng)”來(lái)達(dá)到其否定 CTO 價(jià)值、繼而撕毀契約目的的厚臉皮和小算盤。
?
評(píng)論
查看更多