An Ode to Houseplant Programming 🪴

核心概念

Houseplant programming:只为自己写的微型软件。不为大众、不为生产、不为任何人,只解决自己的问题。

由 Recurse Center 学员 Ryan Goldstein 创造的词,作者 Hannah Lea 写文发扬。

关键思想

”It works on my machine” 是目标,不是借口

生产环境的代码需要健壮、测试覆盖、可靠。但一个住在你家里、只为你服务的小程序?不需要。

Any code is production ready, if you redefine the scope of your production environment.

与 houseplant 的类比

  • Happy home:喜欢把植物和自制小项目放在生活空间里,提醒自己喜欢什么
  • Longevity:不行了就扔到 GitHub 的”堆肥箱”,几行有用的代码留到下个项目
  • Propagation:可以分享 clippings(代码片段)给朋友,但一旦到了他们手里就不是你的责任了
  • Universalization:不需要让 houseplant 适应每种环境——同样,不需要让代码完全通用

知识分享不等于让别人跑你的代码

欣赏别人的 houseplant 本身就有价值,不需要把它移植到自己家里才算学到东西。

相关概念

  • Situated software(Clay Shirky, 2004)——为特定小群体写的软件,但 houseplant programming 更极端:只为一个人
  • “Barefoot developers”——类似的概念,但 houseplant 更轻盈

为什么值得记

这个框架给了一个”许可证”:不是所有写的东西都需要产品化、开源、支持多用户。有些东西就是为自己而存在的,这本身就是一种完整的价值。

Takeaway

  • 价值是肯定有的
  • 给 houseplant coding 做平台, 好像已经又这个倾向了, base 44
  • 但平台方向(Base 44)distribution 无敌,独立开发者正面竞争没意义
  • 对独立开发者真正的启发是心态许可做产品的方式
    • 不做通用平台,而是直接做具体的、打磨过的 houseplant 级产品,服务一小撮特定人群
    • Base 44 通用但对每个人都 80 分,独立开发者可以在垂直场景做到 99 分
    • 不是所有东西都需要成为产品;给自己用的过程中自然长出用户,才是最健康的独立开发路径