My Sixth Year as a Bootstrapped Founder

Michael Lynch

自力更生创业的第六年

六年前,我辞去了 Google 开发者的工作,创办了自己的自力更生(bootstrapped)软件公司。

最初几年,我所有的业务都失败了。其中最好的一个月收入只有几百美元,而且没有一个盈利。

第三年过半时,我做出了一款名为 TinyPilot 的设备。它让用户可以远程控制自己的电脑。产品很快走红,从那以后它一直是我的主要工作重心。

TinyPilot Voyager 2a 设备的正面视图TinyPilot 网页界面的截图

TinyPilot 是一款让用户远程控制电脑的小型设备。

2023 年,TinyPilot 创造了 99.7 万美元的收入,我大方地把它四舍五入成整整一百万。更重要的是,业务赚到了 23.6 万美元的利润,比 2022 年增长了 20 倍。

在这篇文章中,我将分享自力更生创业第六年里我学到的东西。

往期回顾

TinyPilot 的利润增长了 20 倍

收入/支出20222023变化
销售收入$807,458$992,597enable JS to see delta
信用卡返现$4,327$4,379enable JS to see delta
总收入$811,785$996,976enable JS to see delta
广告-$51,764-$39,270enable JS to see delta
云服务-$9,151-$16,408enable JS to see delta
设计咨询-$30,215-$950enable JS to see delta
电气工程咨询-$124,643-$23,427enable JS to see delta
履约供应商-$0-$28,321enable JS to see delta
办公室租金-$6,600-$6,310enable JS to see delta
工资-$205,984-$255,779enable JS to see delta
邮费-$28,324-$16,853enable JS to see delta
原材料-$324,140-$358,457enable JS to see delta
其他一切-$25,398-$31,404enable JS to see delta
总支出-$806,219-$777,179enable JS to see delta
净利润$10,447$235,568enable JS to see delta

在基本收支平衡两年之后,TinyPilot 终于赚到了像样的利润。

这一变化主要归功于更强劲的销售。今年我们改用了金属外壳,这既提高了客户愿意支付的价格,也提高了我们的制造产能。

各项支出有所变动,但总体上大致持平。设计成本几乎降到零,因为我不再每月花 6000 美元请设计公司调整我的 logo。我把精力放在扩大现有产品的规模上,而不是反复迭代硬件设计,这使我的电气工程成本减少了 10 万美元。

我自己不领薪水,所以 2023 年我从 TinyPilot 获得的总收入是 23.6 万美元。人们常常好奇,我是如何靠前五年自力更生创业那微薄的收入活下来的。答案是我住在西马萨诸塞州,那里生活成本很低。我在大厂工作多年攒下了一些指数基金储蓄,这些投资产生的分红收入足以维持我的生活。

2023 年最惊心动魄的 10 分钟

二月一个慵懒的周六下午,我听到敲门声。站在我门廊上的是一个五十多岁的男人,穿着牛仔裤和防风夹克。我穿着睡衣打开了门。

“你是那个做 TinyPilot 的人吗?”他问我。

“糟了,”我心里想。难道是哪个不满的客户找到了我家?

“是……”我谨慎地回答。

“我是办公室的维修工。一个喷淋头爆了,我们进不了你的房间。你能下来一趟吗?”

这听起来可不妙。

在开车去办公室的五分钟里,我一直在想这是不是意味着我事业的终结。我们所有的库存都存放在 TinyPilot 的办公室里。电路板被水泡过还能用吗?大概不能。

TinyPilot 有保险,但我是一年前投保的,当时我们的库存只有现在的一半。而且就算保险赔付了,TinyPilot 也会瘫痪好几个月,直到我们重启整个制造流程。

我到了大楼,走向二楼的 TinyPilot 办公室,每走一步地毯都被踩得湿漉漉地作响。

到了我们那一层,我松了一口气:爆裂的喷淋头其实是在共用的会议室,而不是 TinyPilot 的房间。我打开办公室的门,发现里面一切干燥如初。水连我们的门缝都没有渗进来。

但我的欣慰没有持续多久,房东告诉我,为了修理我们与会议室共用的那面墙,他可能得让我们搬出去“几周到几个月”。

一个房间的照片,天花板、地毯和家具都被拆除

