你曾经作为程序员开发过自己的副业项目吗?你是否坚持了下来?在这篇文章中,作者将分享他第一个成功的副业项目的经历。尽管项目取得了成功并带来了收入,但随着时间的推移,维护成本逐渐增加。为了满足新老用户的需求,作者不得不花费大量精力处理各种问题和投诉,导致他精疲力竭,甚至一度考虑将项目出售。在这个过程中,作者经历了许多痛苦与收获。他希望通过这篇文章,为正在开发副业项目的人提供一些有价值的思考与启示。
原文链接:https://switowski.com/blog/i-have-built-my-first-successful-side-project-and-i-hate-it/
作者 | Sebastian Witowski
责编 | 苏宓
出品 | CSDN(ID:CSDNnews)
以下为译文:
2020 年,我做了自己的第一个副业项目。这个项目为我赚取了超过 15000 美元。但发布几个月后,我厌倦了持续地维护工作,想要关闭它,甚至开始思考把它卖掉。这就是我短暂的创业冒险故事。
Gumroad 电子商务平台仪表板上的项目收益
时间回到 2020 年下半年,我有了一些空闲时间。因为我刚刚为一个客户完成了一个项目,我决定花几个月的时间来制作一门 Python 课程,教会更多的开发者从 0 到 1 学会开发 Python 项目——当时我的想法很简单,只是想尝试一些新东西。
与此同时,我对使用技术分析然后进行股票交易产生了兴趣,还跟随一位“网络投资大师”(我知道这个听起来有些不靠谱),学到了一些所谓的“神秘的知识”,即利用一种叫做“谐波形态”的价格形态分析方法,来判断何时买入或者卖出股票。
和许多投资者一样,我也在使用 TradingView,这个平台是当时最流行的免费技术分析平台。与股票经纪人提供的工具相比,TradingView 的用户界面更加友好,工具繁多。你甚至可以使用一种非常不友好的脚本语言叫做 PineScript,自己编写脚本来实现各种额外的工具、图表和指标。
但是,当时没有一个脚本能帮我自动绘制谐波形态图。我手动绘制了几天后感到厌烦,于是决定把这个过程自动化。经过几周的学习,我终于用 PineScript 写出了一个能够在图表上自动绘制谐波形态的脚本。这大大减少了我花在寻找交易股票上的时间。之后,我又写了一个脚本,可以绘制出潜在的未来形态图。
好极了!如果这些脚本对我有用,也许也会有人花钱来使用它们。毕竟,谐波形态的概念并不新鲜——最早的谐波形态,即“加特利形态”于 1935 年首次被描述。关于这一主题的书籍、文章和视频比比皆是,因此可以肯定的是,我不是唯一一个使用它们的人。
幸运的是,TradingView 支持销售脚本的使用权限,不过方式略显复杂。通过购买最贵的订阅计划,如果你将脚本设置为“仅限邀请”,你就可以控制哪些用户能够使用它。所以,我买了那个订阅,并创建了一个与 Gumroad 电子商务平台连接的登录页面,来接受每月和每年的订阅付款。
推广我的脚本
现在,我需要想办法让 TradingView 的用户知道我的脚本,因为这些“仅限邀请”的脚本很难被找到。TradingView 不会在搜索结果中推广这些脚本,而是优先显示那些可以免费使用并公开源代码的脚本。即使有人找到了我的脚本或我的网站,我还需要说服他们相信我的脚本有用,并能实现预期的功能。虽然我提供了 14 天的退款保证,但很多人还是不愿意在一个随机的网站上输入信用卡信息。
所以,我通过重用现有脚本的大部分代码,创建了几个小型脚本。虽然它们的源代码仍然是隐藏的,但普通用户可以免费使用这些功能有限的脚本:
-
只能找到某些类型的价格形态
-
只能查看有限的过去几天的数据
-
新形态出现时没有自动通知
尽管如此,很多人还是喜欢这些脚本并开始使用它们。当他们问到关于缺少通知功能或检测更多形态的功能时,我就把他们引导到付费脚本上。
然后,我在 TradingView 上发布了一些“想法”,包括一些热门股票的截图,这些截图展示了用我的脚本生成的现有和潜在未来的谐波形态。最后,我创建了一个 YouTube 频道,发布并展示我脚本所有功能的视频(部分原因是为了不用反复解释这些脚本是如何工作的)。
接下来,我开始等待收入进账。
结果前两周什么都没发生,但后来我得到了第一笔销售!有人购买了一个脚本的一个月使用权限。这是我人生中第一次通过在互联网上卖东西赚钱,感觉非常棒!虽然之后他们因为觉得脚本没用而申请了退款,但我至今仍清楚地记得,那天晚上躺在沙发上时收到 Gumroad 的邮件,说“嘿,有人刚刚支付了 9 美元购买你做的东西”,那种兴奋的感觉。
第一次卖出东西给我的满足感比之后的任何一笔都强烈,尽管之后每月收入达到 1000 美元也是一个不错的里程碑
慢慢地,越来越多的人开始使用我的免费脚本,一些人也购买了付费的版本。为了抓住这个热潮,我发了一条消息,说如果有人感兴趣,可以在付费脚本下留言,我会给他们免费一周的试用机会。于是人们开始这么做,每次我都会登录 TradingView,手动为他们开通一周的使用权限。有些试用用户后来转成了付费订阅,但大多数没有。尽管如此,订阅用户的数量还是在慢慢增加。
持续维护项目让我精疲力尽
然而,随着使用我脚本的人越来越多,我开始收到越来越多的邮件,有些是提出新问题,有些是请求添加新功能。许多邮件还要求免费使用脚本,或者问一些很基础的问题,这些问题的答案其实已经在每个脚本的描述里写明了。
有些人想要购买源代码:
或者直接申请免费访问源码,说是供个人研究使用的。
当然,我完全相信你不会把我的脚本当作自己的脚本分享或发布
有人要求我添加一些非常具体的功能,因为他们在 YouTube 上看到有人推荐了这些功能。
或者,我添加了某种我无法真正理解的功能,但在他们看来肯定很有意义:
甚至也有很多人都在询问一些“热门技巧”,比如如何交易某种东西,或者这种东西会涨还是会跌(几乎总是这样,这种东西就是加密货币或外汇)。
更糟糕的是,有时这些请求还会附带一些背景故事,比如“我是一个穷学生,想赚点钱”或者“我在交易中亏了一些钱,但你的脚本看起来很酷,我想用它把钱赚回来”。
我不理解的是,为什么这些人会把钱押在一个你根本不了解的随机工具上?然后还向网上的陌生人寻求理财建议?!这真的很让人难过。我开发这个工具是为了那些知道什么是谐波形态的人。他们有自己的投资策略,只需要一个工具来自动绘制他们通常手动绘制的图表。而不是给那些坚信“我刚找到的这个随机脚本说某股票会上涨,所以我就买”的投资者使用。
有时,我还会收到工作邀请。哇哦!是写 PineScript 为生的工作。算了,这还是不要了。
全职写 PineScript ?不,谢谢了,我才不要
有时,还会有自称拥有“一大群活跃交易者”的人来提出合作:
不知为何,“拥有庞大社区的人”提出的所有要求,除了试验之外从未实现过。
我甚至有机会练习外语!
纠纷出现
有时候,人们会发起“投诉”。所谓的投诉,是指有人向 PayPal(美国版“支付宝”)投诉说他们的信用卡被错误收费了,然后由 PayPal 决定他们是否有理(如果有理,PayPal 会退还他们全额款项,并向我额外收取 20 美元的“退款费”),如果他们没有理(那我就可以保留这笔款项)。
总体来说,我尽量满足客户的需求。因为我是卖软件的,不像实物商品,我的产品没有库存限制,生产新副本对我来说不花成本,也不涉及运输或退货的费用。所以如果有人写信给我,说“嘿,我忘记取消订阅了,它又续了一个月”或者“虽然已经过了 14 天退款保证期,但我发现这个脚本对我没用”,我一般都会退还他们的钱。我希望对别人友善。我开始卖这些工具就是为了帮助别人。我不想让他们为一个不喜欢的产品付费。
但我也不希望有人发起投诉。如果有太多投诉,你的 PayPal 账户可能会被冻结。
我发现,仅仅对别人友善是不够的,尤其是当你没有机会展示你的善意时,因为你在睡觉。我第一次遇到投诉,是一个客户在半夜给我发消息,问如何取消订阅,半小时后他们就发起了投诉。其实他们只需要查看来自 Gumroad 的邮件,邮件里有一个管理订阅的链接。这些邮件内容很短,只有几行文字,所以这个链接并没有隐藏在什么地方——至少其他想取消订阅的人都能找到它。或者他们至少可以先发邮件给我,而不是直接发起争议。
幸运的是,在我解释了我可以(而且愿意)退还他们的款项,只要他们先关闭投诉后,这位客户配合了我们。我们关闭了投诉,之后他们很快拿回了钱。
接下来几年里又发生了几次投诉,但都没有那么激动人心。通常是有人通过 PayPal 发起投诉,但不回复我的消息(或 PayPal 的),然后 PayPal 会因为找不到依据而驳回投诉。
诈骗事件又起
礼貌、随和会让你在网上与他人的沟通交流更加愉快,也能驱动你走得更远。
但这也意味着,在某个时候,有人会试图占你便宜。
对我来说,这种情况发生了三次。大多数时候,有人试图用盗来的信用卡付款,但 Gumroad 发现了并取消了交易。但第一次遇到诈骗时,我有点措手不及。我没有留下太多截图,因为那个人删除了他们的 TradingView 账户,但事情经过是这样的。
首先,这位骗子先生(当然这不是他的真名)请求免费使用我的脚本。这并不罕见,有时候人们会向我提出这样的请求。当我礼貌又坚定地拒绝了他的请求后,他试图付款,但付款失败,并显示他应该联系 Gumroad 电子商务平台。再次,这看起来并不像是个警示信号,更像是技术问题。最终,我收到了确认他已经支付订阅费用的邮件。
两个月后,我收到了“销售有争议”的邮件。这个争议是由骗子先生发起的。我问他为什么发起投诉,因为他从未提到想要取消订阅或申请退款。事情在这时开始变得非常可疑:
他回复称,他的妻子掌管家里财务,而他忘记告诉他老婆自己花钱购买了一个 TradingView 脚本,这让她很生气,从而让他发起了退款。
前言不搭后语的邮件内容其实并不罕见,我之前也遇到过,所以当时也没有意识到这封邮件可能是个骗局。但是我觉得这比那些“我是一个付不起 15 美元但真的需要这个脚本来进行日内交易的学生”的邮件还要奇怪。
在等待投诉解决的过程中,这位骗子先生又试图再次购买订阅,但这次没那么成功:
那么,他的“妻子”不仅控制着财务,还使用偷来的信用卡吗?我回邮件告诉他,他永远被禁止从我这里购买任何脚本,下次他再试图购买,我将立即撤销他的访问权限。这阻止了他进一步地尝试。
这是最有趣的诈骗案例。通常,当人们被抓时,他们会忽略我的信息,而不是编造一个有创意的故事:
精疲力竭
每天花一点时间回复邮件和查看 TradingView 的评论,然后给不同的用户提供试用权限,已经成为我日常必做的事情之一。虽然工作量不多,但我尽量每天都回复。这在我没有全职工作时,或许只是个小烦恼。但当我开始全职工作,在上了一天的班后还要处理这些事情,甚至还又收到一封邮件要求我在脚本里面添加一些确定止盈水平的神奇方法,这还是一个拥有 50 个粉丝的加密货币交易YouTuber 提出的,看到这些时,我真的受够了。
最糟糕的是,几个月后,我甚至不再使用那些脚本了。当我没有全职工作时,日内交易还是挺有趣的。这帮助我从录制一些 Python 课程视频中解脱出来,也激励我去学习金融市场。但当我开始新的合同工作后,由于时间不足,我停止了日内交易。
然而,我还有现有的客户需要照顾,以及潜在的新客户向我提出各种问题。我越来越厌倦维护这个项目。有时,我会花一个小时回答潜在客户的许多详细问题,结果却再也听不到他们的消息。有时,有人会在 Gumroad 上留下一星评价,因为我不愿意添加他们要求的某些奇怪功能。在这样的日子里,我真的想关掉这个项目,退款给现有客户,并删除我的 TradingView 账户。
不过,这个项目每个月还是能带来一点收入。我不想“杀鸡取卵”。所以,我决定把我的“鸡”卖掉。
试着出售我的项目
我寻找了可以挂牌出售我项目的平台。我找到了几个,最终决定在 IndieMaker 和 Transferslot 上发布广告(这两个平台在三年前看起来活跃得多)。我准备了一份详细的项目描述,并分享了 YouTube 频道的观看次数、网站的独立访客数量、各个平台的关注者和订阅者数量,当然还有收入。我甚至分享了一些关于如何推进这个项目的想法。例如,让其中一个免费的脚本在每周的 TradingView 新闻通讯中推广,可能会加速付费脚本的销售。
然后,根据网上的一些随机建议,我给出了一个约为去年收入 5 倍的要价。然后,我将广告提交给平台发布。
IndieMaker 发布了我的广告,没多久,我就收到了来自潜在买家的咨询。但在回答了有关月度经常性收入增长和项目附带资产的问题后,对方就没有进一步跟进了。后来我收到了一些消息,但那些只是垃圾邮件(“嘿,我对你的项目感兴趣,发给我们一份你的库存清单”)。Transferslot 从未发布我的广告。我认为,当我提交广告时,那个网站可能已经被废弃了。
如果你有在线出售项目的经验,你现在可能已经对我的做法直摇头了。购买软件业务的人寻找的是简单、低风险、使用成熟技术的项目,并且这些项目有着稳定或不断增长的盈利记录。没有人愿意购买一个使用冷门语言(PineScript)编写、运行在专有平台(TradingView)上的项目,这个项目还面向非常特定的交易者群体。
在没有收到更多回复的几周后,我不得不决定接下来该怎么做。我可以将我的广告提交到更大的平台,如 Flippa,并支付费用在那上面挂牌。但我觉得这个项目太过小众,其他平台也未必能找到合适的买家。尤其是一个了解 PineScript 语言的买家,能够维护和改进脚本的源代码。
在等待更多潜在买家的出价时,我开始思考如何减轻这个项目带来的负担。毕竟我可是个工程师!我们不应该只是在浏览器中点按钮或一遍又一遍地发送相同的邮件!
开启自动化
我查看了可行的选项,决定将以下部分工作自动化:
-
Gumroad 的付款程序应自动授予 TradingView 上的脚本访问权限,并发送“欢迎”邮件。这将涵盖我工作中最需要及时处理的部分,这样我就不必每天早上开始工作时登录 TradingView,为夜间购买订阅的人授予访问权限。
-
一个用于管理订阅的聊天机器人,这样我就可以通过手机上的简单命令完成所有手动工作(移除取消订阅用户的访问权限、延长试用时长等),而无需登录 TradingView。
-
最后,我可以创建一个在线表单,让用户通过留下他们的 TradingView 用户名来申请试用访问。该表单将触发一个 Python 脚本,为他们提供一周的选定 TradingView 脚本的访问权限。
我使用 n8n(https://n8n.io/)将各种服务连接在一起,还开发了所有这些功能——包括 webhooks、Telegram 机器人、Python 脚本、发送邮件等。未来我也会另写一篇文章详细描述这一设置的技术细节。
在实现自动化后,用户可以通过在线表单申请免费试用访问,或在 Gumroad 上购买订阅,一切都将自动处理。偶尔,当他们取消订阅时,我只需向我的 Telegram 机器人发送一条简短消息,设置他们的访问到期日期。
最难的部分是停止对这个项目的过度关注并让自己脱离其中。我喜欢帮助别人。这也是我成为程序员的原因——为了构建能帮助我自己或他人的东西。当我收到一封邮件时,我总是尽力去回复。多年的客户工作经验让我学会了用简单易懂的方式解释问题。所以,我花了数小时耐心地回答潜在客户的问题,但最后却再也没有收到他们的回复。尽管我发布了申请试用访问的表单链接,仍有很多人不愿意阅读描述,继续在评论或消息中请求试用。
这种情况必须停止。我首先开始只在周末查看 TradingView 消息,并批量授予试用访问权限。对于每一个关于试用访问的评论,我都会回复“我已经给你开通了访问权限,但如果你使用我发布的表单,速度会更快”,希望其他人看到我的回复,下次能使用表单。
我仍然特别关注现有客户,每天晚上回复他们的邮件。但如果对方不是现有客户,我只会在周末回复他们的问题。最终,我停止查看 TradingView 的评论或消息。如果人们真的想要试用,他们最终会阅读那两句话的说明,点击链接并填写表单。
这是否会对我的销售量有影响?我认为没有。大多数提出基本问题的人本来就不会转化为付费客户。他们只是在“闲逛逛”。他们找到一个似乎可以预测价格变化的脚本,想知道如何通过它赚钱。而它背后的理论以及为什么它应该有效?他们其实一点也不在乎。他们今天还有十多个随机脚本要测试。
与项目脱离是否影响了我的心理健康?哦,绝对影响了!项目进入了自动化模 停止了更新,项目失去了很多热度,所以人们认为它不再有用了(尽管它的功能与几年前一样好)。过去几年它的收入有所下降。但我不在乎。我重新感到快乐了。
这个项目的下一步是什么?我想我会继续运行它,一直到我觉得每月将它包括在我的日常工作中不值得了,到那时我会关闭它。但目前,每月几乎不费任何功夫赚到的 200 美元是一笔不错的被动收入。
我学到的
不要让副业项目耗尽你的精力
很多程序员在经历痛苦的尝试之后才会发现一个真相:发布产品只是开始。一旦产品发布,你必须维护它:修复漏洞、实现新功能、处理各种争议或欺诈、并回复大量邮件(通常来自那些好奇的闲逛者,他们从未转化为付费客户)。
如果你有多个产品并进行批量支持,或者如果你的项目可以替代你的全职工作,维护起来会更容易。但如果你是在常规工作之外做这些事情,这会是消耗大量的时间。你需要设定一些界限。否则,副业项目的工作会占据你所有的空闲时间。
如果你也是业余项目的用户之一,并且真的想继续改进它,那么做副项目会更有趣。如果你热爱自己的项目,并且能全职投入其中,那简直是梦想中的工作。相应地,当你转向做其他事情,不再有兴趣维护项目时,支持这个项目就会变得更加困难,但你仍然需要保持现有客户的满意度。
如果你的副项目并不能带来真正的快乐,而且你有其他更优先的事情要做,设定一些界限是很重要的。我决定只专注于支持付费客户。我也停止了添加新功能,并告诉自己,除非脚本出问题,否则我不会动代码。尽管我仍有一份希望有一天能做出的改进清单,但我还是删除了它。我已经有了付费客户,这意味着人们在我构建的东西中找到了价值。当然,我可以添加新功能来吸引新客户。但这意味着要投入更多编码和维护工作,只是为了有机会吸引新客户。
注册为商家
如果你计划在全球范围内销售软件产品,考虑使用像 Gumroad 或 Paddle 这样的“注册商家”服务。这样,你就不必为每个国家计算应收税款(基本上,你只需将产品卖给 Gumroad,由他们转售给最终客户)。在销售我的产品时,最后想做的事情就是处理税务问题。我选择了 Gumroad,在撰写本文时,它的收费是 10%,外加大约 3% 的 PayPal/Stripe 费用。
可能有更便宜的选择,所以在选择之前请做好调查。一旦你有一些经常性的付款进账,就很难将现有客户轻易迁移到另一家公司。当 Gumroad 的费用逐年上涨时,我总觉得迁移到其他服务太麻烦了,所以我至今仍在使用 Gumroad。
向客户销售产品很难
我曾经和一位用户有过这样的对话:
朋友:嘿,脚本很棒,我给了它五星好评!你能为我实现止盈水平吗?
我:抱歉,我不能。原始方法论没有指定确切的止盈水平。而且,这也不合逻辑,因为止盈点应该由交易者根据图表上的支撑位或阻力位手动确定。不同的人会根据自己的风险偏好使用不同的止盈水平。
朋友:好的,但你能为我加上这些止盈点吗?我跟随了某个[插入某个 YouTube 加密货币日间交易员的名字],他使用了[一些非常具体的止盈水平]。我希望脚本能为我绘制这些点。
我:听着,我不能这样做。这些止盈水平非常特定于你的交易系统。它们对大多数人来说都不适用,而且它们会减慢脚本的运行速度。
朋友:好的,兄弟。
几天后,他取消了订阅,并将他的五星评价降为两星。
与消费者做生意(B2C)是很难的(不过商业对商业(B2B)也不是那么容易,它有一系列不同的挑战)。但这并不意味着 B2C 不值得追求。有许多人在向客户销售时取得了巨大的成功。其中一个最著名的是 Pieter Levels(@levelsio),他创建了像 NomadList、RemoteOK 以及最近的 PhotoAI 这样的项目。根据他的 Twitter 个人资料统计,他从这些项目中获得了惊人的 20 万美元的月度经常性收入(Monthly Recurring Revenue)。但是,虽然进入 B2C 领域比建立 B2B 商业模式中的公司关系更容易,但你需要更多的客户才能达到 B2B 所能带来的收入水平。而更多的客户意味着更多的工作。
待人友善
尽量对人友善些。我是说,待人友善总体上会让世界变得更美好。但在与客户打交道时,千万不要假设他们是出于恶意行事。当然,有些人会试图占你的便宜。但许多“问题”往往是误解造成人。人们会请求退款,因为他们认为这是获得他们忘记的订阅退款的唯一途径。如果有人向我请求退款,无论出于什么原因,我都会退还他们的钱,并祝他们投资顺利。花时间和不满的客户为了 20 美元争执不是一个明智的选择。
如果你对他人友善,他们更有可能使用和推荐你的产品。亚马逊早期迅速流行起来的原因之一就是其非凡的客户支持。十年前,当我的 Kindle 开不了机时(可能是因为意外地对它施加了过大的力量),亚马逊的客服说:“不用担心,我们会免费给你寄一台新的。”有人会给我寄免费产品而不是要求证明它是自己坏的?这让我大为震惊!
所以,我也想对我的客户这样做。我尽力满足他们的需求,详细回答他们的问题,并在请求退款时慷慨地发放退款甚至折扣。当有人抱怨某些功能不起作用时,因为它没有按照他们的预期运作,我会建议替代脚本并提供退款。最终,这种做法得到了回报。我收到了很多来自客户的好评,尽管我对支持我的项目感到厌倦,但时不时地收到正面的反馈让我在这些年里一直坚持下去。
这就是我第一个副项目的故事。它开始时很有趣,中间让人沮丧,而现在它主要是一个最终会枯竭的被动收入来源。
这值得吗?也许不一定。如果花同样的时间为客户工作,我可能会赚得更多。但从这个副项目中获得的经验将是无价的,当我构建下一个项目时,这些经验会非常有用。
推荐阅读:
▶3分钟裁员1000+人!IBM中国研发部确认关闭,提供N+3赔偿
▶苹果宣布9月10日举行发布会;华为余承东:问界新M7 Pro卖一辆亏近3万元;Steam一夜遭28万次攻击 | 极客头条
▶生成式AI产品究竟怎么做?硅谷、百度、腾讯、WPS等40+大咖齐支招!