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