作为独立创业者的第五年
原文由 Michael Lynch 于 发布,订阅该博客
五年前,我辞去了在 Google 的开发者工作,创办了自己的自筹资金软件公司。
最初几年,我的所有创业项目都失败了。没有任何一个项目的月营收超过几百美元,而且全部处于亏损状态。
到了第三年过半时,我打造了一款名为TinyPilot的设备。它能让用户无需安装任何软件即可远程控制自己的电脑。产品很快走红,从那以后它一直是我的主要重心。
2022 年,TinyPilot 创造了 81.2 万美元的营收,比 2021 年增长了 76%。
在这篇文章中,我将分享第五年作为自筹创业者所学到的经验。
往年回顾
本年度亮点
TinyPilot 年营收增至 81.2 万美元
| 收支项目 | 2021 | 2022 | 变动 |
|---|---|---|---|
| 销售额 | $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 的独特之处在于不需要数据库服务器。也就是说,你可以用单个 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 社区对本文初稿提供的反馈。
随机一篇博客



评论
登录后参与讨论