经过 5 年的任期后, Kellan Elliott-McCrea 离开了 Etsy 。过去的 4 年,Elliott-McCrea 是 Etsy 的首席技术官,在那之前,他是工程部的副总裁。在过去的 5 年内,软件产品和工程团队都经历了翻天覆地的变革。这篇文章宣布着他的离职,同时,Elliott-McCrea 在文中详细阐述了指导他完成那些变革的五个理论。
早在2009 年, Etsy 作为一个大型的手工艺成品在线市场平台,正在奋力向外扩展。但是,Etsy 网站的可靠性比它应该表现的要糟糕的多,其原因主要跟它的架构有关,该架构起源于 DevOps 之前的文化。开发人员,DBAs 和系统管理人员都专注于他们自己的筒仓。由此而引发的部署既大型又罕见。并且开发人员无法接触产品。这就是 DevOps 之前的时代——第一场 DevOpsDays 会议于 2009 年在 Ghent 举行——所以在当时,这就是开发和运营 web 网站最常见的方式。
当 Elliott-McCrea 加入时,变革就已经悄无声息地酝酿着了,所以这也给他提供了一个测试他的理论的机会。
理论 1:我们对软件开发的“一无所知”,应该被认为是一种事实。
构建软件是一个团队努力工作的成果,但是软件开发的大部分工具、流程和思维模式通常是个人开发者完成的。
理论 2:技术是构建它的文化的产物。
文化是构建一切事物的基础。文化允许你以一种松散耦合的方式进行伸缩。并且,文化是你如何行动,而不是如何谈论。
文化并不意味着单一。正如 Elliott-McCrea 所说:“五年前,现实情况表明,更好的软件通常是由那种多元性的团队完成的,这种团队是由彼此互相关心的一类人组成,但是这跟该行业的自我形象却是对立的。”
理论 3:软件开发应该被看作是不断学习和提升的循环,而不是从开始到结束的过程,或者是对正确性的搜寻。
Etsy 每天要进行数十次的部署,这样有利于他们从中学习和提升。有趣的是,Elliott-McCrea 说,“成熟是你懂得什么时候该做出权衡,什么时候不该。”
理论 4:你可以通过全球范围内的优化而不是本地优化建立学习的文化。
通过共享的信念、工具和思维模式,使整个团队同时提升。依赖一些摇滚明星式的程序员,既不是高生产力的最佳解决方案,也不如整体提升一样令人满意。
理论 5:如果你想进行长期的构建,唯一的保证是改变。
你当前的答案要么目前就是错误的,要么很快就会被证明是错误的。所以团队必须不断的提问,假设理论并测试直到找出新的答案。
工程团队变化最明显的方面是,它如何向世界展示自己。这种开放的文化带来了许多开源工具。其中有一些相当出名,比如 StatsD ,一个指标聚合器, Logster ,从日志文件中生成指标。Etsy 的展示也成为世界各地许多会议共同的特征, 在展示中,它的工程师从技术和文化方面论及了软件工程的方方面面。Etsy 每半个月,也会在 Brooklyn 的实验室主持嘉宾演讲。
评论