My Sixth Year as a Bootstrapped Founder

Michael Lynch

我作為自籌創業者的第六年

六年前,我辭去在 Google 擔任開發者的工作,創立了自己的自籌軟體公司。

最初的幾年,我創立的所有事業都失敗了。表現最好的每月也只有幾百美元的營收,而且沒有任何一家獲利。

進入第三年的中途,我打造了一款名為 TinyPilot 的裝置。它能讓使用者遠端控制自己的電腦。產品很快就受到歡迎,從此成為我的主要重心。

TinyPilot Voyager 2a 裝置正面圖TinyPilot 網頁介面截圖

TinyPilot 是一款能讓使用者遠端控制電腦的小型裝置。

2023 年,TinyPilot 創造了 99.7 萬美元的營收,我就大方地四捨五入算作一百萬。更重要的是,這門生意賺進了 23.6 萬美元的獲利,較 2022 年成長了 20 倍。

在這篇文章中,我將分享我在第六年作為 bootstrapped founder(自籌創業者)所學到的一切。

過往回顧

TinyPilot 的獲利成長了 20 倍

收支項目20222023變動
銷售營收$807,458$992,597啟用 JS 以查看差額
信用卡回饋$4,327$4,379啟用 JS 以查看差額
總收入$811,785$996,976啟用 JS 以查看差額
廣告-$51,764-$39,270啟用 JS 以查看差額
雲端服務-$9,151-$16,408啟用 JS 以查看差額
設計顧問-$30,215-$950啟用 JS 以查看差額
電機工程顧問-$124,643-$23,427啟用 JS 以查看差額
履約廠商-$0-$28,321啟用 JS 以查看差額
辦公室租金-$6,600-$6,310啟用 JS 以查看差額
人事薪資-$205,984-$255,779啟用 JS 以查看差額
郵資-$28,324-$16,853啟用 JS 以查看差額
原物料-$324,140-$358,457啟用 JS 以查看差額
其他支出-$25,398-$31,404啟用 JS 以查看差額
總支出-$806,219-$777,179啟用 JS 以查看差額
淨利$10,447$235,568啟用 JS 以查看差額

在連續兩年基本上損益兩平之後,TinyPilot 終於賺得了可觀的獲利。

大部分的改變來自更強勁的銷售。今年我們改用金屬外殼,這不僅提高了顧客願意支付的價格,也提升了我們的製造產能。

支出項目雖有消長,但整體大致持平。設計成本幾乎降至零,因為我不再每月花 6,000 美元請設計公司微調我的商標。我專注於擴大現有產品的規模,而非反覆修改硬體設計,這讓我的電機工程成本減少了 10 萬美元。

我沒有支領薪水,因此 2023 年我從 TinyPilot 獲得的總所得就是 23.6 萬美元。許多人好奇我在頭五年 bootstrapped founder 的微薄收入下如何維持生計。答案是我住在生活成本較低的麻薩諸塞州西部。我在大科技公司工作多年,累積了投入指數型基金的儲蓄,這些投資產生的股息收入足以支撐我的生活。

2023 年最驚恐的 10 分鐘

二月某個慵懶的週六午後,我聽到有人敲門。站在我家門廊的是一位五十多歲、穿著牛仔褲和風衣的男子。我還穿著睡衣就去開了門。

「你是那個做 TinyPilot 的人嗎?」他問我。

「糟了,」我心想。難道是不滿的顧客找上門來了?

「呃……是的,」我謹慎地回答。

「我是辦公室的維修人員。灑水器爆開了,我們進不去你們的辦公室。你能過來一趟嗎?」

聽起來不太妙。

在開車前往辦公室的五分鐘裡,我一直在想這會不會就是我事業的終點。我們把所有庫存都放在 TinyPilot 的辦公室裡。電路板被水淋濕後還能用嗎?大概不行。

TinyPilot 有保險,但那是我一年前投保的,當時我們的庫存只有現在的一半。就算保險理賠,TinyPilot 也會停擺好幾個月,直到我們能重啟整個製造流程。

我抵達大樓,走向二樓 TinyPilot 的辦公室,每走一步,地毯都濕漉漉地發出嘎吱聲。

走到那層樓時,我鬆了一口氣,發現爆開的灑水器其實是在共用的會議室,而不是 TinyPilot 的辦公室。我打開辦公室的門,發現裡面完全乾燥。水甚至沒有從門縫滲進來。

