开发人员一般不喜欢Prod,他们不擅长Prod-他们喜欢破坏东西和构建新东西。
我会一直坚持这一点。你可以让那些更担心将功能搬出去的人,或者让这个功能是否会破坏PROD。
但是,随着系统变得越来越复杂,就像今天的系统所做的那样,开发人员不可能将复杂性保持在他们的工作集中,所以您添加了护栏、代码审查、自动化、代码覆盖等。在这个范围的尽头,有额外的支持团队来处理除了围绕代码的程序之外存在的复杂性和问题。
没有一个开发人员,我不在乎他们有多好,对运行今天规模庞大的基础设施所带来的所有复杂性感到惊讶。您有数据库工程师,无论是关系数据库还是缓存、网络以及生产环境中涉及的所有其他内容。说开发人员在任何情况下都可以抛出一些东西来刺激,这是过于简单化了复杂的问题。
期望每个开发人员都知道如何处理与所有这些团队和系统的合作是不能正确利用这些员工的。您添加了一些人,他们的工作是确保prod是健康的,然后devs的工作是将该功能去掉。当人们确切地知道自己的工作是什么时,他们就会做得很好。
对于绝大多数从未达到规模的应用程序来说,你不必担心那些系统和大问题--你只需竖起一些基本的护栏,然后推动推动,没有问题。