Categories
程式開發

招聘顧問眼中的 CTO 悖論:想做的做不好,能做好的不愛做


本文作者 Paul Robinson 曾經做過 5 年的 CTO 招聘諮詢顧問,也曾經在幾家公司做過 CTO ,對於如何成為 CTO 以及如何招聘到優秀的 CTO ,他給出了自己的意見。

招聘顧問眼中的 CTO 悖論:想做的做不好,能做好的不愛做 1

首先,有句話我不吐不快:

以前是缺好的軟件工程師,而現在則是缺好的 CTO,以至於在一周之內就有 3 家公司來向我諮詢怎麼才能找到優秀的 CTO 。我在想,是不是當承包商( contractor )給的錢太多,以至於沒人想循規蹈矩,公司高層都招不到人了?

(譯者註:在北美,由於累進稅制,對於年薪8 萬刀以上的員工而言,為了少繳稅,最好的辦法是成為承包商,即contractor :開一家只有自己一個人的公司,把自己當做派遣人員派遣到原公司,原公司和這家單人公司簽派遣合同,自己給自己開工資。這樣的好處是繳稅少,而且可以將自己家的日常開銷當做公司支出報稅,進一步減少稅額。然而缺點在於,公司可以隨時解除合同,員工不受勞動法保護,沒有福利,需要自己處理醫保養老金稅款繳納問題。具體涉及的法律問題在美國需要按州進行個別討論,加拿大的勞工法與美國不甚相同。譯者不是法律專業人士。)

CTO 每天做什麼?

工程師(特別是小型公司的工程師)會覺得 CTO 就是年薪很高的工程師,並且領導著整個公司的技術方向,是“超級技術領導”。

在我擔任 CTO 時,我做了以下這些事情:

  • 和商業部門大佬( CEO 、董事會、投資人等)溝通,確定接下來幾個月的路線;
  • 和產品經理、分析師研究出可行的產品路線圖,和商業規劃匹配;
  • 按照產品和商業路線圖規劃技術路線圖;
  • 當某個路線技術上不可行時,勸說其他人放棄這個想法;
  • 設計自己的開發團隊;
  • 在功能、BAU 和技術債 / Bug 間找到平衡點,最大化商業利益;
  • 關注技術開發涉及的合規性問題和法律變動;
  • 準備併申請開發預算 —— 工資和研發預算一般是兩條線;
  • 準備併申請運行預算,例如硬件、服務(數據中心、雲服務等)、專利授權等;
  • 把上面所有涉及的工作,用財務數字和管理層、董事會講明白;
  • 把上面所有涉及的工作和投資人講清楚,而且留後手以免被出局;
  • 建立技術團隊的文化;
  • 把所有事情用技術語言和技術團隊說明白。例如,對董事會匯報可以說:“本司預計於18 ~24 個月內由CAPEX 模型遷移至OPEC 模型”,但是對技術團隊你得說:“接下來一年到一年半我們要從自建機房全部遷移上雲”。
  • 保證技術團隊的運行不受阻礙。你可以對人大喊大叫,但是大部分人覺得大家互相信任,不需要管理的效率最高;
  • 招聘高級別技術員工;
  • 管理、指導並支持技術高層;
  • 考慮薪酬,期權管理等;
  • 開除員工,不能心慈手軟。有人告訴我一條金科玉律:用目的評價人,而不是結果。盡可能不開除好心辦壞事的人,並想辦法幫他們;
  • 做有爭議的決策後把故事編圓,保證團隊看起來團結一心;
  • 當團隊做得好時,激勵他們;
  • 出任何差錯你去承擔。如果你拉不下臉,就別進管理層。

你也許已經註意到了,作為一個 CTO, 我寫代碼的時間並不是很多。但不同的公司有不同的情況:在小公司,你必須自己親力親為做產品。而在大公司,你根本沒有時間親自做產品。

我在上一次進行 CTO 演講時笑稱:我司大到我不需要寫代碼,但又小到我必須親自寫,搞得我兩頭不是人。

CTO 的不同類型

雖然 CTO 的職責相通,但還是分不同種類的。一般來說,CTO 可以分成“運營管理”型,和“技術領導”型兩種,而這兩種 CTO 的背景和角色的區別是巨大的。

我曾在倫敦中心的高級酒店裡參加過一場諮詢公司的 CTO 酒會。酒會過後,為了聽取更多技術領導人的看法,他們舉辦了一場“圓桌會議”。在這場“圓桌會議”中,我發現了一個讓我很震驚的事:在到場的 20 多位 CTO 當中,曾經學過代碼的 CTO 只有兩名,其中就包括我。

其他的 CTO 覺得有技術背景的人很奇怪,他們會說:“都要當 CTO 了,為什麼還要學寫代碼?”

看到這裡也許你會覺得奇怪:難道 CTO 不是從工程師一層層升上去的嗎?

很遺憾,並不是。