我的安心沒有持續太久,房東告訴我,為了修復我們與會議室共用的那面牆,可能得讓我們搬出去「幾週到幾個月」。

天花板、地毯與家具全被移除的房間照片

TinyPilot 隔壁辦公室的灑水器爆裂,摧毀了裡面的一切。

平常要在幾天內被迫搬遷整個辦公室就已經很擾人,但這週尤其麻煩。我正要去歐洲旅行兩週,這是創辦 TinyPilot 以來最長的一次出遠門。

如果團隊在我不在時必須搬家,就沒人能架設電腦或印表機——辦公室的 IT 人員就是我。而如果團隊無法列印寄送標籤,就無法出貨。

長話短說,我們最後不需要搬家,但這次經驗讓我再也不想陷入同樣的處境。把 TinyPilot 的營運全部集中在一間小辦公室裡,我冒的風險太大了。

外包訂單履行、降低壓力

TinyPilot 的訂單履行一向非常順暢,這也是我一直拖延外包的原因。過去兩年超過 3,500 筆訂單中,只有大約五筆我們寄錯商品給顧客。

2023 年 3 月,TinyPilot 從自行履行訂單改為使用第三方物流(3PL)倉庫。我們仍在辦公室組裝裝置,但會將可直接出貨給顧客的包裹批量寄到倉庫,再由 3PL 處理將訂單寄送給顧客的最後一步。

轉向 3PL 時,我們正處於「緊急模式」。兩名兼職員工組成的團隊每週大約組裝五十台裝置,但顧客的購買速度也差不多。這是個令人緊繃的狀況,因為任何中斷都可能讓我們被迫暫停銷售。

我原本希望外包履行能釋放團隊足夠的時間,每週生產約 100 台裝置。結果發現我們的完整產能只有約 70 台。以這樣的速度,要在倉庫建立健康的庫存,需要好幾個月滿載工作。我最後暫時聘請了第三名員工幫我們度過夏天。

所以,外包履行並沒有釋放出大量時間,但確實為我們贏得了更大的彈性。

本地團隊看起來本來就有彈性,因為他們想什麼時候來就什麼時候來。只要訂單在隔天郵件取件前打包完成,他們就算想在凌晨三點上班也行。

改用 3PL 後,省去了每日郵件取件的截止壓力。取而代之的是,我們唯一的期限是每週一次將組裝好的產品寄往倉庫。

彈性的增加大幅降低了壓力。如果員工想休四天連假,他們可以調整班表,仍在當週完成正常的 15 小時工時。或者他們可以休幾天假,而不會覺得造成其他團隊成員的負擔

讓 TinyPilot 看起來像個真正的產品

2023 年 TinyPilot 最顯著的變化之一,就是我們改善了產品的外觀。

到 2022 年底,我們仍用七台高階 3D 列印機日夜不停地製作 TinyPilot 的外殼。以 3D 列印來說,我們的外殼已經算相當精緻,但仍帶有 3D 列印產品那種「只是原型」的感覺。

採用黑色塑膠 3D 列印外殼的 TinyPilot

之前:TinyPilot 的 3D 列印外殼

2023 年 2 月,我們改用金屬外殼

採用全新金屬外殼的 TinyPilot

之後:TinyPilot 的金屬外殼

金屬外殼對銷售的影響之大令我驚訝。它不僅提升了銷售的絕對數量,也提高了顧客願意支付的價格。在嘗試不同定價後,我最終將價格調漲了 10%,而每月銷量仍高於使用 3D 列印外殼的時期。

我們也更新了 TinyPilot 的包裝。直到去年底,我們仍是把裝置和所有線材一起塞進氣泡袋,再丟進一個素面的牛皮紙箱。

氣泡袋中 TinyPilot、說明書與線材的俯視圖架上堆疊的 TinyPilot 氣泡袋

我們以前的 TinyPilot 包裝,只是將裝置、線材和說明書整齊地包在氣泡袋裡。

每當有評測者分享開箱 TinyPilot 的體驗,我就有點尷尬。

來自 noted.lol 評測的截圖,顯示 TinyPilot 舊包裝的素面牛皮紙箱

一位自宅實驗室評測者在評測中展示了 TinyPilot 舊的、令人尷尬的包裝

