“我終于又能親手解決軟件工程問題了,這才是我真正喜歡的事情。”
當地時間 7 月 22 日,《2020 胡潤全球獨角獸榜》中排名 58 位的科技公司 HashiCorp 的創始人 Mitchell Hashimoto 發布內部信表示,他將辭去公司 CTO 的職位, 同時退出 HashiCorp 董事會,重新成為一名個人程序員。這家以他名字命名的公司如今估值已達 52.7 億美元(約合 325 億人民幣)。
“我真正喜歡的是編程”
“我作為一名對基礎工具充滿熱情的工程師創立了 HashiCorp。但作為創始人,我的職責有時不得不遠遠超出這個范圍。這就是成為創始人的代價:你必須做任何需要你做的事情,即使這個角色的一些工作并沒有特別激勵你。在將 HashiCorp 打造為一家價值數十億美元公司的近十年的里,我不斷重申我仍然是一名工程師,如今我準備更正式地重新專注于這一點。”Hashimoto 在內部信中表示。
Hashimoto 從 12 歲開始編程。由于喜歡游戲,他寫了一個游戲外掛軟件并在網站上售賣,他的父母當時還以為他放學后回到房間是在玩游戲。不過沒多久,在收到游戲方通知后,他的售賣網站關閉了。
“之后,我只是為了好玩而繼續編程。”Hashimoto 表示。Hashimoto 曾在幾家不同的公司負責過軟件工程、DevOps 和咨詢工作,還創辦了兩家公司 (包括 HashiCorp),創建或參與了 75 個開源項目,而且該數量還在不斷增加。
Hashimoto 創建的代表性項目之一就是自動化工具 Vagrant,它徹底改變了虛擬化開發環境的創建。Vagrant 也是 HashiCorp 產品的基礎,能夠幫助企業客戶自動執行云計算運行任務。
2012 年,Mitchell Hasimoto 根據他 23 歲時在大學里編寫的技術方案,與現任 CTO Armon Dadgar 聯合創立了 HashiCorp,Hashimoto 出任公司 CEO,但他表示,擔任 CEO“非我所愿”。
因此,2016 年,HashiCorp 聘請了在企業管理方面擁有豐富經驗的 David McJannet 接掌大任,而 Hashimoto 與 Dadgar 共同擔任聯席 CTO。但從兩年前開始,他就心心念念著要回到程序員的崗位上。
經過協商,公司決定批準 Hashimoto 放棄 CTO 頭銜的決定,允許他繼續投身于自己熱愛的事業。現在 Dadgar 成為公司唯一的 CTO,Hashimoto 則向他報告。對此,Hashimoto 表示,“我終于又能親手解決軟件工程問題了,這才是我真正喜歡的事情。”
但他并不會離開這家公司。作為個人貢獻者,Hashimoto 打算專注于 HashiCorp 旗下的各個項目,如用于幫助客戶構建及發布代碼的 Waypoint 等。他還將與工程及產品副總裁密切合作,盡可能發揮自己的才智與熱情。與此同時,Hashimoto 將繼續為 McJannet 及 Dadgar 提供戰略規劃建議,以顧問的身份陪伴老戰友們繼續奮勇向前。
Hashimoto 感嘆道,“我希望能充分發揮自己不同于傳統工程師們的優勢,特別是自己對于企業背景和發展規劃的深入了解。我認為很多程序員本身都相當出色,但由于對企業整體不夠了解、他們距離卓越工程師還有一點差距。而我覺得自己的專長就在這里。”
Hashimoto 之前一直參與 Vagrant 代碼的編寫工作,所以在他看來自己的日常工作不會有“太大變化”。最核心的區別就是,他不用再為了參加客戶會議而東奔西走。Hashimoto 表示,雖然他也喜歡跟客戶會面,但無窮無盡的出差讓他難以有充足的精力參與編程,他曾為此十分困擾。他還表示,自己的家人也很高興看到他不用再做“空中飛人”。
Mitchell Hashimoto
“他對學習更有熱情”
2007 年,Hashimoto 和 Dadgar 在華盛頓大學 (University of Washington) 大一的時候相識,當時他們都在西雅圖項目 (Seattle Project) 工作,該項目旨在建立全球科學計算云。兩人的工作是將科學應用程序容器化,以部署在數百萬臺計算機上。Hashimoto 則在盡可能多地實現平臺和設備測試的自動化。與此同時,除了為軟件設計和工程公司 Citrusbyte 定期進行咨詢工作外,他還參與了多個開源項目。
“Hashimoto 是我見過的第一個對這么多不同的事情都如此了解的人,他對學習更有熱情,并不斷突破界限,”Dadgar 說到,“你很少會遇到像 Mitchell 這樣對計算機科學充滿熱情的人,那種被它吞噬的人。Mitchell 能認識到自己知識的極限,并超越它。如果你和 Mitchell 談論你的想法,當你下次見到他時,他已經花了一整晚的時間去這個研究問題,并且很可能已經在 GitHub 上創建了一個原型應用程序。”
大學期間,Hashimoto 創建了一個幫助學生注冊課程的自動化系統 UW Robot ,學生們付一小筆錢就可以不用早起點鼠標搶課了。根據 Hashimoto 的說法,到他大四的時候,UW Robot 已經注冊了 70-80% 的本科生,并且這個一年只花費他幾個小時進行維護的自動化項目,一年就可以為他賺取大約 50 萬美元。
2009 年 12 月,Citrusbyte 的經理跟抱怨了有客戶要處理一項基本工作,他為了配置正確的運行開發環境花費了 8 個多小時,而客戶只用了兩個小時就完成了工作。自此以后,Hashimoto 將越來越多的時間花在了 Vagrant 項目上,并在 2010 年 3 月發布了第一個增量版本。隨著 Vagrant 的勢頭越來越大,Hashimoto 得到了 PaaS 公司 Engine Yard 的贊助。當他開始宣傳 Vagrant 來提高知名度時,下載量穩步增長到 200、500 和 1,000 多次。
隨著 Vagrant 的發展,2012 年年中,Hashimoto 離開當時工作的 Kiip 公司,成立了 HashiCorp,并專注于 Vagrant 和其他開源項目。隨后,HashiCorp 發布了一系列產品。
Hashimoto 學習新編程語言的方式就像多語種者掌握口語一樣。他十幾歲時開始使用 Visual Basic、PHP 和 C。Hashimoto 和 HashiCorp 的大部分軟件都是用 Ruby 或 Go 編寫的,但他的專業和開源工作涵蓋了從 HTML、CSS 和 JavaScript 到 Python、Shell 和 Erlang 的語言。
有件值得注意的事。2013 年,有人曾想以 5000 萬美元的價格收購 HashiCorp,這對兩個 20 多歲、沒有經歷過任何百萬美元以上風險融資的創始人來說無疑是一個很大誘惑。Hashimoto 表示,自己內心的第一反應就是:同意,必須同意。但他們希望 HashiCorp 是可以孕育出偉大的產品的公司。經過糾結,他們放棄了這項收購計劃。那個時候,他們還沒有開發出 Terraform 或者 Vault。
CTO 的職責與寫代碼
“隨著時間推移,我強烈意識到自己的熱情在于參與軟件工程,而非扮演技術領導角色。”Hashimoto 坦言。
Hashimoto 喜歡寫代碼,但 CTO、CEO 的身份讓他不得不舍棄一些編程的時間。Hashimoto 辭任高管,重回個人開發者背后,也反映了一個被業界廣泛討論的話題:CTO 到底該不該自己下場寫代碼呢?
Domino 數據實驗室的首席執行官兼聯合創始人 Nick Elprin 認為,CTO 仍然應該時不時地編寫代碼。他給出了兩個原因:首先,語言和工具在不斷變化,不時地動手寫代碼可以跟上最新的編程情況。但也許更重要的是,組織在成長和擴展的過程中,可能會在系統中增加許多摩擦,導致開發人員花費過多的時間與公司的流程和系統角力。會自己寫代碼的 CTO 可以保持開發者的立場,清楚的知道哪些是可行的、哪些是過時的。
“在與客戶(尤其是 B2B)溝通時,CTO 的專業知識會很有用。如果 CTO 不從內到外了解公司的代碼庫和架構,那將是一個低效的溝通。CTO 在參與早期的產品定義、市場需求等非技術會議時,應該作為科技前沿的代表,將企業愿景轉化為具體的內部運作。”Aerendir Mobile 創始人兼首席執行官 Martin Zizi 認為,CTO 不僅需要與產品和用戶保持一致,還需要弄清楚如何做到這一點。”
而 McPherson Oil 的系統和應用開發總監 Joydeep Mukherjee 認為,CTO 當然應該更多地關注 IT 思想領導力,這有助于為公司在取得成功的技術和創新方面制定 IT 路線圖。“我更愿意說,寫不寫代碼取決于您面對的受眾以及他們的期望。”
易寶支付 CTO 陳斌也曾表示,CTO 更多的要關注人員、組織、文化和過程,通過技術來服務業務。業務是最高目標,而技術只是服務業務的一個手段。
曾任宅米 CTO 的李智慧曾表示,CTO 應該寫代碼,也不應該寫代碼。一方面,CTO 需要通過寫代碼對技術保持敏感,而不是一個“嘴炮 CTO ”、“ PPT CTO ”。另一方面,CTO 工作的重心并不是寫代碼,而是要通過代碼為公司創造價值。“CTO 最好參與一些開源軟件的開發,保持對技術的敏感,但最好不要寫公司的業務代碼,避免出了 BUG 卻找不到 CTO 修復。”
Title3Funds 的 CTOKim LaFleur 表示,CTO 需要知道他們的時間花在什么地方才能發揮最大價值。隨著業務不斷發展,他們的職責會就不僅是寫代碼,但他們應該與開發人員保持緊密的互動,因為 CTO 要有足夠的背景和知識來有效地領導他們進行編程工作。
這個問題并沒有標準答案。但 Hashimoto 找到了自己的答案:“最重要的是在企業成功、個人幸福感等重要因素之間取得平衡,我的選擇就是個很好的案例。”