开发者平台设计:3大黄金准则

46 阅读6分钟

Russell Miles分享平台构建三原则:平台需长期投入;其影响力超越产品,能产生意外惊喜;培养平台宜居性,开放且倾听开发者需求。

译自:3 Maxims for Great Developer Platform Design

作者:Loraine Lawson

纽约——Russell Miles 在本周 Devmio 国际 JavaScript 大会上的主题演讲以吉他开场,并通过图片向创建平台的历史人物致敬。他很快就让观众们跟着鼓掌和演奏。

Miles,自称倾听者、作者、读者和开发者,发表了题为“开发者平台如何失败(以及你的平台不会失败的原因)”的演讲。他已经构建平台长达25年,其中包括在 Spring 框架上的工作。

他说:“我在尝试构建这些平台并将其引入不同组织的过程中经历了一番磨难。”

他提到了包括美国讽刺作家Kurt Vonnegut在内的一些不寻常的灵感来源,并概述了关于平台的三项原则。Miles解释说,Vonnegut声称将科学应用于故事,并表示每个故事都始于:事情进展顺利,然后事情不顺利。然后,到故事的结尾,事情又会变得相当顺利。

他说:“我要给你讲一个这样的故事,只不过它不会很‘冯内古特式’。我将从痛苦开始。我将从为什么你不应该构建平台,或者为什么你可能不想构建平台开始讲起。”

原则一:你并不真正想要一个平台

他警告说,平台不是一蹴而就的,也不是一次性的。它需要专门的人员来维护和管理平台。

Miles告诉观众:“当我进入一个组织时,我首先会问的问题是,谁来构建它,谁来拥有它,以及你们为此投入了多少年的承诺。如果这些答案中的任何一个都是‘我们没这么想’,那么我会说你们不想要一个平台。”

他说,问题在于,每家公司都已经拥有一个平台。

他说:“如果你正在交付代码,你已经有了一个平台。平台体验始于开发者尝试在你的组织中做任何事情的那一刻。”

构建平台需要了解你的内部客户是谁。它还需要构建路线图。他表示,它需要被视为公司将投资的一个产品。

他说:“维护一个平台需要大量的努力和投入。如果你想要一个平台的影响力,如果你想经历Kurt的故事,最终获得意想不到的好运,那么你需要将其视为一个你将投资的产品。”

当他与公司谈论如何建立平台时,他会和他们讨论 平台对开发者的感受

他说:“我不会从你的代码库在哪里或者你的构建管道在哪里开始。我从这里的一个开发者第一天的感受是什么——他们必须做什么开始。”

然后他找到一个开发者,坐下来倾听他们的沮丧。

他说:“我不是来评判他们的。我像他们一样一无所知。这就是平台开始的地方。”

原则二:平台不仅仅是产品过程

他说,平台的与众不同之处在于它的影响力。他又一次提到了一个历史人物,法国画家Christophe Plantin。Plantin搬到比利时安特卫普,在16世纪下半叶在那里建立了世界上最大的印刷厂。

Miles说:“他发明了大众市场出版和印刷。他创造了可以分发书籍的市场。当时欧洲只有2-5%的人能读书,其中大部分人除了神学争论什么都不读。所以,当他还没有大众市场可供应用时,他就在创造一个大众市场平台,但他相信会有一个。”

当然,并非所有发明都是平台。印刷机本身并不是一个平台。Plantin的工作之所以是一个平台,是因为他吸收了当时所有的创新,对其进行了整理,然后以一种能够被大量人消费的方式创建和打包了成果。

他说:“他的意图是赚钱。听起来耳熟吗?没有人会在不认为有受众的情况下真正创建一个平台。Plantin为欧洲潜在的数千名识字者,最终是数百万人创造了平台。这是他的信念。但这个平台产生了意想不到的影响,令人惊喜的影响。伟大的平台应该让你惊讶于人们如何使用它们,而这正是Plantin的工作所发生的事情。”

在此过程中,Plantin成功地接触到了两个特殊的14岁男孩。

他说:“这两个年轻男孩都将受益于Plantin正在创建的平台。这两个男孩是Galileo和Shakespeare,他们都14岁,都即将开启改变所有人观念的人生,一个在科学领域,一个在英语领域,如果没有Plantin所创造的一切,他们都无法完成任何工作。这就是平台的本质。”

伟大的平台应该让你惊讶于人们如何使用它们,就像Plantin的作品一样。他认为,工程师们常常固执于将平台视为产品的观念,但产品本身并不重要。

他说:“这就是平台应该有的样子。我们正在努力创造拐点。”

原则三:培养平台的宜居性

Miles 的这条准则来自Richard P. Gabriel的《软件模式》。为了解释,他将创建平台比作在餐馆里创建厨房。

他说:“在你维护一个平台之前,你通常会看到每个人都出去采购自己的食材,烹饪自己的晚餐,一切都是定制的,没有人能从中获得任何好处,因为人们只是在使用设施。”

他补充说,创建平台就像为他们建造一个厨房。

他说:“有那些想吃饭的人,我们会给他们菜单,我们会给他们产品界面、API,我们会尽我们所能让他们继续购买和食用食物。然后,平台工程师将在幕后确保我们提供他们吃过的最好的菜单和最好的食物。”

他补充说,重要的是要记住:这是一个厨房,而不是一座大教堂。

他说:“我通常鼓励组织完全在开源中创建内部平台,任何人都可以考虑为此做出贡献,因为我不想让人们无法看到它是如何运作的。我只是想让他们足够信任它,从而依赖它的功能。有时,对于工程师来说,这种信任意味着我需要看到巫师的幕后,所以不要阻止他们。”

倾听开发者的需求也很重要。他警告说,成功的唯一途径是认识到你不是他们正在做的事情的专家。

Miles警告说:“建好了他们也不会来。他们会来的唯一原因是如果他们能在其中看到自己,看到他们的工作从中受益。”