我曾和幾位設計師談過為產品製作精美的零售包裝盒,但始終沒有成形,而且那從來不是我的首要任務。改用金屬外殼後,TinyPilot 的包裝就顯得格外不成熟。

2023 年下半年,我們與一家委外製造商合作,由他們接手整個生產流程。作為合作的一部分,他們主動為我們製作零售包裝盒。

印有 TinyPilot 品牌的包裝盒關閉時的斜視圖TinyPilot 包裝盒打開、內容物整齊收納的正面圖

TinyPilot 新的委外製造商為我們的產品製作了品牌零售包裝盒。

我們的委外製造商把盒子做得很好。它放在 Best Buy 的貨架上或許不會特別吸睛,但作為網路硬體產品的包裝,感覺相當專業。

學到的教訓

低延遲責任中隱藏的壓力

將 TinyPilot 的訂單履行轉交給 3PL 降低了壓力並提升了彈性,對 TinyPilot 的本地團隊而言是如此,但最讓我驚訝的是它對我個人壓力的大幅緩解。

多年來,我一直揹著這麼多「要是……怎麼辦?」的焦慮,卻渾然不覺。

改用 3PL 之前,我腦海深處總是擔心各種可能阻礙訂單履行的狀況。要是辦公室的路由器當機、導致大家無法上網怎麼辦?要是桌機突然連不上印表機會怎樣?有數十種情況可能需要我緊急出面排除關鍵流程的阻礙。

現在我們已轉向 3PL 和委外製造商,雖然仍有許多可能出錯的地方,但我在大多數日常營運的關鍵路徑之外。如果倉庫的印表機壞了,會有別人去修,而我甚至可能永遠不會聽說這件事。

隨著專案成熟,更多時間花在維護上

六月,當我坐下來為最新的 TinyPilot 軟體更新撰寫更新日誌時,我很難解釋我們所做的任何工作如何讓使用者受益。我以為自己在重構上做得太多了,於是決心讓下一次發布更以使用者為中心。

到了要發布下一次更新時,我又遇到了同樣的問題。經過兩個半月的開發,我們能拿出來的只有一些微小的外觀改進。

相較於早期每隔幾個月就推出重大功能的步調,現在的速度簡直像冰河一樣緩慢。是我優先順序排得不好嗎?是團隊失去熱情了嗎?還是我們累積了太多技術債?

我檢視了這次發布的完整任務清單,包括所有對終端使用者不可見的工作。即使事後回顧,我仍覺得自己選對了任務。而我們在每項任務上投入的時間也都算合理。

TinyPilot 2.6.1 版本開發任務的截圖

TinyPilot 2.6.1 版本中的任務,依類型以顏色區分:改善產品(綠色)、自動化與降低複雜度(藍色)、例行維護(紅色)

那麼,在我們優先順序正確且效率良好下,進度怎麼會慢這麼多?

我意識到主因是程式碼庫的大小。我們的程式碼量是三年前的三倍。而每一行程式碼都需要時間維護。所以,如果我維持開發人數不變,卻讓程式碼庫變大,那麼就有更高比例的時間必須用於維護舊程式碼。

除了維護,程式碼越多也代表新功能的開發成本越高。如果你的應用程式零功能,打造第一個功能很容易。如果你的應用程式已經有 20 項功能,就必須花更多心思思考第 21 項功能如何與其他功能整合。

所以,我還沒找到讓我們顯著加速的方法,但我已學會調整對功能開發速度的期待。並且我已調整估算開發成本的方式,以反映我們更複雜的程式碼庫。

大多數支援升級都可以非同步處理

我盡量給予 TinyPilot 團隊盡可能多的自主權。同時,我也希望確保每個人在遇到困難時都能自在地向我求助。

問題在於,當支援工單升級到我這裡時,總是感覺特別有壓力。

有一段時間,我以為這就是支援升級的本質。我只會看到最棘手的顧客問題,所以當然會感到壓力。後來發現,其實大部分情況都是可以改善的。

首先,我調整了我們的升級流程。大多數升級的形式是:「Michael(麥可),這裡有個我們從未見過的問題。你希望我們怎麼處理?」我鼓勵團隊調整做法,在向我升級時同時提出解決方案。如果我不在,而他們是最後一道支援防線,他們會怎麼回覆顧客?

有 80% 的情況,團隊提出的解決方案與我會建議的相同。支援團隊越常這樣做,就越擅長處理困難案例。

