软件工程师如何开展按需印刷业务
有一天,我萌生了一个想法:把我的 Github 时间线做成一幅印刷品。我喜欢把某种“虚拟”的东西带到现实世界的感觉。😄
于是我打电话给我的朋友 Wolfgang(沃尔夫冈),我们一起做了 codeprints。这是我的第一个“实体”产品,所以我决定分享我的心得。
 of [fastlane](https://fastlane.tools/) fame was one of our first customers and we are very thankful for this tweet promoting our service, which gave us a huge traffic boost.](https://endler.dev/2021/codeprints/tweet_felix.jpg)
发布很难,所以要尽早发布
尽管我知道尽早发布至关重要,但在计划上线前不久,我仍然不想“敲定”最终设计。总有最后一个 bug 要修,或者还有一个小功能要实现。比如,我想提供两种设计/布局:经典的 Github 贡献时间线,以及一种基于图表的仓库设计。在这种情况下,有个联合创始人会很有帮助。Wolfgang 说服了我:MVP 不需要多种布局,而且在没有早期用户反馈的情况下,我们想出来的东西很可能本来就是错的。他说得对。如果没有 Wolfgang,这家店今天可能还没上线。多亏了尽早发布,我们现在对人们想看到什么有了清晰得多的认识。事实证明,用户其实对基于图表的设计并不感兴趣,做出来也是浪费时间。
经验教训:即使你了解构建产品的所有规则,第一次在实践中应用时也完全是另一回事。我们对店铺的功能可能永远不会完全满意,但尽早发布、之后再逐步改进才是更好的选择。
软件开发其实很容易
刚开始的时候,我最担心的是软件开发。前端和后端都需要编写代码并协同工作。我们不希望网站用户很多时遇到 Github 的速率限制问题。我还花了很多心思考虑用哪个 Web 前端框架。是用 Rust 配合 Yew 来构建,还是选择 Gatsby 更好?
结果发现,写代码是最容易的部分。
作为软件工程师,我们没花多久就实现了后端 API,也很快找到了一个不错的前端模板。我们的时间大部分都花在了思考产品本身、用户体验、融资、税务、发货流程、市场营销以及整合客户反馈上。这些都是我过去(乃至现在)经验很少的领域。
Wolfgang 建议“直接用 Shopify 和默认模板”,以便快速起步。事后来看,这是绝对正确的决定。我一直以为 Shopify 只适合简单的夫妻店,但实际上它高度可定制,几乎能与任何东西集成,还提供了像 themekit 这样出色的工具。支付、退款、折扣、客户分析:全都内置在平台里。它为我们节省了大量的开发时间。

经验教训:启动一个项目时会遇到许多 unknown unknowns(未知的未知)——那些我们既没有意识到也不理解的事情。尽快找到问题的根源,以节省时间并避免 sunk cost fallacy(沉没成本谬误)。
用户期待出色的 UI/UX
Amazon、Facebook 和 Netflix 这样的巨头提高了客户对出色 UX 的期望。他们花费数百万美元打磨网站,把每个细节都做到位。因此,他们的网站对数百万客户、在各种设备上都能运行得恰到好处。
一家独立小店没有这样的资源。然而,许多客户仍然期待与其他常用网站相同质量的用户体验。第一次站到围栏的另一边,我才体会到要做出一个能让 90% 的人满意使用的界面有多难。每一个小细节——比如表单字段的顺序——都会产生巨大的影响。细节错得太多,你就会失去一位客户。
这些东西只有通过观察真实用户使用你的产品才能发现。我向你保证,那会让你大开眼界!
经验教训:观察潜在客户使用你的服务。起初会很痛苦,但这能提升产品质量。如果可以的话,尽量使用现成的店铺框架,因为它们开箱即用地处理好了许多 UI/UX 细节。WooCommerce 或 Shopify 都是不错的选择。
打造产品意味着务实
我们对未来的产品有很多想法。朋友和客户 constantly 告诉我们各种潜在功能,但问题在于如何排定优先级。大多数想法无法规模化:要找到一个既有合适产品、价格便宜、又能全球发货、还能与你的店铺系统顺利集成的供应商并不容易。所以我们不得不经常放弃一些产品创意,仅仅因为供应商的支持不到位。除此之外,我们还要在主业和其他责任之余经营这个生意,所以必须尽可能高效地利用时间。
经验教训:让服务看起来毫不费力其实是件苦差事。时间是你最大的约束。你说“不”的次数将远多于说“是”的次数。
 a try.](https://endler.dev/2021/codeprints/whereby.jpg)
小生意如何获得关注
如今开一家店从未如此容易。Shopify、Stripe 这类服务和众多供应商让起步变得轻而易举。另一方面,由于准入门槛如此之低,竞争也比以往激烈得多。
成千上万的服务在不断争夺我们的注意力。此外,如今大多数客户购物时默认会选择 Amazon、AliExpress 或 eBay 这样的大平台,搜索引擎也会把很大一部分流量导向那里。
由于我们的产品是定制的,无法在这些更大的平台上架。作为一家独立小店,我们的访客主要来自口碑传播、出色的客户支持,以及在开发者聚集之处的广告投放:Twitter、Reddit、HackerNews、Lobste.rs 等等。关键是要专注于在这些平台上提供价值;单纯的营销帖子不会引起任何关注。LinkedIn、Facebook、ProductHunt 或 IndieHackers 等其他平台也可能有效,但我们的目标受众(拥有活跃 Github 主页的开源开发者)并不常驻那里。
经验教训:始终清楚你的客户在哪里,并理解他们的需求。
找到利基市场只是成功的一半
常见的市场智慧是找到一个利基市场并从中成长。通过 codeprints,我们确实找到了自己的利基市场:受众很窄,但对我们的极客产品很感兴趣。如今 Github 上有 5600 万开发者,这是一个很大的目标受众群体。不过大多数主页并不活跃。要让一幅印刷品看起来有吸引力,你得在很长一段时间内——好几年——持续提交代码。假设只有 1% 的开发者是活跃的,那我们的目标受众就缩小到 56 万用户。这仍然是个不小的市场,但已经小了很多。现在,如果这些人中只有 1% 找到这家店并下单(这已经是相当不错的比例了),那么总订单量也就是 5600 单。并不多!
为了扩大受众,要么增加潜在客户的数量,要么专注于让更多现有潜在客户访问页面。就我们而言,我们通过推出一年期布局来扩大规模,降低了制作一幅漂亮印刷品所需的 Github 活跃度门槛。我们还在努力让更空的主页看起来更有趣,并突出开源贡献中创造价值的部分。每一份贡献都很重要——无论多么微小。
经验教训:确保你的利基市场不要太窄,这样你才能从中建立起可持续的业务。
 are incredibly precious when starting out. Not everybody has a rockstar profile like that, though (and that's fine).](https://endler.dev/2021/codeprints/tweet_orta.jpg)
让用户反馈变得可执行
最初的客户反馈非常宝贵。你应该认真对待这些客户说的每一个字,因为他们相信你的产品,希望你成功。(毕竟他们是真金白银投的票。)朋友的反馈也有帮助,但我通常会对它们施加更大程度的过滤。并非我所有的朋友都是软件开发者,虽然他们都出于好意,但他们告诉我的可能并不是他们真正想表达的。就像他们在要求“更快的马”,而实际上他们想要的是一辆汽车。社交媒体上的反馈有时可能……相当刻薄;要做好心理准备!你的任务是从每条评论中找出那一丝真相,专注于建设性的建议。
举个例子,看看这条反馈:
得多懒的人才会花 36 欧元买这个啊。
你可以把它转化为建设性的意见:
有没有更便宜的版本,让我自己打印?
这就是很有价值的反馈。我们将来可以提供一个可下载的版本!
经验教训:从用户输入中提炼出可执行的反馈,并使其契合你的产品愿景,是需要练习的。
总结
2020 年是疯狂的一年。我参与推出了两个小型副业:codeprints 和 analysis-tools.dev。
两者的收入模式完全不同,但有一个共同点:开发它们超级有趣!🤩 有时候回顾这些成就会让人充满动力……那幅 2020 年的印刷品对我来说恰恰浓缩了这些感受。(注意八月和九月里更绿的色块,那是我们推出 analysis-tools 的时间,还有十二月我们开发 codeprints 的那些日子。)

愿我们在 2021 年打造出更多产品。
如果你觉得这篇文章有帮助,请告诉我;有问题也欢迎联系我。哦对了,如果你正在寻找一种独特的方式来装点你的家庭办公室,何不从 codeprints 定制一幅属于你自己的印刷品呢?😊
附言:如果你是一位产品负责人,正在为团队寻找一份独特的礼物,请与我们联系,成为首个获得私密测试邀请的人。
随机一篇博客