又准备折腾博客了

我写博客经历过两个阶段 :

  1. 2012 ~ 2014 年:买虚拟主机、云主机,折腾性能和技术。在这个阶段,我的博客也经历过几轮变迁,也因为我自己没做好生产环境和测试环境的分离,导致数据丢了不少。目前的博客只能回溯到 2016 年便是因此。
  2. 2016 ~ 至今:不再折腾博客,开始专注于内容写作,并且保持每年都有更新,做一个活博客。

写了十年,我也算是没少搞和 WordPress 相关的事情,不过,时间久了,脑子里那些工程师的想法,难免重新冒出来 —— 我是不是应该自己写一个 Blog 系统。对于曾经的我来说,可能是不容易的,我并没有那么丰富的开发经验。但对于如今的我来说,确实是不那么困难的事情。

不过,写总是要有个目的和收益评估,不能「为了写而写」,而是应该有一个明确的目的,评估 ROI。

我为什么想写?

  • 觉得 WordPress 还是太臃肿,有不少我用不上的能力。
    • 那么我自己的 Blog 系统应该有一个明确的 Feature List。这样才能避免需求无限的膨胀。
  • 我的需求已经逐步稳定下来,不太需要新的主题/插件了。
    • 这些年的确主要是更新内容,博客的形式、内容啥的,基本上都是稳定不变了。

我为什么不能写?

  • 写 Blog 对于我来说没有什么特别的收益。
    • 毕竟这玩意没办法卖,除非写的过程中有别的收益,可能还好,不然大概率亏本。

我如果要写一个 Blog 系统,我需要哪些 Feature?

  • 文章系统:包含标题、描述、内容、Slug、目录、标签几个核心属性和实体。
    • Slug 需要自动翻译:我特别依赖这个功能。懒得自己翻译 Slug
  • 支持图片自动上传 S3
    • 我现在的图片都是用的外链,这样服务器自身的压力没那么大。
  • 支持评论
    • 评论还需要能够自动发送邮件更新。
    • 评论要能实现反垃圾。
    • 历史的 600+ 评论可导入
  • 简洁稳定的主题设计
    • 坦白来讲,这几年我很少做主题方面的变更了,基本上就是在几个景点主题上来回切换。
  • 支持 RSS Feed 等能力
  • 支持在线编写(可能非必需,最近开始逐步用 Ulyssess 写作,其实对于网页写文章的诉求越来越小了,maybe Hexo 是可接受的方案。)

Small Business or Big Story

a person sitting at a table using a laptop

独立开发者们在开始准备的时候,需要明确自己的预期:独立开发者虽然有可能从一个 Small Business 发展为 Big Story ,但绝大多数的独立开发者只能完成一个 Smalle Business。

硅谷风格的 Big story 往往并不适合独立开发者 —— 他们依靠投资快速占领市场,并通过垄断获取利益。独立开发者所做之事往往细水长流,面向一个细分领域深耕细作,提供标品无法提供的产品价值,赚取产品带来的收益。

如果你选择的赛道是 Big Story ,那么大概率会被更加有能力玩转 Big Story 的大公司们给快速干掉。

审美,也是独立开发者的重要竞争力

colored pencil lined up on top of white surface

独立开发者的发展方向有很多,有些的是提供有价值的工具(比如你在某个细分领域十分专业,可以在这个方向提供一些工具和解决方案,并以此收取费用)。但这些细分领域往往极其依赖个人的经验和经历,而非一个可以习得的技能。

另外一个视角的发展路线,则是审美和设计。如果你去观察和分析不少的产品,其实在产品功能上和我们所熟悉的其他产品不会有特别大的区别,他们往往从设计和审美上,比之前的同类产品提供了更优雅的 UI 和更加合理的交互,从而占领了市场。

一个典型的例子是十分卷的 Todo 、番茄钟领域,每年都会有一些新鲜的应用出现,他们基于一些新的底层能力和全新的设计,重新在现有的市场中去切一块蛋糕。

差异化是独立开发者的一个重要的点,而设计和审美,又是达成差异化的一个重要因素。

我和声网一起做了帮助独立开发者成功的「独立开发者孵化器」

