My Fifth Year as a Bootstrapped Founder

Michael Lynch

作为独立创业者的第五年

原文由 Michael Lynch 发布,订阅该博客

五年前,我辞去了在 Google 的开发者工作,创办了自己的自筹资金软件公司。

最初几年,我的所有创业项目都失败了。没有任何一个项目的月营收超过几百美元,而且全部处于亏损状态。

到了第三年过半时,我打造了一款名为TinyPilot的设备。它能让用户无需安装任何软件即可远程控制自己的电脑。产品很快走红,从那以后它一直是我的主要重心。

2022 年,TinyPilot 创造了 81.2 万美元的营收,比 2021 年增长了 76%。

在这篇文章中,我将分享第五年作为自筹创业者所学到的经验。

往年回顾

本年度亮点

TinyPilot 年营收增至 81.2 万美元

收支项目20212022变动
销售额$459,529$807,459需启用 JavaScript 查看变化
信用卡返现$2,241$4,327需启用 JavaScript 查看变化
原材料-$224,046-$333,656需启用 JavaScript 查看变化
工资支出-$142,744-$206,187需启用 JavaScript 查看变化
电子工程咨询-$28,662-$124,643需启用 JavaScript 查看变化
广告投放-$3,873-$51,764需启用 JavaScript 查看变化
网站设计 / 品牌设计-$15,931-$30,215需启用 JavaScript 查看变化
邮寄费用-$24,227-$30,779需启用 JavaScript 查看变化
云服务-$5,553-$7,865需启用 JavaScript 查看变化
办公场地-$4,400-$6,600需启用 JavaScript 查看变化
设备-$2,083-$5,915需启用 JavaScript 查看变化
其他-$4,902-$8,183需启用 JavaScript 查看变化
净利润$5,349$5,979需启用 JavaScript 查看变化

营收增长 35 万美元听起来很亮眼,但最终利润只有 6000 美元,就没那么令人兴奋了。我不给自己发工资,所以这 6000 美元就是我 2022 年从公司获得的全部收入。即便如此,我依然对这些数字以及它们对 2023 年的意义感到乐观。

成本大幅增加的一项是电子工程。整个 2021 年,TinyPilot 的电子工程供应商一直难以跟上业务的增长。到 2021 年底,我换了一家更符合需求的新供应商,但费用是原来的三倍。

持续的芯片短缺迫使我们频繁重新设计,这推高了工程工时和原材料成本。我们常常要在现有版本的库存耗尽前抢先完成电路板的重新设计,因此不得不反复支付加急费用。

我们终于在 9 月摆脱了不断重新设计的循环。我希望第四季度的业绩能预示来年的情况。第四季度的利润为 2.86 万美元,如果 2023 年月均能达到 9500 美元,我就很满意了。

TinyPilot 焕新了官网

2020 年推出 TinyPilot 时,我告诉自己网站和 logo 都只是临时的占位。结果产品很快火了起来,我一直没时间去替换它们。

2022 年,我终于请了一家设计公司来设计新的 logo 并重做网站。

旧版着陆页截图
新版着陆页截图

改版前后的 TinyPilot 网站

我之前写过与这家设计公司合作有多令人沮丧和昂贵,但我对最终结果还是满意的。旧网站看起来像个业余项目,新设计则像一家正规公司。我猜销售额的增长至少有一部分要归功于新设计。

TinyPilot 团队从六人扩至七人

2021 年底,TinyPilot 团队的构成是:

  • 我,唯一的创始人
  • 三名兼职软件开发者
  • 两名兼职本地员工,负责组装设备和订单履约
    • 其中一人还负责客服

到 2022 年底,我们新增了两名技术支持工程师并调整了分工,团队现在是:

  • 我,唯一的创始人
  • 两名兼职软件开发者
  • 两名兼职本地员工,负责组装设备和订单履约
    • 两人现在都负责客服
  • 两名兼职技术支持工程师

新增技术支持工程师就像找到了缺失的那块拼图。在他们加入之前,技术支持全靠我一个人,占据了我大约 20% 的时间。现在,我花在支持请求上的时间不到 5%,而客户也能更快得到帮助。

技术支持工程师还做了许多我之前没时间做的事,比如排查复杂 bug、编写文档和改进诊断工具。

团队的扩张也考验了我的管理能力。2021 年,TinyPilot 的工作流程还比较简单。几乎每个人都是以单人单元的形式工作,成果要么直接交给我,要么直接面向客户。员工之间如需协作,也总是在同一角色的同事之间进行。

