隨著創業公司的發展,我們需要對以往的工作方式進行調整。在工程學上也需要如此。作為一名聯合創始人和首席技術官,我自己的角色多年來改變了很多。日常職責和挑戰也已經發生了變化,不得不多次改變自己的做法,以幫助公司達到一個新的高度。
在Zapier的早期,只有三個人在晚上和周末工作,在地下室里加班,那就是Zapier。在我們終推出之前,我們經歷了Zapier的三四個版本。六年后,我們做了上億個API調用,在全世界有超過80個員工,包括20多名工程師。
我們三個人之間的成長歷程和今天的情況是相當不同的。如果你喜歡的話,你可以看下我的線上視頻。或者,讀一下我過去學到的經驗教訓,并問一下我次當CTO時的同事。
在我們進一步深入之前,有一個問題,那就是CTO是什么?它就像一個生命中的仁慈獨裁者,它是軟件社區里監視代碼的嗎?它是某種超級管理者還是超級黑客?
向很多人征求意見,聯系了Buffer、Unbounce和其他一些比我們大一些的初創公司的CTO,終得到了一個答案:沒有人真正知道。這是一個模糊的角色,不適合在做規范的定義。但當我與人交談時,確實發現了一些常見的模式,以便了解一個小型、以技術為中心的初創公司該如何成長,以及CTO在每個階段需要做什么。

因為我是一個書呆子,喜歡玩電子游戲,所以對我來說,這像是一種升級樹。當你在游戲中獲得更多的經驗時,你會升級,在某些時候你可以選擇不同的升級分支。

下面是初創公司CTO升級樹的方式。
這正是我們在地下室工作的時候的情景。這是一段非常有趣而且非常快的時間。你建造了很多東西,并且很快迭代,沒有溝通或管理的開銷,因為你們都是同步的。你只是想弄清楚如何進行下一步工作。
作為一個創業者,你想要拓展團隊,所以你開始雇傭員工。這通常是你雇傭朋友的時候。有些人說不要雇傭你的朋友,但我認為在早期階段這是很好的。你知道自己可以和他們一起工作,并且適合這個職位。這時候你仍然感覺很好,因為你只有幾個工程師。通信開銷很小,你仍然可以保持同步。
這個時候就有點奇怪了。你不再經常與團隊中的每一個人交談。你必須開始做一件可怕的事情,它叫做管理,對我來說是完全不同的東西,不像編碼那樣自然。這就是通信開銷在你編寫代碼的時候發生的地方。你可能在想辦法雇傭那些不是你朋友的人。這很棘手,因為你不知道的事情正在發生。在這個階段,事情會很快發生變化,你會在升級樹上面對你的個分支。
有了這樣規模的團隊,你可能在不同的領域工作。你不能在人員和代碼管理方面都做得很好,因此到了你做出選擇的時候。
副總裁:關注管理
CTO:關注編碼和架構
副總裁通常是一個人,他把過程放在適當的地方,利用工具使團隊更有效率,幫助工程師們完成工作。或者,你可以繼續擔任CTO,并維護你的程序員角色。CTO是一個熟悉系統的人,他知道所有的骷髏在壁櫥里的哪個位置。
我并沒有為這個決定做好準備。我甚至不知道必須在兩者之間做出選擇。我只是覺得CTO會是事實上的經理。這似乎是我所談過的超過一半的創業公司的案例。無論你走的是經理還是程序員路線,你都要找一個會做相反的事情的人。
要做出這個決定,好回想一下你從哪里來。你的時間花在哪里,你有多自信,你想重新審視哪個階段?
在早期,它是一兩個工程師。你把時間都花在編碼上了。感覺很好,一切都太好了。無論何時,當你得到6個人的小團隊時,感覺仍然很好。你花了80%的時間編寫代碼,大約20%的時間在交流。你仍然感覺很好。你對這個有百分之九十的信心。
然后當它變得有點不一樣的時候,工作那就變得更加困難了。當你得到越來越多的人的時候,你花費的編碼時間還不到50%。有越來越多的人來幫助你,但感覺卻不太好,因為在保持編碼計劃的同時還要努力去管理。這就是你必須決定去做經理還是程序員的時候。那么,你該如何規劃那棵樹呢?
“你真的需要弄清楚你的荷爾蒙是怎么來的?”
我從另一位創始人那里得到了這個的建議。當你幫助別人做一些他們苦苦掙扎的事情時,你會感覺很好嗎?或者當你解決一些技術問題時,你會內心振奮嗎?這些問題應該會給你一些指導。
當我決定在哪里集中注意力時,我采訪了大約15名創始人和首席技術官。我問他們每一個人在旅途中所遇到的困難。在這些對話中,有四個方面不斷被提到。
1.擁抱斷裂點
我問他們每個人犯過大的錯誤——他們經歷過艱難的事情,以及他們是如何解決的。如何預防?他們說到,“你知道,我可能并不會預測。只有在經歷這個階段才能真正明白我們想要做什么。我不得不通過學習相反的一面來學習正確的一面。”
用CTO的技術術語來說,就是把這個斷點當作擴展服務。遇到瓶頸,然后解決它,接著再次遭遇瓶頸。這比預測它們要有效得多,因為預測是非常困難的,特別是在一些類似創業的事情上。
2.無人之地
這是我為6到12名工程師的階段取的名字。所有的事情都在進行,并且有點讓人困惑。你會發現自己在說“為什么這個人不知道這個?難道他們不知道自己該做些什么嗎?”這類問題暗示著你在這個領域,在不需要一個人來填補另一邊的空缺的情況下,你很難從一個方面走到另一個要么是程序員,要么是經理的方向。你沒有足夠的能力來保證扮演兩個不同的角色,但是你也沒有弱到可以忽略其中之一,你有點進退兩難。
溝通是解決這個階段問題的橋梁。當你發現自己在說“為什么xyz這么做?”你需要開始過度溝通。說一遍又一遍,幾乎是所有人聽到你再說一遍的時候,他們會轉著眼睛說:“哦,他又來了。”但這很重要,因為每個人需要意見一致。
我經常聽到一些CTO說:“我們看到Spotify這么做”或者“我們看到亞馬遜這么做”。然后他們會模仿。作為一家科技公司,如果你在創新,你不應該在管理上創新。你不應該在如何組織你的公司方面進行創新。你應該用你的技術,你的代碼和你的產品來創新。
挑出你認為有趣的事情,并在你的團隊中進行嘗試。通過很多其他人不曾真正擁有的想法和方法來組織你的團隊,隨著時間的推移,你的公司將變得獨一無二。你真正需要試著去做是撿起別人正在做的事情,并為自己省去麻煩。
當我們開始招聘工程師時,我們認為更多的人意味著可以做更多的事情。在早期,創始人和批員工在工作時,我們認為每個人做兩三個項目是正常的。4個工程師,每次8到12個項目,對吧?不,那是個壞主意。
更多的項目意味著更多的溝通。它會變得越來越難追蹤到底發生了什么,并且讓每個人意見一致。回想起來,當我們加入更多的隊友時,正確的解決方案是在工作量方面保持穩定,或者甚至稍微減少一點。
我們這樣做的方式是挑選一個我們都關注的大項目,讓每個人都知道它是我們的頭等大事。而那些次要的事情則是第二目標。
我希望我自己的旅程對那些試圖在早期創業,特別是作為一個技術創始人的人來說,有一點幫助。無論如何,有困惑很正常,可以推遲一些決定,并在你走的時候把它弄清楚。在不同的階段,需要不同的東西。
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。