person in blue jacket sitting on brown wooden chair near brown wooden table during daytime

独立开发者作为一个近年来逐渐被关注的职业选择,正在成为诸多向往自由的工程师探索的方向。基于此,常年在各种媒体渠道宣传和推广的我,便拉上了希望为独立开发者事业做一些贡献的声网,共同打造了一个独立开发者孵化器,希望能为艰难前行的独立开发者们带来一些帮助。如果你对独立开发者孵化器感兴趣,可以访问 http://nglab.io/ 了解更多。

声网官方发布文章:RTE NG-Lab:一起探索下一代实时互动新世界

初心

独立开发者看似各个独立,但也需要生态的基础才能发展壮大。相比于创业企业,作为独立开发者的我们能够调动的资源更少,于是我们就会受到很多限制。

想要这些限制得到改变,环境和生态的变化会起到非常大的作用。

就像我和很多人解释,独立开发者为什么很多都是移动应用开发者?因为在几年前的中国,个人想要做一个好的产品且可以收到钱,只有 iOS 的 App Store 是行得通的。但是近几年我们可以看到, Payjs、XORPay、面包多支付这类面向个人创作者和开发者提供的付款产品出现,让其他开发者也可以收到钱了,我们开始看到一些基于这些产品的独立开发者作品出现。

时代和大环境的变化,让独立开发成为了可能。想要推动生态和大环境的变化,一定是需要更多的人参与进来的。进来的人越多,我们就可以变得越好;进来的人越多,意味着上游的资源服务提供方有可能细分出一个为我们服务的产品。

如果我希望让自己的独立开发更加简单,那么让生态变大是一件必不可少的事情。

独立开发者孵化器能帮到独立开发者们做什么?

我自己是一个独立开发者,也加入了不少独立开发者的社群,所以能够设身处地的感受到独立开发者们的困境:

  • 独立开发没有收入保障;
  • 收款渠道门槛较高;
  • 推广获客太难;
  • 财法税目标不明确;

针对这些问题,我们会在孵化器当中做一些定向的服务,来帮助独立开发者们尽可能的达成目标:

教练支持

孵化器内会定期周会/月会,同步大家的进展 & 和你约 1 on 1,和你沟通在过程中你遇到的问题。此外,声网还会邀请尽可能多的大咖来分享关于独立开发、产品设计、运营推广等方面的信息。

资源支持

独立开发者在开发产品时,往往会遇到一些资源层面的问题,即容易因为资源匮乏导致无法跑通整个流程。所以我们会根据项目的情况来协调声网内部和外部的资源,帮助独立开发者获得所需要的资源(人、事、物),并促成合作,推进项目发展。

媒体支持

很多独立开发者的困惑是产品开发好了,不知如何推广,我们也会在声网自有渠道和合作媒体上,帮助独立开发者们借助媒体的声量,触达更多人群。

现金支持

在项目进入孵化器时,会根据项目的特性设定北极星指标,当项目达成对应的北极星指标后,声网将会拿出一笔钱(预计每个开发者 1 万元左右),作为奖金发给各位开发者,以资鼓励。金额可能不多,但它不但是一个激励,更是一种助力,也是一个信号。

投资支持

声网作为一家科技企业,有不少的投资机构的资源,当你的项目已经完成了北极星指标,也达到了可以融资的程度,我们也很高兴辅助你对接到合适的投资机构,帮助你取得成功。

播客支持

2021年上半年,声网和津津乐道播客联合制作了一档独立播客节目 「编码人声」,这档节目主要聚焦当下程序员的成长,每期都会邀请不同背景的程序员担任嘉宾,分享从业者的体会与心得,上线一年来广受好评。在创办一周年之际,节目会新增很多互动环节,让更多独立开发者的声音被听到,让更多独立开发者的经验与教训被看到,以期从整体改善独立开发者群体的生存环境。这些很有价值的内容会被收录进节目新增的一档意在留存声音的栏目中,让更多人听到独立开发者们勇敢探索不停前行的奋进故事。对于那些有志于自己录制播客节目的独立开发者,津津乐道播客旗下的「音播 WavPub」也可以提供内容托管和分发服务支持。