曾經和我共事過的幾名 CTO ,他們都寫過一兩行代碼(幾行 COBOL 的程度),但最終他們還是會在開始研究管理職務後跳槽。

而更多的情況是從運營或產品經理升上去的,因為大家覺得他們能夠很好的理解技術,於是就把技術團隊交給他們領導了。

當然,對於想成為 CTO 的工程師來說,上面所說的只是萬千條路的一種。還有很多工程師類型的CTO 職位,會更像“技術領導” —— 技術領導更多時候是要以身作則,是當高級工程師在不確定如何最好地解決問題時所面對的人,並且能夠讓他們相信這是最好的技術解決方案的人。

但並不是所有公司都需要這種領導,有些公司也會讓技術團隊自己研究方案。但當他們真的需要技術領導出面,而 CTO 又沒技術能力的時候,整個公司有可能會直接死掉。

我認為,技術領導者最適合純技術公司 —— 公司的主要產品就是技術,例如軟件、B2B ,或者賣科技產品的公司。這種公司的 CTO 必須是理解整個產品的工程師,而且是有同理心,可以領導團隊的人。

我的第一份技術工作是一家運營商公司。當時我的 CTO 熟悉 Unix 命令行,會用很多種語言寫代碼,並且可以直觀地將模式規範化為 3NF 。後來,那家公司被收購,並且大幅發展,現在已經成為了歐洲最大的運營商之一。一兩年前,我看了一次他們現在 CTO 的採訪,很明顯他對工程的錯綜複雜知之甚少。

所以,一家公司所需要的 CTO 可能會隨著時間的推移發生變化。這意味著你要么改變角色,要么走人(從一件合適的衣服轉移到另一件相似尺寸的)。後一種模式的適用範圍更大,因為在更小的公司,技術領導更受重視。

CTO 這個職位到底出了什麼問題

總體來說有以下 6 點:

  1. CTO 的職位在不同的公司意義不同,職責也不同;
  2. 大多數工程師都不知道這個職位不需要懂技術,而自己又不懂運營和管理;
  3. 非技術人員又不懂工程師每天都在做什麼,所以做不出技術決策;
  4. 隨著公司在規模、功能上的發展,CTO 也要改變;
  5. CTO 如果搞錯形勢 / 態勢,就得下台。同時,CTO 想跳槽也不容易,因為不是所有公司都有 CTO ;
  6. CTO 很少像其他 C-suite 職位那樣得到豐厚的報酬。

所以我覺得不是因為大家都想當承包商,造成 CTO 難找:大家心裡像明鏡似的。如果你是高級程序員,考慮當 CTO ,那你肯定會認識 10 年前改行當 CTO 現在痛不欲生的朋友。

簡而言之:想做的做不好,能做好的不愛做。

那我們該怎麼辦?有一個辦法是:創立一個類似於 CTO 的職務,但不是像工程總監、工程副總裁,技術總監這種我們耳熟能詳的職位。這些職務在不同的公司意義不同,但是我希望以後會慢慢的穩定下來。

我也見過CTO 做紙上工作,技術總監做技術工作,但大都效果不好,因為他們都有管理背景,卻又都不想搞技術,我認為這都是因為管理層沒有人理解技術領導所需的技能造成的。

招聘 CTO 的建議

  • 如果你想招聘 CTO ,好好考慮一下你需要的技術和背景;
  • 如果你的團隊需要技術領導,那麼找一個高級工程師,給他時間和空間熟悉非技術工作。幫助他,明確說明你需要 CTO 做什麼;
  • 如果你的團隊需要運營管理,那麼找一個有運營背景的人,讓他找一個技術總監,並明確他們的責任分工。

成為 CTO 的建議

仔細想想你想得到什麼,以及你想成為什麼樣的 CTO 。你可能更喜歡工程總監,甚至只是一家大公司的技術主管。

但萬事開頭難。多問問題,尋求幫助,雖然這會讓你感覺筋疲力盡,但如果一切順利,你會為你的團隊和同事感到驕傲的。

最後叮囑一句:了解領導和管理之間的區別,知道何時用什麼。

原文鏈接:https://hackernoon.com/the-problems-of-the-cto-role-c2a143a1cec7

TGO鯤鵬會,是極客邦科技旗下高端技術人聚集和交流的組織,旨在組建全球最具影響力的科技領導者社交網絡,線上線下相結合,為會員提供專享服務。目前,TGO鯤鵬會已在北京、上海、杭州、廣州、深圳、成都、矽谷、台灣、南京、廈門、武漢、蘇州十二個城市設立分會。現在全球擁有在冊會員 800+ 名,60% 為 CTO、技術 VP、技術合夥人。

會員覆蓋了 BATJ 等互聯網巨頭公司技術領導者,同時,阿里巴巴王堅博士、同程藝龍技術委員會主任張海龍、蘇寧易購 IT 總部執行副總裁喬新亮已經受邀,成為 TGO 鯤鵬會榮譽導師。