构建开发人员产品的原则:CTO的视角

2020-07-30 02:29:49

开发人员一直是Content ful使命的中心。当我决定对Sascha感到满意时,我想在一家服务于开发人员的公司担任CTO。我想支持像我这样的开发人员,他们在影响产品和战略以及技术的团队中工作。知足给了我这样做的机会,并深入探讨最让我兴奋的话题。

现在,七年过去了,我想与大家分享我们如何开发Content的历史,我们在这一过程中学到了什么,以及指导我们产品的三个原则。我们认为,开发人员的产品应该在价格、文档和设置方面都是可访问的,使用最新的技术构建,并且易于集成和自动化。

这些原则反映了我们的产品愿景,并展示了随着我们作为一家公司的不断成熟,我们将如何继续支持全球各地的建筑商。而且它们并不只适用于知足者。我们相信,它们对于所有成功的开发者产品都是不可或缺的。

我仍然记得在90年代学习Linux的情景。我不能在书桌上边学边建。拨号连接限制了互联网的访问,因为它的价格很高,而且你在网上只能找到原始的手册。书也很贵。我记得在午餐时间去书店读了几页最新的书,然后晚上在家里试一试。第二天我会回到商店,试着理解为什么它不起作用。

幸运的是,在过去的几十年里,这种情况发生了变化。现在,我可以在一个午休时间内构建快速想法的原型。API的普遍采用以及开发人员工具和学习资源的免费访问加速了一切。

我们相信所有的开发者产品都必须是免费且易于设置的。这就是为什么我们总是为开发人员提供一个免费的、满意的计划,也是为什么我们在新的社区版中改进了我们的计划。我们希望让开发人员可以免费构建任何副项目--让它成为博客、曲奇商店或完全不同的东西。

这也是我们确保您具备开始使用所需的一切的原因。无论您是以API的形式处理HTTP端点和JSON,还是研究如何对内容结构建模,文档和指南都可以加快开发过程。Contful为Web应用程序用户提供了数百页的开发人员文档和帮助中心。

我注意到有些公司把注册和入职流程视为小事。没有比这更不符合事实的了。从注册到发出第一个有意义的API调用所需的时间对任何专注于开发人员的公司的增长轨迹都有着巨大的影响。用Contful在5分钟内让您的网站启动并运行起来,这不是一个营销口号。这是一个务实的基准,当我们继续发展我们的产品时,我们会参照这个基准来衡量自己。

文档构成成功的开发人员产品的一部分,其方式与CLI上的适当工具相同。这就是我们开发内容丰富的CLI的原因。它使用户能够导航我们的产品,并帮助开发人员入门。当我们添加新的特性和功能时,我们继续坚持它们是可编写脚本的,并且可以通过CLI访问。

如果你在一次企业聚会上提出现代技术的话题--我敢跟你打赌我的任天堂交换机--接下来的三个小时将花在讨论如何定义“现代”这个词上。当我说现代时,我想到的是具有大规模和大规模开发人员采用潜力的新技术。

当我们构建Content的早期版本时,我们使用Markdown进行内容编辑,RESTAPI用于提供内容,Angular.js用于我们的Web应用。这些都是要使用的技术,此后不久JAM堆栈的兴起表明我们选择了正确的道路。快进七年后,技术版图看起来不同了。Reaction大受欢迎,GraphQL改变了查询数据的方式,组件驱动的设计系统现在已经成为事实上的标准。这对我们的产品意味着什么?

我们不断重新评估我们的构建块,并在必要时重建我们平台的关键组件,以利用新技术。回想起来,采用Kubernetes来运行我们的基础设施是一个很容易的决定。但构建GraphQL API并非如此。当然,GraphQL允许开发人员在单个API调用中查询他们需要的数据,加快了开发过程,并简化了技术架构。但我们需要决定是否将我们的工程资源用于采用当时没有付费客户要求的技术。GraphQL&39;的技术能力和开发者社区表现出的明显的兴奋感说服了我迈出这一步。

GraphQL绝不是一个孤立的故事。当我们面临从Angular.js过渡以做出反应以跟上JavaScript生态系统的决定时,我们经历了类似的过程。或者当我们谈到用基于JSON的富文本编辑器替换Good-ole Markdown时。

现在GraphQL和Reaction正在成为下一代数字项目的行业标准,赌注似乎显而易见。但是,当你不得不做出决定时,这些类型的决定很少提供简单的答案。这就是为什么我们采取了在最新技术上冒险的原则来推动我们的决策。

在过去十年构建Content的过程中,我学到了两件关于CMSS的重要事情。首先,内容对数字体验至关重要。这意味着,除了将Content连接到前端层之外,工程团队还要花费大量精力将数据传入和传出我们的平台。在我们的产品中内置可扩展性使我们的用户更有生产力,我们的平台对他们更有价值。

我们一直在投资添加新的方式来集成第三方系统和Contful。我们从基本的WebHook开始,以便与其他服务交流内容更改。然后,我们使我们的网络挂钩是可配置的。因为没有标准化的有效负载来连接服务,这使得开发人员可以快速地将Content与其他服务集成在一起。然后,我们通过启动我们的App Framework向未经技术培训的编辑开放了集成。现在,用户可以在Web应用程序中集成Shopify、Typeform和Cloudinary等SaaS产品。

最棒的是,由于我们的开源生态系统,开发人员可以根据自己的需要修改Web应用程序。这创造了一种无缝的内容编辑体验,即使它是用多种服务构建的。内容将成为您的基础设施的核心部分!

我还了解到,依靠手动内容管理是次优的。CMSS--就像每个软件一样--迫切需要自动化。自动执行手动任务可以解放编辑,让他们专注于更有创意、更有影响力的活动。但更重要的是,自动化帮助组织将构建新软件的混乱过程转变为更可预测、更可衡量和更可靠的过程。

以向您的网站添加新功能为例。当您的产品处于繁重的开发阶段时,您如何管理您的内容?怎样才能在不打碎东西的情况下进行缩放呢?我们从头开始,将CMS的概念定义为代码。即使内容可以通过API获得,结构更改也必须能够以自动和安全的方式执行。

那移民呢?我们在CLI迁移工具上进行了投资,并通过环境扩展了我们的基础设施。Conentful现在允许您以与编写代码相同的方式编辑、更改和发展内容。扩展、更改、迁移和测试。在您知道一切都按预期工作之后,您可以将其带回到您的主环境中。您在基础架构中使用的CI/CD工作流还可以管理您的内容-随时可扩展!Contful将继续遵循其第三条原则:开发者产品必须针对集成和自动化进行优化。开发人员想要构建,而不是执行家务。

我很高兴看到Conentful现在每天提供5亿个内容交付API请求(加上3000万个GraphQL请求,而且还在不断增加)。我们将继续用我们的社区版和我们在此过程中开发的新功能来回馈开发人员。我们已经让入门变得免费而简单,所以你可以上前体验一下了!

订阅以接收最重要的更新。我们每月发送一次电子通讯,内容包括热门话题和功能更新。