如何加入独立开发者孵化器?

独立开发者孵化器毕竟刚刚起步,无论是人力还是资金目前都条件有限,我也需要花费不少的精力来做事务性的工作,因此,孵化器会在人群上进行筛选,对于同时孵化的项目总数也有一定的限制,我们希望能够将精力放在最值得的项目上,帮助更优秀的独立开发者们和项目成功。

可能的问题

独立开发者孵化器这么多事情,是不是要我付出股份?

独立开发者孵化器不会要求你提供股份或其他之类的东西。但希望你能够做出一些“名”上的回报,包括并不限于:

  1. 认可独立开发者孵化器带给你的价值;
  2. 在公开的渠道发声时,如果可以,带上独立开发者孵化器的相关信息;
  3. 允许独立开发者孵化器使用孵化期间产出的各项音视频、文字等资源。

当然, 如果最终真的可以帮你成功,我相信上面的这些条件你都不会拒绝。如果你的项目最终没有达成预期目标,也不会要求你付出什么代价。

我(白宦成)在其中是个什么角色?

在独立开发者孵化器当中,由声网负责提供孵化器所运行的各种资源,帮助独立开发者们度过最艰难的时期,我则作为居中协调人员对接双方。一方面帮助更多的开发者获得来自声网的支持,更好的完成自己的独立开发产品,走上独立开发之路,另一方面,也帮助声网来筛选出优质的值得花时间精力投入的项目,让资源不至于被浪费,让优秀的项目可以获得更多的帮助。

当然,我也给自己这个居中协调人员起了个响亮的名号 —— 独立开发者孵化器主理人,这个职位最大的存在意义,就是既能帮助声网找到有意愿在独立开发这件事上更进一步的开发者,又能试着帮助有潜质的独立开发者们躲过一些成长过程中的“坑”和麻烦。

独立开发者可用的支付方式

person holding black and white electronic device

我会关注一些个人可用的收款方式,核心支付要解决的问题是在开发产品过程中,必须要用到的各项基本技能。如果支付流程无法打通,独立开发者的商业模式就会遭到最直接的打击:你如何赚到钱?

可能你会想,我难道不能使用广告的方式来赚钱么?

当然可以,但与直接向最终用户收款的方式相比,显然,广告赚到的钱不过是蝇头小利。

此外,我也说过,广告赚钱是非常少量的,因为你拿到的本身就是平台收益中的一小部分。此外,广告还有一个问题是与流量相关的,你必须不停的想办法获取流量,并将流量转化,这对于独立开发者而言,并不友好。因此,我并不看好以广告为基础的独立开发产品模式。

故而,我十分在乎收款流程的通畅。

其实想想也能明白,你会发现国内独立开发者大多出现在 iOS、Android 等移动应用开发平台上,这里很难说没有平台提供的收款渠道带来的价值。

所以从这个角度而言,我也建议大家可以适当关注一些收款渠道,以便你自己后续使用。

为什么不注册公司,自己接入渠道?

当提起这些第三方渠道的时候,大家经常会说,诶呀,你这个收款平台的费率好高啊,你看看支付宝官方,只有XXX。

我觉得,这个事情如果只对比收款费率的话,过于单纯。

实际上,支付宝官方、微信支付官方往往需要企业资质才能开通。而你开通这些账号所支付的成本,远超你当下的收入。

你用你前期的收入,养活了代注册公司、代记账公司。早期其实完全没有必要,你大可以用这些平台完成前期的冷启动,启动完成,有了长期收入,你的收益足以支撑你继续后续的工作,再替换不迟。

我关注到的收款平台

面包多 Pay

https://mbd.pub/

PayJS

https://payjs.cn/

XorPay

https://xorpay.com/

云计算的增长在 SaaS

person using MacBook pro

我一直以来,都很喜欢诸如 LeanCloud、Firebase、云开发这样的产品,这背后的逻辑是「随着云计算的成本不断下降后,下一步发展起来的是各样的 SaaS 产品」。

这些 SaaS 产品的建设,和过去相比,基础设施的发展使得开发一个 SaaS产品变得比以前简单太多了。