引入技术支持工程师意味着要弄清楚不同团队如何协同工作。当支持请求需要履约员工和技术支持工程师配合时,流程该怎么走?技术支持工程师与开发团队之间的反馈闭环又该如何建立?

PicoShare 成了我增长最快的项目

过去几年让我特别烦的一件事,就是用 Google Drive 或 Dropbox 这类云存储分享单个文件有多麻烦。它们不会给你文件的直链,只会给你一个指向其网页界面的链接,并在那里极力劝说接收者注册账号。如果你往 Google Drive 上传一个视频,即使它本来已经针对浏览器播放做过优化,它们也会让你等上 15 分钟以上重新转码。

作为现有云存储方案的替代,我做了一个极简的文件分享应用,叫PicoShare。你只需上传文件,它就会给你一个可分享的直链。就这么简单!无需重新转码,也不会弹出任何注册提示。

在 PicoShare 上传视频文件并在另一个浏览器窗口中串流播放的动态演示
PicoShare 演示

有一些开源工具提供了类似的功能,但 PicoShare 的独特之处在于不需要数据库服务器。也就是说,你可以用单个 Docker 容器运行它,而其他方案则需要更复杂的编排。

PicoShare 成了我发布过的增长最快的开源项目。发布两周内就获得了 600 个 GitHub star。截至撰写本文时,PicoShare 已有超过 10 万次安装

经验与教训

不要成为任何人的最小客户

在整个TinyPilot 网站改版风波中,我犯了很多错误,但核心问题在于那家设计公司与 TinyPilot 根本不匹配。

这家公司的其他客户预算是 TinyPilot 的 5 到 20 倍。起初,我还觉得这是难得的机会——这样一家服务高预算客户的高端公司,居然愿意押注在我这样的小公司身上。

现实是,TinyPilot 是这家公司优先级最低的客户。他们对项目管理不善,导致成本上升、范围膨胀、工期拉长。

现在与新供应商合作时,我会问他们我的公司与他们的其他客户相比如何。如果在规模、营收或行业等任何重要维度上我是特例,我就会另寻他家。

保持 50% 的余量

如果公司产能与客户需求恰好匹配,那该多好?员工刚好用 40 小时完成所有订单、回应所有支持请求,既不会过度劳累也不会无所事事,完全没有空闲时间。

实际上,那会是一个糟糕的系统。以 100% 利用率运转意味着你没有任何容错空间。销量小幅上涨或有员工休假这类日常波动,就会立刻让你不堪重负。

我的目标是让 TinyPilot 的每个人都保持在大约 50% 的负荷。也就是说,50% 是响应性工作,50% 是主动性工作。对某些岗位来说,比例不一定正好是五五开,但这是一个很好的经验法则。

技术支持团队是最清晰的 50/50 例子:他们一半时间回应支持请求,另一半时间则想办法让用户根本不需要求助。主动性工作包括修复产品 bug、编写文档和改进诊断工具。

TinyPilot 的每个团队都由两人组成。当其中一人不在时,另一人可以暂停主动性工作,去处理紧急任务而不会感到难以承受。如果因为某个热门 YouTube 频道提到我们而订单激增,我们也有余力来消化。

团队响应性工作主动性工作
创始人团队管理
供应商管理
工作审核
填补职责空缺
市场营销
销售
战略复盘
招聘与培训
技术支持工程师回答技术支持问题编写文档
编写教程
排查疑难 bug
软件开发者修复紧急 bug
发布新功能
改善开发体验
编写自动化测试
修复非紧急 bug
履约员工组装设备
订单履约
客服
编写支持手册
协助市场营销

Ansible 和 git 不是软件分发工具

刚开始做 TinyPilot 时,我还不知道该如何分发 Linux 软件。

为了发布 TinyPilot 的原型,我用了自己熟悉的工具:bash 脚本、Ansible 和 git。bash 脚本会初始化 Ansible 环境并执行 Ansible playbook。Ansible 负责安装依赖、对操作系统做必要修改,并克隆 TinyPilot 的 git 仓库。

安装过程尚可,不算出色。虽然很慢,但很可靠,而且不需要用户手动做任何配置。

两年后,TinyPilot 的更新流程一团糟。它依然依赖原型时期那些不牢靠的基础,只是如今交织成了复杂的依赖网。Ansible 角色依赖 Git 仓库,Git 仓库又依赖其他 Ansible 角色,而这些又依赖一堆 YAML 文件中的参数。微小的改动都要耗费数周的开发时间。

这一切都源于我一直没有去学习标准的 Linux 打包工具。