TinyPilot 隔壁办公室的一个喷淋头爆裂,里面的东西全被毁掉了。

通常情况下,被要求在几天之内搬走整个办公室就已经够麻烦了,但这周尤其麻烦。我正准备去欧洲进行为期两周的旅行,这是创办 TinyPilot 以来我离开时间最长的一次。

如果团队在我离开期间要搬家,没人能配置电脑或打印机——办公室的 IT 人员就是我自己。而如果团队无法打印快递面单,他们就无法发货。

长话短说,我们最终没有搬,但这次经历让我再也不想陷入那种境地。把 TinyPilot 的运营集中在一个小小的办公室里,我承担的风险太大了。

外包订单履约,减轻压力

TinyPilot 的订单履约一直非常顺畅,这也是我一直拖延外包它的原因。过去两年 3500 多笔订单中,只有大约五单我们给客户发错了商品。

2023 年 3 月,TinyPilot 从自行履约转为使用第三方物流仓库(3PL)。我们仍在办公室组装设备,但会把可直接发给客户的包裹批量运到仓库,由 3PL 完成向客户发货这最后一步。

转向 3PL 的时候,我们正处于“紧急模式”。我们两名兼职员工的团队每周组装大约五十台设备,而客户的购买速度与之相当。这种局面压力很大,因为任何中断都可能让我们被迫停止销售。

我希望外包履约能腾出足够的团队时间,把产量提高到每周约 100 台。结果发现我们的全部产能只有大约 70 台。照这个速度,需要以满负荷运转几个月才能在仓库里建立起健康的库存。我最终临时雇了第三名员工,帮我们撑过夏天。

所以,外包履约并没有腾出大量时间,但确实为我们赢得了更多的灵活性。

本地团队似乎本来就有灵活性,因为他们可以想什么时候来就什么时候来。只要订单在第二天取件前打包好,他们哪怕凌晨 3 点来上班也行。

改用 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 装在素色牛皮纸盒中的旧包装

一位 homelab 测评人在测评中展示了 TinyPilot 那令人尴尬的旧包装

我曾和几位设计师聊过为产品做一个精美的零售包装盒,但一直没有成行,也从来不是我的头等大事。换成金属外壳之后,TinyPilot 的包装就显得格外不成熟了。

2023 年下半年,我们与一家代工制造商(contract manufacturer)合作,让他们接管了我们的整个生产流程。作为这项工作的一部分,他们主动提出为我们制作一个零售包装盒。

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,这两项技术让我兴奋,但缺乏教学资源。为其中一项技术创建一门课程,可能是提升我自己专业能力、同时让这些工具更容易被他人使用的有趣方式。

每周写 10 个工作小时的软件

写代码仍然是我最喜欢的活动之一。

在 TinyPilot 的过去几年里,我一直享受编程,但把我有限的工时花在编程上从来都不是明智的选择。团队有六个人、几家关键供应商、还有许多环环相扣的事务,TinyPilot 最紧迫的部分始终是管理工作。

我希望通过把 TinyPilot 更多运营方面的工作外包和委派出去,我能腾出足够的精力,让编程即使不是对我时间的最优使用,至少也是一种合理的使用。

我还热爱这份事业吗?

每年写这些博客文章时,我都会问自己:我还热爱我正在做的事吗?

2022 年仍然是我最艰难的一年。我仍然更愿意做这个而不是给别人打工,但在应对全球芯片短缺的同时培训新队友,是一个巨大的挑战。

2023 年比前一年有了很大改善。要扑灭的火少了,把关键工作流程转移给专业供应商的感觉也很好。

2023 年的缺点是,我很难对它感到兴奋。这是重组的一年,所以我花了很多时间重新定义 TinyPilot 的流程、调整团队的职责分工。TinyPilot 让我看到,在设计组织流程方面我比一般开发者更擅长,但我仍然觉得这件事无聊得要命。

虽然不能说我热爱这一年,但我仍然享受了其中的大部分时光,并且更愿意做这个而不是给别人打工。我很庆幸自己处在这样一个位置:能够靠自己谋生,并打造一个令我自豪的产品。

原文由 Michael Lynch 发布

本文章由 stealth/ox-alpha 进行翻译