如果你需要服务器,无论是阿里云,还是腾讯云,甚至是面向全球的 AWS、Azure,都是你只需要花钱就可以买到的。

如果你需要邮件系统,SES、Mailgun、Postmark,各种不同的产品,让你的开发变得无比的简单。

你需要做的,只是找到你自己的 niche,然后针对这个 niche ,开发一款产品,并将你的产品推出,并发布上市,将你的产品售卖给你的客户。

很多时候,我们在看云计算的市场的时候,如果我们关注的是 IaaS,基础设施,我们就会发现,我们面对的往往是那些旧有的,已经存在的市场,他们会使用我们的产品,来替代曾经的产品。但同样的,我们的产品也会被成本更低的 IaaS 产品所替代。

我们要的是旧有的产业,还是那些新的产业?面向一个已经存在的百亿市场,还是一个未来会爆发的千亿市场?

好风凭借力,送我上青云

cars parked on parking lot during daytime

对于如今的开发者们来说,已经处在一个很好的时代了,他们拥有着丰富的基础设施,这些基础设施,让我们可以以更加低成本的方式,来构建我们自己想要的产品和工具。

我们站在巨人的肩膀之上,构建属于我们自己的产品。

为什么我们一定要完全自己去构建一个产品呢?从国家的角度来说,这样情有可原,而从个人的角度来说,借助这些基础设施来构建一款产品,才是最为实际的。

我们需要自己从 0 开始建设一个云服务么?当然没必要,我们可以使用阿里云、腾讯云、AWS、Azure,你可以使用任何一个云服务厂商为你提供的基础设施,构建自己的产品,直到他们无法满足你的那一刻。

从给项目不买域名做起

turned on black Android smartphone

我是一个灵感非常丰富的人,所以我总是会有各种奇奇怪怪的想法,并且试图将其转换为一个实体的项目(工程师的身份赋予我将其从灵感变为现实的可能,而产品经理的经历让我可以关注一个产品最为重要的是,至于说运营的工作,让我可以把一个项目从 0 开始推广)。

而我过去的一个毛病是,当我有了灵感后,会先试着去买一个域名。但,购买域名并不意味着我一定能把这个项目做完,大部分时候我会注册一个域名,然后,放一年,直到他过期。久而久之,我就有了几十个域名。。。

d2b5ca33bd970f64a6301fa75ae2eb22 7
我现在共持有 58 个域名

所以,我在思考,在后续的新的项目中,我将会启用项目代号制,先不思考项目名是什么,以及应该用什么域名,而是先尽全力将自己的 MVP 跑通,以及完成功能假设和市场假设。

所以代号从哪来呢?不妨从一些经典电影中找找灵感吧,最近看一些英文电影,然后从英文电影中寻找答案。

关注体验,而不是关注效率

person working on blue and white paper on board

今天和我的广告主,芦笋的创始人晓力聊了很多,其中聊到独立开发者的工作,我提到了一个概念:

作为独立开发者,我们需要关注产品的体验,而不是关注产品的效率。因为在效率的追求上,我们一定不如大公司能够在这个事情上做的更好,在这种情况下,做一个更具备“个人特色”的事情,会让我们在一件事上走的更远。

个人特色意味着独特的品味和体验,这种独特的品味和体验,将会引导用户持续使用。而这些独特的品味和体验,将会是留下我们的用户的重要的部分。

谈独立开发者

Freelancer

今天可能有些同学因为「独立开发者」这个标签关注我的推特,不过这个号可能你们看不到太多关于独立开发者的「技术」分享,因为「技术」不是独立开发者的关键,对于独立开发者来说,技术够用就行。反而是产品、市场、商业、运营的能力对独立开发者来说会更有帮助。我并不推荐经验不足的同学做独立开发者。

因为对于独立开发者来说,能够独立打造一个产品,是基本功。你需要能够 Cover 掉整个项目的几乎所有流程,然后才有资格成为独立开发者。如果你的技术不全面,那你就必须想办法解决这个问题。可以是借助云服务、可以是借助 No Code 工具。不要让技术把你卡住了。

当产品研发不会成为你的阻碍以后,你就踏上了独立的路线。成为独立开发者的路径是漫长且枯燥的,但同时也是开心的。因为你可以做你喜欢的事情、做你想做的产品、服务你想服务的人,并从中获得支付,养活自己。