今年,TinyPilot 团队学会了使用 Debian 软件包。这比我想象的要轻松得多。我本以为我们得部署各种软件包服务器和密钥服务器,结果发现根本不需要。一旦找到合适的指南,整个过程就相对简单了。

Debian 软件包加快了我们的开发进度。工具链能更早发现代价高昂的错误,而且我们可以轻松地在测试设备上部署预发布版本,而在以前的安装体系下,这一过程复杂到几乎无法实现。

给去年的目标打分

去年,我设定了三个总体目标,希望在年内实现。完成情况如下:

将 TinyPilot 年营收做到 100 万美元

  • 结果:TinyPilot 营收增长 76% 至 81.2 万美元
  • 评分:B

我一直知道 100 万美元是个激进的目标。虽然没能实现,但能如此接近,我依然感到很欣慰。

每周用 20 小时管理 TinyPilot

  • 结果:2022 年我花在管理 TinyPilot 上的时间比 2021 年更多
  • 评分:D

我本希望通过自动化和授权,把管理工作压缩到每周 20 小时,但没能实现。在销售增长、组建技术支持团队以及应对芯片短缺带来的各种救火工作之间,我的管理时间反而增加了。

发布 TinyPilot Voyager 3

  • 结果:连设计阶段都未完成
  • 评分:F

TinyPilot 一直使用 Raspberry Pi 4B 作为核心硬件。Pi 4B 周边生态非常完善,但硬件本身相对昂贵,也难以与定制芯片集成。

我 2022 年的计划是为更薄、更便宜的 Raspberry Pi Compute Module 4 定制一块电路板。这能将制造成本降低多达 60%,并简化硬件设计。

结果,所有硬件工程时间都耗在了处理制造问题和供应短缺上,新产品毫无进展。

第六年的目标

每周用 20 小时管理 TinyPilot

去年我在减少工时上惨败,但今年这成了我的首要任务。我对今年的机会抱有希望。2022 年的许多工作已经为 2023 年让我从关键路径中抽身打下了基础。

实现 10 万美元利润

在 TinyPilot 的前两年半里,我专注于增长。无论每月卖 20 台还是 2000 台,我在硬件和软件工程上的花费都差不多,所以需要达到一定规模才能让生意可行。

2023 年的大部分时间里,TinyPilot 的产能将受限于供应。得知无法再增长销量让人失望,但好的一面是,我可以放慢脚步,专注于利润而非增长。

TinyPilot 一直大致处于盈亏平衡,但如果能避免进一步的硬件重新设计,我认为今年可以实现 10 万美元利润。如果没有 2022 年的硬件重新设计,我本可以节省约 10 万美元的工程费用和 2 万美元的材料费。如果销量保持稳定、硬件投入更精简,2023 年应该会是盈利的一年。

关闭 TinyPilot 办公室

我从2021 年初起就为 TinyPilot 租了一间办公室。我们用它来组装设备、处理订单和存放库存。

拥有本地办公室帮助我们快速适应硬件和流程的变化,但也带来了大量额外开销。今年,我希望将组装转移到中国——我们所有零件的源头。我也正在将履约外包给第三方物流仓库。

关掉 TinyPilot 办公室将省去维护实体空间、管理库存和安排现场排班的工作。将制造和履约外包也会让团队在时间和地点上拥有更大的灵活性。

我还热爱它吗?

每年写这些年度总结时,我都会问自己是否依然热爱所做的事。

2022 年是艰难的一年——可以说是我单干以来最艰难的一年。我倒不至于痛苦,但也无法说自己热爱它。

全球芯片短缺意味着我们永远无法以完全相同的方式生产两批产品。总是有某个零件缺货或出现制造问题,因此我们总是在库存耗尽前争分夺秒地修复问题、调整流程。我们挺过来了,只有寥寥几天不得不将产品标为售罄,但过程压力很大。

话虽如此,这一年仍有许多值得欣慰的地方。我用于写作和软件开发的时间相对较少,但我对自己的产出感到自豪。扩展 TinyPilot 的组织架构、摸索团队协作方式,也提升了我的管理能力。看到团队在公司发展的过程中不断成长、技能不断拓展,令人欣慰。

我依然更喜欢为自己工作,而不是受雇于人。我依然为拥有自己的公司、享有这份自由而感恩。我也依然想永远做下去。


封面图片由 Loraine Yow 提供。感谢我亲爱的未婚妻以及Blogging for Devs 社区对本文初稿提供的反馈。

本文章由 muse-spark-1.2-contributor 进行翻译

评论