开发者的困境

在使用现有服务或平台与构建自己的服务之间做出决定

我现在遇到一个大问题。

我正在尝试各种平台,以查看它们是否适合将来成为我举办课程的地方。

我现在使用的平台基于一个静态站点,该站点使用自定义集成和无代码工具(如Airtable)进行交互。付款和课程注册使用Node.js服务进行管理。你可以叫它JAMstack无服务器,或任何今天流行的时髦名词。

实际上,我的每门课程都有几个SAAS平台,所有平台都相似。我喜欢让事情简单明了。刚开始的时候,我是一个课程的网站。

然后,当需要制作另一门课程时,我只是复制了该网站,并对其做了另一个“版本”。

现在,课程数量跃升至7,并且是时候重新审视我使用的总体基础结构了。

我的第一个想法是使用一个我可以使用的平台,该平台可以用作课程资料的集中式枢纽,并提供不需要自己构建的功能。

因此,我出去尝试了一些受欢迎的服务,包括Teachable,Podia和许多其他服务。

但是我遇到了所谓的开发者困境。

乍一看,这些平台很棒。精心设计,界面精巧,行销光芒四射,看起来确实很棒。

然后我开始使用它们。

我开始增加挫败感。

  1. “看起来很棒”
  2. “我总体上喜欢它,但是那件事可能会有所不同”
  3. “编辑很烂”
  4. “我希望我可以使用降价促销”
  5. “有一个错误,我怎么可能是唯一一个遇到这个错误的错误?”
  6. “嘿,支持我遇到了这个问题”-“我们已经将其提交给工程团队,我们将及时通知您”
  7. “天哪,我已经为此花了很多时间”

我是一个懒惰的开发人员。我认为这是我最好的技术能力。

当您是懒惰的开发人员时,过度设计的软件不是问题。它永远不会发生。我只是编写执行任务所需的最少代码。

我抵抗复杂性。

为什么这么好?您无法预见明天的需求,明天的问题。随着时间的推移,我学到了这一点。

作为承包商,我在非常复杂的代码库上工作,以至于我想哭泣,并且我尽可能在过于复杂的情况下过分简化。

作为一个懒惰的开发人员,也使我在编写软件之前要想很多。

因为编写软件是一种责任。

您正在编写将来要承受的重量。

假设继续我上面关于选择课程平台的内容,我决定编写自己的课程平台。

这意味着我必须先对其进行编码。

我需要做决定。可能正确的决定,可能错误的决定。

在构建出我梦about以求的软件之后,我需要在将来维护代码。我对此负责。不再有“询问支持”按钮。

作为开发人员,我们具有创建所需工具的强大能力。但是以责任为代价。

但这也是所有权难题。在接下来的5到10年内,我是否希望依靠此特定平台?如果他们做出的决定与我的决定不一致,该怎么办?如果他们提高价格怎么办?我可以轻松摆脱它吗?

在理想情况下,我将始终选择自己的平台,而不是由其他人管理的平台。但我也会始终选择最简单的路线。

对我来说,最大,最宝贵的资源就是时间。通过选择现有解决方案,我可以有更多时间。

我应该花一个月的时间编写自己的课程平台吗?

那就是我面临的开发者困境的当前实例。

我尝试了所有可能的预制解决方案。

他们都未能以一种或另一种方式履行自己的诺言(或我心中对他们的印象)。

我决定要编写自己的解决方案。当然,最简单的解决方案。


更多实验教程: