交付方式 saas
by Tigran Hakobyan
由Tigran Hakobyan
我在全职工作时如何交付我的第一个SaaS副项目 (How I shipped my first SaaS side-project while working full-time)
This is my personal story of how I shipped my very first SaaS side-project while working full-time at Buffer. The goal of this article is to inspire you. If you’re someone like me who has a full-time job and wants to build a profitable side-business as a source of income, then this story may resonate with you.
这是我关于在Buffer从事全职工作时如何交付我的第一个SaaS副项目的个人故事。 本文的目的是激发您的灵感。 如果像我这样的人有一份全职工作,并且想建立一个有利可图的副业作为收入来源,那么这个故事可能会引起您的共鸣。
With this article, I want to show how I didn’t “hustle” or overwork and was still able to ship a real SaaS product.
在这篇文章中,我想展示我如何“不忙”或不劳累,仍然能够交付真正的SaaS产品。
I’m a web developer and I’m very lucky that, apart from playing soccer in my free time, I also enjoy coding and building web projects for fun. Most recently, I’ve created Booknshelf which helps many people organize their books online. While working full-time has a big impact on my engineering growth, some of the developer skills I’ve acquired were from working on my personal projects.
我是一名Web开发人员,我很幸运,除了在业余时间踢足球之外,我还喜欢编写代码和构建有趣的Web项目。 最近,我创建了Booknshelf ,该书可帮助许多人在线组织书籍。 虽然全职工作对我的工程发展有很大影响,但我获得的一些开发人员技能来自从事个人项目。
It was only last year when I started to think about having a different source of income apart from my full-time job. The idea of being dependent on a single paycheck is a bit scary. I knew I had the skills and passion to figure something out.
直到去年,我才开始考虑除了全职工作以外还拥有其他收入来源。 依赖一张薪水的想法有点吓人。 我知道我有技巧和热情去解决问题。
I decided I wanted to start a business, probably an online business considering the skills I have. The other trigger of those thoughts was that I wanted to experience and learn what it means to build a business. I had never run any business in my life, so I saw this as a great learning opportunity, a path on which I could learn skills that I don’t currently have. The worst thing that could happen would be that if I failed, I’d still end up with experience and tons of learnings.
考虑到我的技能,我决定要创业,可能是一家网上公司。 这些想法的另一个触发因素是我想体验并了解建立业务的意义。 我一生中从未经营过任何业务,因此我将其视为一个很好的学习机会,这是我可以学习目前没有的技能的途径。 可能发生的最糟糕的事情是,如果我失败了,我仍然会获得经验和大量的学习经验。
理念 (Idea)
As you might have guessed, the first thing that I, as a developer, did was to start thinking about ideas. Ideas were never a problem for me, but figuring out which ideas were a good fit always was. This time, I decided to try a different approach and really think through the idea before I jumped on it. There were some criteria I wanted to run each idea through.
您可能已经猜到了,作为开发人员,我做的第一件事就是开始考虑想法。 想法对我来说从来都不是问题,但找出哪种想法总是很合适。 这次,我决定尝试一种不同的方法,并在跳上之前仔细考虑一下这个想法。 我想通过一些标准来贯穿每个想法。
- I wanted to solve a real problem, probably something I personally was facing 我想解决一个实际的问题,可能是我个人面临的问题
- It should be for the market I know well 应该是我很了解的市场
- It should not be a new idea (it’s not going to change the world) 这不应该是一个新主意(它不会改变世界)
- It could become a business 可能成为生意
The golden rule of any idea is that it has to solve a problem that people face. In the past, I’d added so many ideas to my notes — so it was a matter of visiting the pool of ideas I’d saved.
任何想法的黄金法则都是必须解决人们面临的问题。 过去,我在笔记中添加了很多想法-因此,只需访问我保存的想法库即可。
I knew from the beginning that I’d probably be more successful if I built something for developers, because I know the market pretty well and most of my close friends and online followers are tech-based. I could use my network and audience to validate my idea and get a solid feedback before I commited to anything.
我从一开始就知道,如果我为开发人员构建一些东西,可能会更成功,因为我非常了解市场,并且我的许多亲密朋友和在线关注者都是基于技术的。 在做出任何承诺之前,我可以利用自己的网络和听众来验证我的想法并获得可靠的反馈。
This really filtered down all my ideas into a list of 2–3 things I could work on. One of the ideas was something I kept coming back to over and over again. It was something I’ve faced both at Buffer and during the work on my previous side-projects: a simple way to monitor scheduled cron jobs.
这确实将我所有的想法过滤成了我可以处理的2到3件事情的列表。 其中一个主意是我不断地反复提及。 这是我在Buffer以及以前的副项目工作中都遇到的问题:一种监视计划的cron作业的简单方法。
Since one of the areas I own at work is the analytics data infrastructure, I have run a dozen cron jobs in the background to collect the daily analytics data for our customers. It has to be up to date. The Datadog monitoring service that we use is really great, but it’s primarily designed to monitor continuous services or servers. I wanted a simple dashboard where I could see the list of all my cron jobs, their statuses, and logs. Every day get a report of all run jobs so I know everything is on track.
由于我工作的领域之一是分析数据基础架构,因此我在后台运行了12个cron作业,以为客户收集每日分析数据。 它必须是最新的。 我们使用的Datadog监视服务确实很棒,但是它主要用于监视连续的服务或服务器。 我想要一个简单的仪表板,从中可以看到我所有cron作业的列表,它们的状态和日志。 每天都会收到所有正在运行的作业的报告,因此我知道一切都按计划进行。
After picking this idea, I wanted to see if there were any existing solutions on the market. If there were, that’s a good sign that there was a demand for certain tools.
在选择了这个想法之后,我想看看市场上是否有任何现有的解决方案。 如果有的话,这很好地表明了对某些工具的需求。
In fact, there were a couple on the market with different paid plans. I didn’t necessarily want to build something completely new, because if I did it would have been so much harder for me to define and validate the market. All the existing solutions had paid plans, so I knew people would pay for it. The next goal was to validate if my thinking was right by building and launching the initial MVP.
实际上,市场上有几对夫妇有不同的付费计划。 我不一定要构建全新的东西,因为如果我这样做了,那么定义和验证市场将变得非常困难。 现有的所有解决方案都已支付了计划,所以我知道人们会为此付费。 下一个目标是通过构建和启动初始MVP来验证我的想法是否正确。
最有价值球员 (MVP)
I spent 2 months building the initial version of Cronhub (yes, I gave it a name). Something viable that I could send to a handful of my friends and Twitter followers to try. For the MVP I wanted something very simple but also valuable enough that people would pay for it. I know you may think that two months is a long time to build an MVP, but I didn’t take the traditional “hustle” approach. Instead, I:
我花了2个月的时间构建了Cronhub的初始版本(是的,我给它起了个名字)。 我可以发送给少数几个朋友和Twitter追随者尝试的可行方法。 对于MVP,我想要一些非常简单但又有价值的东西,以至于人们会为此付出代价。 我知道您可能会认为建立MVP花费了两个月的时间,但是我没有采用传统的“忙碌”方法。 相反,我:
- Worked only 1–2 hours every day 每天只工作1-2小时
- Slept 8 hours every day 每天睡8个小时
- Watched Netflix whenever I wanted to 每当我想观看Netflix时
- Fully rested on the weekends 周末充分休息
- Used the tech stack I felt most comfortable with 使用了我最满意的技术堆栈
Since I have a full-time job, I worked on Cronhub usually from 7 to 8:30 pm. I could also work in early mornings, but I spend most of my mornings at the gym. There were some days when I felt mentally very exhausted after work and I took it easy, but most of the time I stuck to my routine.
由于我有一份全职工作,所以我通常在晚上7点至8:30下午在Cronhub工作。 我也可以在清晨工作,但是大部分时间我都在健身房里度过。 有时候,下班后我精神上非常疲惫,所以我放松了下来,但是大部分时间我都坚持常规。
I knew if I wanted to finish this project I had to keep the momentum and commit every day even if it was a small change (could be a single line commit). Consistency has always been super useful for me to stay on track and ship. I used Trello to break down my project tasks into small milestones.
我知道,如果我想完成这个项目,我必须保持动力并每天提交,即使这是一个很小的变化(可以是一行提交)。 始终如一的一致性对于我保持跟踪和航行非常有用。 我使用Trello将我的项目任务分解为几个小里程碑。
I tried to make each task very small so I could start and finish in a single day. Keeping tasks small helped me to ship faster and see my daily progress. When you see progress it motivates you a lot and keeps you going. I think it’s a mind trick. Working on big tasks slows you down, and eventually you give up because you get bored and you want to jump on something else.
我试图将每个任务做得很小,这样我就可以在一天内开始和完成。 保持较小的任务有助于我更快地发货,并查看自己的日常进度。 当您看到进步时,它会激发您很多动力并让您继续前进。 我认为这是一个头脑把戏。 处理大型任务会使您减慢速度,最终您会放弃,因为您感到无聊而又想跳上其他事情。
I never worked overnight. I went to bed around 10:30 every day and woke up at 7. Having proper sleep is my number one priority. It defines the mental energy I have during the day and I can’t sacrifice it. Besides sleeping well, I decided to spend most of my weekends doing something completely different like playing soccer, watching movies, or hanging with friends and family. Even though I love coding, I know it’s easy to burn yourself out. Weekends helped me to refresh my brain.
我从来没有过夜。 我每天大约10:30上床睡觉,然后在7点醒来。适当的睡眠是我的头等大事。 它定义了我白天的精神能量,我不能牺牲它。 除了睡得好之外,我决定在周末的大部分时间里做一些完全不同的事情,例如踢足球,看电影或与朋友和家人一起闲逛。 即使我喜欢编码,我也知道很容易筋疲力尽。 周末帮助我恢复了头脑。
I think as a developer you always want to use the hottest and coolest technologies. And it’s okay. I want that, too. However, my goal was different and I wanted to build and ship Cronhub as fast as I could with the technologies I already knew. I stayed focused on my goal and used Laravel and Vuejs. Cronhub is a single page application using Laravel for the backend.
我认为作为开发人员,您总是想使用最热门和最酷的技术。 没关系。 我也想要那个。 但是,我的目标是不同的,我想用我已经知道的技术来尽快构建和交付Cronhub。 我一直专注于自己的目标,并使用Laravel和Vuejs。 Cronhub是使用Laravel作为后端的单页应用程序。
内测发布 (Closed Beta Launch)
On Feb 20, I finished the bare-minimum of Cronhub and was ready to invite the first pool of early adopters to try it out. After my tweet, around 20–25 people reached out to me on Twitter asking for an invitation. The feedback I got from them was super valuable.
2月20日,我完成了Cronhub的最低要求,并准备邀请第一批早期采用者试用它。 发完推文后,大约有20-25个人在Twitter上与我联系,请求邀请。 我从他们那里得到的反馈非常有价值。
There were a couple reported bugs and some great feature suggestions that I’ve added to my feedback document. Keeping track of user feedback is an important step, because it helps to identify the obvious patterns you can refer to when you make product decisions.
我已经在反馈文档中添加了一些错误报告和一些很棒的功能建议。 跟踪用户反馈是重要的一步,因为它有助于确定做出产品决策时可以参考的明显模式。
Overall, the first impression and feedback were encouraging. Now I needed to continue improving the product and make it ready for the first public launch. I planned the first public launch to be within a month.
总体而言,第一印象和反馈令人鼓舞。 现在,我需要继续改进产品,并使其能够为首次公开发布做好准备。 我计划在一个月内进行首次公开发布。
公开发布 (Public Launch)
After three months, I’m launching my first SaaS side-project to the public. Yay!
三个月后,我将向公众发布我的第一个SaaS附带项目。 好极了!
Of course I’m nervous, and don’t know if this is going to work out or not. However, I know this brings me one step closer to my goal. The goal to make Cronhub into a profitable online business where I can learn and experience all the hidden secrets of running a business. After all, what’s the worst that could happen? I’d learn so much!
我当然很紧张,不知道这是否会解决。 但是,我知道这使我离目标更近了一步。 使Cronhub成为盈利的在线业务的目标,让我可以学习和体验经营业务的所有秘密。 毕竟,可能发生的最坏情况是什么? 我会学到很多!
I know maybe I’m too much focused on thinking about profitability, but after building a couple side-projects for free in the past I knew it was time for me to take my time a little bit more seriously. Time is the most valuable asset I have and I want to spend it consciously. Building a paid product is way more motivating and it pushes you forward. Also, maintaining side-projects for free is expensive — I know it from my experience.
我知道也许我过于专注于盈利能力,但是在过去免费建立了几个副业项目之后,我知道现在是时候让我更加认真地考虑了。 时间是我拥有的最宝贵的资产,我想自觉地度过。 打造付费产品更具激励性,并且可以推动您前进。 另外,免费维护附带项目很昂贵-我从我的经验中知道。
得到教训 (Lessons Learned)
The past three months have been great for reflection as well as evaluating what worked well and what didn’t. Every time I build a new project, it’s a new learning experience. Each project is unique and requires a different thinking process around the product. As a product engineer, I want to develop my product mindset and this helps.
在过去的三个月中,对于反思以及评估什么有效,什么无效都非常有用。 每当我建立一个新项目时,这都是一种新的学习体验。 每个项目都是唯一的,并且围绕产品需要不同的思维过程。 作为产品工程师,我想发展自己的产品心态,这会有所帮助。
Overall, I’ve learned many lessons that really helped me to start and launch an idea. I want to share the most important ones with you.
总体而言,我学到了很多课程,这些课程确实帮助我开始和提出了一个想法。 我想与您分享最重要的内容。
Solve a problem you personally face. This is so key, because essentially you build the product for yourself, always keeping you in mind. This makes it a lot easier to make good product decisions. You know what questions you should ask and chances are higher that you ask the right questions.
解决您个人面对的问题 。 这很关键,因为从本质上讲,您是为自己创建产品,始终牢记在心。 这使得制定良好的产品决策变得容易得多。 您知道应该提出什么问题,提出正确问题的几率更高。
Keep your tasks small. When you break down your project into pieces, try to make them smaller. A good way to measure the size of the task is to ask yourself “Can I do this task in a day?” If the answer is “No” then it’s probably a big task and you can break it down further.
保持小任务 。 当您将项目分解成多个部分时,请尝试将它们缩小。 衡量任务大小的一种好方法是问自己:“我一天可以做吗?” 如果答案是“否”,那么这可能是一个艰巨的任务,您可以进一步分解。
Sleep well and rest. I can’t stress how important proper sleep is. You don’t have to work overnight. Focus on incremental progress and small daily commitments. If you don’t take care of yourself you will get tired soon and eventually give up.
睡个好觉,休息。 我不能强调适当的睡眠有多重要。 您不必整夜工作。 专注于增量进步和小的日常承诺。 如果您不照顾自己,很快就会累,最终放弃。
Choose a market you know well. I’m a developer and I know this market well. I know what it takes to be a developer and how developer teams collaborate. This gives me a sense of things that will and won’t work out in this market. Of course, I can still be wrong, but chances are a lot smaller.
选择一个您熟悉的市场。 我是一名开发商,并且我对这个市场非常了解。 我知道成为一名开发人员需要什么,以及开发人员团队如何合作。 这使我对在这个市场上可以解决的问题有所了解。 当然,我还是会错的,但是机会要小得多。
Talk about your project. This is a challenging one for me and I’m still adapting to this. I don’t really like to talk about myself. I like listening more. It’s not easy for me to talk about the project I’m building, because I’m a bit shy and don’t want to make an impression that I constantly talk about myself. However, I know I have to get the word out and market my project. That’s how others will discover it in the beginning. This article is an example of that.
谈论您的项目。 对我来说,这是一项具有挑战性的工作,我仍然会适应这一点。 我真的不喜欢谈论自己。 我喜欢听。 要谈论我正在构建的项目对我来说并不容易,因为我有点害羞,不想留下我经常谈论自己的印象。 但是,我知道我必须言出必行并推销我的项目。 这就是其他人一开始会发现它的方式。 本文就是一个例子。
总结一下 (To conclude)
Thanks so much for reading. I hope you enjoyed this story and learned at least one thing from it. I would love to hear from you, so please feel free to comment with your questions. You can reach out to me on Twitter or email me.
非常感谢您的阅读。 希望您喜欢这个故事,并从中学到至少一件事。 希望收到您的来信,请随时提出问题。 您可以在Twitter上与我联系或给我发送电子邮件 。
If you’re a developer or part of a team that uses cron jobs, you can try Cronhub for free. Use coupon “indiehackers” to get 20% discount if you upgrade to “Developer” plan.
如果您是使用cron作业的开发人员或团队的成员,则可以免费试用Cronhub 。 如果升级到“开发人员”计划,请使用优惠券“ indiehackers”获得20%的折扣。
Cronhub is on PH today if you want to support me :)
如果您想支持我, Cronhub今天就在PH上 :)
Keeping shipping — Tigran
保持运输—提格伦
Originally published at www.indiehackers.com.
最初在www.indiehackers.com上发布。
交付方式 saas