5月19日,2019.
我在6月12日以光速演讲,2019年Stripe如何投资于技术基础设施金沙手机客户端,这篇文章概述了演讲的内容。我对这次谈话很兴奋,因为它整合了我之前写过的很多观点,我发现它一直都很有用!这不是成绩单,这次演讲将更多地以具体的例子为基础,而不是大纲。
我是威尔·拉尔森,今天我要和大家谈谈投资技术基础设施,金沙手机客户端特别是关于Stripe如何改进了我们投资技术基础设施的方法。金沙手机客户端这里的想法代表了我们在组织上学到的很多东西,就我个人而言,在基础设施工程团队中确定优先级并执行计划。
如果这是对的,你会带着三四个有用的工具离开,和你的团队一起计划和优先级。
简单介绍一下我的背景知识:
我们今天要讲的,在大约五分钟的时间里,是:
好了,让我们开始吧!
在过去的工作,我偶尔会遇到一些看“基础设施”的人就像“我的团队不想做的任何事情”,但这是一个令人惊讶的流动性定义。让我们做得更好。
技术基础设施是我们用来创建的软件和系统,金沙手机客户端发展和经营我们的业务。这次演讲更精确的定义是,“许多团队用于关键工作负载的工具。”
技术基础设施的一些例子包括:金沙手机客户端
正如你所看到的,我们正在研究一个广义的定义。
这种基础设施是完成真正杠杆化工作的难得机会。如果你的构建速度快5分钟,每天做一百个建筑,这样你就节省了8个小时的时间,可以用来做一些更有用的事情。
基础设施建设不善的后果同样深刻。如果你构建了不可靠的软件,您的用户将无法利用您所构建的内容。您和您的同行将花费您的时间来减轻和纠正事件,而不是构建用户会喜欢的东西。
当然,我的观点受到我的经历的影响,但我坚信在每一个成功的背后,scale公司是一个优秀的基础设施团队,他们在做着了不起的事情。否则,企业根本无法在规模上取得成功。
在我们讨论如何投资和发展之前,对于我们来说,有一个关于我们被要求做的工作类型的共享词汇表是很有帮助的。每家公司都有自己的委婉说法,像“KTLO”,“研究”,“原型”,“技术债务”,“批判”“最重要的”,等等。
一旦我们掌握了这些词汇,我们将开始讨论Stripe的基础设施团队多年来遇到的具体挑战和限制,以及我们如何适应和克服每一个问题。
第一个重要的区别是强迫和可自由支配工作。强迫工作是必须发生的事情,可能是由一个关键的发射驱动,一个company-defining用户,一个安全漏洞,性能下降,等。可自由支配工作更加开放,这是一种你可以从所有可能性中选择的工作:新产品,重写,引入新技术,等。
第二个区别是短期和长期工作。短期本周可能需要修补所有服务器,以防出现新的安全漏洞。长期可能是构建自动化和工具来降低计算实例的p99年龄,这将使将来部署补丁更快更安全。
当我们把这些想法结合起来的时候,事情就变得很有趣了。
现在我们有了这个网格,工作存在于两个连续体中。你可能会说这些组合并不存在,但我确定他们都有它们都很常见:
您可以将每个项目绘制到这个网格中的某个位置,你可以也在网格中绘制团队。为了策划一个团队,你只要把团队项目的所有向量加起来。
这就引出了一个有趣的问题,你在哪里想要您的团队或组织要在这个网格中吗?
很多人都是这样的团队最初我认为他们想加入。然而,完全缺乏强迫和短期工作通常意味着很少甚至没有人使用您的软件,或者这些用户和开发人员之间的反馈循环是完全缺失的。
你经常在被描述为“研究团队”的团队中看到这种情况。
这是另一个常见的例子,通常是资源不足的团队,从一个火堆跳到另一个火堆,努力稳定今天,梦想在遥远的明天有所创新。
没有多少人想加入这些团队,但有时人们会后悔离开他们,因为这些团队对他们的工作有独特的优先级和领导欣赏。
这就是我认为的团队应该努力生存。你需要一些强迫的工作,因为这意味着人们在用你的系统做一些重要的事情。另一方面,你也想要一些自由支配的工作,以确保你投资于复利技术优势随着时间的推移。
好了,所以我们有一个心理模型,现在我们可以开始讨论Stripe的基础设施方法的演变。
基础设施工程的一个重要方面,通常区别于产品工程,工作的百分比就是这么简单吗必须做的事情。最常见的情况是,当一个公司经历了多次停机,如Twitter的失败鲸时代。
我确信Twitter上的大多数人并不想致力于稳定,但它已经到了不能优先考虑其他事情的地步。
在我们的框架,这是一支被强迫控制的球队短期工作,它有很多不同的名字,消防是一个受欢迎的。
重点:
例子说:
相关文章:
一旦你的团队完全从火灾中撤离,你有一个新问题:你可以做任何事情!把它描述成一个问题似乎是错误的,但我的经验是,当大多数基础设施团队从紧急情况下产生的非常明确的重点转变为从被强迫的暴政中解脱出来的令人压抑的广泛机会时,他们确实在挣扎。短期工作。
的确,我认为,大多数基础设施团队在长期运营中花费的时间很少,当他们遇到挫折时,他们可以自行决定。这些绊倒常常使它们回到温暖的地方,充满清晰的消防地狱。
如果你意识到了这种转变,你可以有意识地管理它,这是事情变得非常有趣的时候!你必须有意识地去做。
重点:
发现。当你有多余的工程能力时,人们往往有一大堆他们想做的事情,许多团队会立即投入其中,但我认为,与这种本能作斗争,退后一步,进行深思熟虑的发现是有益的。
撒一张很宽的网,不要过滤掉看起来不好的想法,捕捉尽可能多的想法。一些有用的技术:用户调查,咖啡聊天,用户组讨论,sla,达成一致同行公司聊天、学术和行业研究。
如果没有人吵着要你尝试构建的东西——如果其他团队不因为你不能很快交付而感到沮丧——那么很有可能你正在解决错误的问题。
优先级。你必须对问题进行排序。我更喜欢按投资回报排序,但是有很多选择。为了理解长期的ROI,你真的需要两件事:清楚地了解你的用户需要什么,以及你的团队希望完成的长期目标(也许三年左右)。
如果你在没有用户声音的情况下进行优先排序,你的优先顺序错了。
验证。一旦你选择了要着手解决的问题,你应该经过一个深思熟虑的阶段,试图反驳你的方法。你想找出最难的问题第一个,然后你可以用最少的投资来调整你的方法。晚发现问题很重要。更糟。
这里为用户提供的一些技术是:嵌入用户团队/公司,建筑原型,首先解决最难的用户(不像有些人那样容易),有清晰的成功标准,并经常检查。
一些随机题外话与这个话题有关:
例子:
相关文章:
所以我们已经有了一个清晰的框架来让消防队伍撤离,帮助团队成功并保持创新模式的框架,所以理论上一切都应该很好。
但是,通常不会。
可能这是突然出现的一个明显但被忽略的可伸缩性问题。或者谁没有听说过一家或另一家公司在截止日期前放弃一切来履行其gpr义务?在这两种情况下,我发现长期来看,强迫工作没有资源,变成了意想不到的短期雪崩,被迫工作。
我们采用了一种我称之为“基础设施五项原则”的方法帮助我们以一种结构化的方式思考这些问题。
重点:
例子:
相关文章:
到目前为止,我们已经讨论了相当多的内容!消防,创新,基线,等等。如果你和一个团队或一个较小的组织工作,然后,这可能足以指导您的基础架构团队在接下来的一两年中工作。
然而,当你负责与几十个基础设施团队协调一个组织时,事情变得相当复杂,这就是我们在去年年底面临的问题。
挑战就是接受所有这些想法,找到一种方法为不同的团队提供有用的指导,这就解释了为什么有些团队将会处于创新模式,其他消防,以及其他中间的地方。
我们将要讨论的是Stripe的基础工程团队是如何代表Stripe的大约600名工程师进行我们的计划的,该团队由大约200名工程师组成。
重点:
相关文章:
好吧,让我们回顾一下我们讨论过的内容。
没有一种投资基础设施的方法可以一直为你所用。识别一个有效的方法取决于识别你当前的约束条件,然后对它们进行适当的解释。虽然没有人能解决这个问题,但是有很多好的模式可以重用:
像任何好策略,真正困难的部分是培养诚实的自我意识,认清自己的现状。一旦你了解了自己的处境,设计一个解决方案只需要彻底的思考,严格学习要求,并继续完善课程。