相比之下,我认为有商科、金融等背景的人会更容易成为独立开发者,原因是更具备理解商业逻辑的能力。如果你不是,或者你不能理解,那就找一些书,看看商业世界是如何运转的,你又如何从中提供价值,赚取收益。当你开始思考商业的问题时,你就真正的走上了独立开发者的道路。

在前期,你可能做了大量的事情,都是在尝试,在锻炼,但不要害怕,开发产品本来就是一个困难且复杂的事情。失败也是大概率的事情。但你可以从自己的每一次开发过程中吸取教训,让自己的下一次产品比这一次更加成功。

作为独立开发者,我不太建议你采用广告的方式来获得收益。广告的方式本质上是流量生意,你的收入和你的用户的增长并不是线性的。而且流量生意对于资本、渠道等关系的要求很高,对于绝大多数开发者来说,并不适合。关注一个小众领域,服务一小撮人,是一个比较简单且实用的路径。

你从每一位用户(客户)身上收取费用,你的用户增长和收入是呈线性关系。相比于「可能是指数型增长的广告业务」个人觉得会更适合刚刚开始的同学。当然,如果你确实有明确的流量入口,把控了流量,那做广告型的业务也未尝不可。

我常说,「和别人做一样的事情,就不要预期和别人有不同的结果」,做独立开发者就是一个试图做和别人不一样的事情,在这个过程中,你是孤单的,但也是快乐的。作为开发者,我们能够选择「做自己喜欢且可以赚钱的事情」,是非常幸运的,别浪费了这种快乐。

在我看来,独立开发者和作家、播客主播一样,都是创作者。这部分就像 @zhufengme 说过的「创作者不能缺钱」。如果缺钱,就不太好搞创作了,那么穷困潦倒,要么不得不放弃一部分原则,以养活自己。处在一个比较舒适的状态下,认真去做自己喜欢的事情,反而可能更容易走出自己的路。

为什么太缺钱的人或者太关注钱的人可能反而不容易成功?原因是,如果你太过于关注钱,你就变得和商业公司一样了,追求的是利润。但,从追求利润的角度来看,商业公司一定会在这个事情上拥有比你更加强大的能力和实力。所以我不太喜欢做有强资本属性的事情,因为你很难在这个维度和大企业竞争并取得成功

独立开发者不要追求效率,而是要想办法追求美好的体验,就如 @RioJot 和黄海在疯投圈「51.从泡泡玛特谈起:物质消费中的情感体验」中提到的,我们有太多的企业去追求且擅长追求效率,而情感体验,是作为个人能够做的更加极致的部分。效率从各个角度来看,你都不如大企业能够做的更好

但你可以在情感体验和观点(opinion)中获得价值,@plidezus 的 Flomo 就是一个很典型的拥有自己的 Opinion 的产品。而研发同学们特别熟悉的 Rails 的母公司 Basecamp ,也是一个非常典型的 Opinion 导向的公司。他们通过构建一种 Opinion ,找到和自己同频的人,然后向他们售卖针对这个Opinion的产品

工具创造者的自我修养

797c396d4608cc56c4f96bbcca699422

独立开发者中有一大批人是通过做工具来获取收入的。做工具也算是独立开发者圈子中经久不衰的话题了。

但到了具体的工具开发之时,其中又有不少可以拿来讨论的内容。

而这里,我最想讨论的是工具的理念。

992zk

对于工具类的软件开发而言,最容易出现的就是「别人做了一个什么东西,我觉得不够新/便宜/不爽,我自己也要开发一个」。对于开发者来说,遇见问题, 并自己解决问题是非常常见的。 但是,工程师常常的问题也在于此,因为复制一个产品的成本越来越低,所以最先选择的是复制,而不是思考这个产品的长期发展道路。这会让产品陷入简单的 Copy and Paste 的模式下,长期来看,并不利于产品发展。

在我看来,如果工程师想要做好一款工具,那么一定要为自己的工具准备一个最基本的方法论。这个方法论一定是基于你自己对于问题的看法做出的拆解,而不能是依赖于其他第三方软件的。