一旦我發現團隊的答案與我的如此接近,就意識到沒有必要讓支援工單卡在等待我的回覆上。如果我在 80% 的案例中唯一的貢獻只是「對,就這麼做」,那何不讓他們立刻執行自己的計畫,同時平行地與我確認是否有其他選項?

在少數我有更好點子來解決支援問題的案例中,幾乎都是顧客可以在我團隊建議之外再嘗試的做法。我們從未遇到團隊告訴我:「啊,真希望你早點介入,因為我們建議他們把裝置放進微波爐,現在他們家著火了。」的情況。

為去年的目標打分數

去年,我設定了三個高層次目標,希望在這一年內達成。以下是我的達成情況:

每週用 20 小時管理 TinyPilot

  • 結果:相較以往大幅減少工時,且旅行天數超過以往任何一年。
  • 評分:B-

2023 年我的工作時數比 2022 年少很多。我因工作與私事進行了大量旅行。累計約有五週處於「不在辦公室」的狀態,但一切都運作順利。

傍晚結束工作時,我通常覺得當天的工作已經告一段落,而在 2022 年,我經常覺得還有許多未竟之事。

獲利 10 萬美元

  • 結果:我賺得 23.6 萬美元的獲利。
  • 評分:A+

我預期今年會獲利,因為我知道在硬體工程上的花費會減少,但我低估了 TinyPilot 因改用金屬外殼而帶來的額外營收。

能超越目標讓我感到驚喜。

關閉 TinyPilot 辦公室

  • 結果:我們仍保留辦公室,用於非關鍵工作流程。
  • 評分:B

設定這個目標時,我沒想到房東會同意改為按月租賃,但他同意了。沒有長期租約的束縛,就比較沒有必須在特定期限前搬出的壓力。

我們已成功將製造與履行的關鍵作業移出辦公室。因此,我們嚴格來說不再需要辦公室,但有一個據點還是很方便。

如果明天維修人員又來敲門,宣布某場災難摧毀了我們辦公室的所有財物、讓空間無法使用,那會令人沮喪,但不至於是災難性的。

第七年的目標

每週用 20 小時管理 TinyPilot

我知道我在2022 年和2023 年都設定過這個目標,但事不過三!我的管理時數呈下降趨勢,所以今年或許就是我達成的一年。

出版一門課程或一本書

2021 年,我曾說寫一本書來幫助開發者提升寫作能力。第一章寫到 80% 時,TinyPilot 就占據了我那一年的所有空閒時間。

我仍然想寫那本書,所以如果能減少管理時間,希望就能利用空閒時間多寫一些。

我也一直在嘗試 NixZig 這兩項我覺得令人興奮、卻缺乏教學資源的技術。為其中一項技術製作課程,可能是個既能建立自身專業、又能讓這些工具更易於他人使用的有趣方式。

每週花十個工作小時寫程式

寫程式仍然是我最喜歡的活動之一。

過去幾年經營 TinyPilot,我很享受寫程式,但以我有限的工作時數來說,這從來不是明智的時間運用。團隊有六個人、加上數個關鍵廠商與許多變動環節,TinyPilot 最迫切的部分始終是管理。

我希望透過將 TinyPilot 更多營運層面外包與授權,能釋放出足夠的餘裕,讓寫程式即使不是時間的最佳運用,至少也是合理的運用。

我還熱愛這份工作嗎?

每年寫這些部落格文章時,我都會問自己是否依然熱愛自己在做的事。

2022 年仍然是我經歷過最艱難的一年。我依然覺得它比為雇主工作好,但在全球晶片短缺期間,同時要讓新夥伴上手,是一項巨大的挑戰。

2023 年比前一年有了大幅改善。需要撲滅的緊急狀況變少了,將關鍵工作流程轉移給專業廠商的感覺很好。

2023 年的缺點是我很難對它感到興奮。這是重整的一年,所以我花了很多時間重新定義 TinyPilot 的流程並調整團隊職責。TinyPilot 讓我發現自己在設計組織流程方面比一般開發者強,但我仍覺得這件事無聊至極。

雖然不能說我熱愛這一年,但整體而言我還是享受其中的大部分時光,並且更喜歡它勝過為雇主工作。我很感激自己能處於這樣的位置——為自己工作、創造令自己驕傲的產品,並以此維生。

原文由 Michael Lynch 發布

本文章由 muse-spark-1.2-contributor 進行翻譯