这个方法论将指导你的产品朝着最终的目标,要解决的问题,奋力前行。你后续所遇见的问题,都会成为你前行的助力,为拓宽前进的道路。

fcu1l

而一个没有方法论的产品,则会被途中遇见的各种问题引导偏离最初的目的地。我们目前的市场中有太多的工具了,每一款工具都有其优秀之处,倘若没有自己核心的理念,那只会被众多的 Feature 搞得「乱花渐欲迷人眼」,最终失去了自己对于工具的定位,抄成了一个四不像。

i2wjj

总结

如果你想要以一个小团队打造一款好用、生命力持久的工具,那么先想清楚你的目标和理念,再动手开发,是一个好的路子。需求有很多,但并不是每一个都适合你。工具有很多,也不是每一个都适合你,预期去抄别人的理念,做别人要做的工具,不如发现自己的需求,做自己的工具。

什么样的人适合做独立开发者?

white iPad on white surface

我这几天在 Twitter 上发了一条推,引起了一些热烈反响。不少推油也从不同的角度给出了看法。

https://twitter.com/xiqingongzi/status/1336353507167780864

后续我也补充了一些信息

https://twitter.com/xiqingongzi/status/1336850171255091202

不过,我觉得我可能需要完整的描述一下我对于独立开发者的定义,以确定大家的讨论会在同一个维度上。

技术人的常见道路

技术人的常见路线其实很明确,总体可以分两个大类:技术专家和产品研发。

技术专家

技术专家的特征是对于技术研究更深刻,会更加专注于某一项技术的研究,有通才型的技术专家,但较少。更多的是在某一个领域方面深入的技术专家。

技术专家的话,一般而言,最好的路线是进入企业,以技术专家的身份,被企业供养着。特别是进入大的企业,较大的企业拥有足够的技术场景可以供技术专家进行深度研究。同时,大型企业也拥有足够的预算来供养这些技术专家。

产品研发

产品研发类,不会太过于纠结于技术的本身。而是会将更多的精力投放在技术产品的价值。

这类人大多最终会走上独立开发者/创业者的道路,企业内部虽然也会有内部创新的道路,但可能很多时候会受限于企业的资源和布局,因此,在出现企业利益与产品利益冲突的时候,容易触发这类人离职。

产品研发类的人的特点是,技术也会研究,但不会像技术专家一样沉迷于某一个技术,更加关注是技术之间组合产生的价值,站立在产品、研发、和人文的交叉点,讨论组合产生的价值。

从他们的表现逆推,则可知,两种发展路线可能会需要的一些特性:

技术专家

  • 耐得住寂寞:技术的研究远不如产品的研发能够提供的正反馈和多巴胺,绝大多数的时候是鼓噪的过程。
  • 热爱:技术的研究是一个枯燥的过程,热爱能够让他从初期的没有成功,抗过最初的困难期,渐入佳境。

产品研发

  • 不抗拒与人打交道:产品研发类的人最终走上的无论是创业还是独立开发,都会涉及到需要和人沟通,如果抗拒和人打交道,最终这个过程可能会让你心情低落,甚至抑郁。
  • 耐得住寂寞:产品研发虽然和技术专家大体路线不同。不过,产品研发早期可能很难得到正反馈,因此,耐得住寂寞可以让开发者在产品的初期,坚持做下去。
  • 抗风险能力强:独立开发者的路线是坎坷曲折的。和创业类似,唯一不同的是,失败的时候可能只有你自己,相同的是极高的失败率,因此,抗风险能力一定要强,扛得住失败。有多个收入来源,确保生计是一个很重要的事情。最好不要 All in ,容易一不小心把自己玩死。
  • 技术基本成熟:不一定是使用最新的技术,但要具备独立借助技术解决问题的能力。如果完全从零开始的话,可能会在前期获得非常多的负反馈。所以,有一定技术基础的人是比较好的。一般而言,我建议从业在 3年以上的人,可以开始考虑做独立开发者。

总结

关于独立开发者而言,需要具备的特点有很多,这里仅能根据自己的经验总结一些,也欢迎各位在下方评论。共同讨论。